47 lines
2.2 KiB
Markdown
47 lines
2.2 KiB
Markdown
## 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
|