2.2 KiB
2.2 KiB
ADDED Requirements
Requirement: Version patch command
The system SHALL provide a command to bump the patch version, synchronize manifest.json, create a commit, and push a git tag.
Scenario: Patch version bump
- GIVEN the current version is "0.1.0"
- WHEN a developer runs
bun run version:patch - THEN the package.json version SHALL be updated to "0.1.1"
- AND the manifest.json version SHALL be updated to "0.1.1"
- AND a git commit SHALL be created with message "0.1.1" containing both files
- AND a git tag "v0.1.1" SHALL be created
- AND the commit and tag SHALL be pushed to origin
Requirement: Version minor command
The system SHALL provide a command to bump the minor version, synchronize manifest.json, create a commit, and push a git tag.
Scenario: Minor version bump
- GIVEN the current version is "0.1.5"
- WHEN a developer runs
bun run version:minor - THEN the package.json version SHALL be updated to "0.2.0"
- AND the manifest.json version SHALL be updated to "0.2.0"
- AND a git commit SHALL be created with message "0.2.0" containing both files
- AND a git tag "v0.2.0" SHALL be created
- AND the commit and tag SHALL be pushed to origin
Requirement: Version major command
The system SHALL provide a command to bump the major version, synchronize manifest.json, create a commit, and push a git tag.
Scenario: Major version bump
- GIVEN the current version is "0.5.2"
- WHEN a developer runs
bun run version:major - THEN the package.json version SHALL be updated to "1.0.0"
- AND the manifest.json version SHALL be updated to "1.0.0"
- AND a git commit SHALL be created with message "1.0.0" containing both files
- AND a git tag "v1.0.0" SHALL be created
- AND the commit and tag SHALL be pushed to origin
Requirement: Version commands require clean working directory
The version commands SHALL fail if the git working directory is not clean.
Scenario: Uncommitted changes prevent version bump
- GIVEN there are uncommitted changes in the working directory
- WHEN a developer runs any version command
- THEN the command SHALL fail with an error message
- AND no version bump, commit, or tag SHALL be created