Download the PHP package chancegarcia/release-scribe without Composer
On this page you can find all versions of the php package chancegarcia/release-scribe. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download chancegarcia/release-scribe
More information about chancegarcia/release-scribe
Files in chancegarcia/release-scribe
Package release-scribe
Short Description ReleaseScribe: "What's new", changelog, release notes, and SemVer recommendation tool
License Apache-2.0
Homepage https://github.com/chancegarcia/release-scribe
Informations about the package release-scribe
ReleaseScribe
ReleaseScribe is a standalone tool and library for creating release communication ("What's new?", changelogs, release notes) and providing deterministic SemVer release recommendations.
ReleaseScribe owns the generation of release communication and authoritative release recommendation based on commit history. Guided release workflow orchestration is out of scope for ReleaseScribe.
Requirements
- PHP >= 8.4
- Git
Installation
Usage
The release-scribe binary provides four primary commands.
init
Initializes a changelog for your project.
- With existing tags: Generates a complete history changelog from all previous tags.
- Without tags: Generates an initial release header. Defaults to
v1.0.0.
Options:
--initial-version=<version>: (or-iv) Specify the initial version header if no tags exist (default:v1.0.0).--output-dir=<path>: Directory where the changelog file should be written.--filename=<name>: Name of the changelog file.
Example:
whats-new
Generates release notes for the current release (the "What's new?" section) by default. It replaces or creates the changelog file with these changes.
Options:
--new-tag=<tag>: Adds a section for an upcoming release and uses the provided value as that section heading.--header=<text>: Main file header in output.
Example:
changelog
Generates the full changelog history from git tags.
Example:
recommend
Recommends a SemVer release level (major, minor, or patch) based on the commits since the last tag.
[!NOTE] This command is analysis-only. It is deterministic and authoritative based on commit parsing. It does not create tags or perform a release.
How it works:
- Major: Recommended if any breaking changes are detected.
- Minor: Recommended if there are feature (
feat) commits and no breaking changes. - Patch: Recommended if there are fix (
fix), performance (perf), etc., commits. - None: Recommended if only non-release-impacting commits are found.
Example:
Configuration (optional)
Environment variables
ReleaseScribe supports .env files.
PROJECT_ROOT: the directory where the repository resides.PROJECT_NAME: The main header value.CHANGELOG_USE_CONVENTIONAL_COMMITS: Whether to use Conventional Commits parsing (default:true).OUTPUT_FILENAME: name of the Markdown file to write out (default:changelog.md).OUTPUT_DIRECTORY: path to where the Markdown file should be written.
PHP Config file
Alternatively, use config/release_scribe.php.
Example:
Future Roadmap: Phase 5 AI (post-v2)
AI-assisted release communication (e.g., summarizing commits into human-readable prose) is planned for Phase 5, after the v2.0.0 release. ReleaseScribe's deterministic parsing and recommendation remain the authoritative foundation for these future AI features. Phase 5 is not part of the v2 release.
Migration from GitToolkit
ReleaseScribe is the successor to chancegarcia/git-toolkit.
- Package:
chancegarcia/git-toolkit→chancegarcia/release-scribe - Namespace:
Chance\GitToolkit→Chance\ReleaseScribe - Binary:
toolkit→release-scribe - Commands:
toolkit:init→inittoolkit:changelog(default) →whats-newtoolkit:changelog --mode=full→changelogtoolkit:release:recommend→recommend
- Config:
config/chancegarcia_git_toolkit.php→config/release_scribe.php
No backward compatibility wrappers or aliases are provided for the old identity.
License
ReleaseScribe v2.0.0 and later is licensed under the Apache License, Version 2.0. See the LICENSE file for the full text.
Note: v1.x releases were distributed under the MIT License. The license changed as part of the v2.0.0 major release and rebrand from
git-toolkit.
Development
For our planned future direction, see docs/roadmap.md.
Coding Standards
This project follows PSR-12 and workspace-default PHP Coding Standards.
Additionally, we use slevomat/coding-standard to enforce:
- Removal of unused
usestatements. -
Cleanup of unnecessary fully qualified class names.
- Check standards:
composer cs:check - Fix standards:
composer cs:fix - Run all QA:
composer qa(includes linting, coding standards, static analysis, and tests)
Other Composer Scripts
composer test: Run PHPUnit tests.composer lint: Run parallel-lint.composer stan: Run PHPStan static analysis.
All versions of release-scribe with dependencies
symfony/console Version ^7.4 || ^8.0
czproject/git-php Version ^4.1
symfony/dotenv Version ^8.0