Skip to content

Commit 7242662

Browse files
fix(spec): correct capitalization of "SemVer" in workflow configuration requirements
1 parent 488b3f3 commit 7242662

File tree

2 files changed

+126
-121
lines changed

2 files changed

+126
-121
lines changed

.github/prompts/implement.prompt.md

Lines changed: 125 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -83,131 +83,136 @@ $ARGUMENTS
8383
- Confirm the implementation follows the technical plan
8484
- Report final status with summary of completed work
8585
9. Update the constitution:
86-
- Read the [Constitution](../../.specify/memory/constitution.md) file.
87-
- Read the [constitution prompt](./constitution.prompt.md) for guidance on how to update the constitution.
88-
- Update the constitution file with details on what has been implemented in this PR
89-
- Document the functionality that was added or changed, remove the sections that are no longer relevant
90-
- Ensure the constitution reflects the current state of the codebase
86+
- Read the [Constitution](../../.specify/memory/constitution.md) file.
87+
- Read the [constitution prompt](./constitution.prompt.md) for guidance on how to update the constitution.
88+
- Update the constitution file with details on what has been implemented in this PR
89+
- Document the functionality that was added or changed, remove the sections that are no longer relevant
90+
- Ensure the constitution reflects the current state of the codebase
9191
10. Update the CHANGELOG:
92-
- **Locate or create CHANGELOG.md** in the repository root
93-
- **Add a new entry** for this feature/change following the Keep a Changelog format
94-
- **Structure the entry** with:
95-
* Version header (use `[Unreleased]` if version isn't determined yet)
96-
* Date (current date)
97-
* Category sections as applicable:
98-
- `### Added` - for new features
99-
- `### Changed` - for changes in existing functionality
100-
- `### Deprecated` - for soon-to-be removed features
101-
- `### Removed` - for now removed features
102-
- `### Fixed` - for any bug fixes
103-
- `### Security` - for vulnerability fixes
104-
* Write entries from the user's perspective, focusing on what changed and why it matters
105-
* Include brief usage examples where helpful
106-
* Link to the PR or issue: `[#<issue-number>]`
107-
- **Keep it concise**: Focus on user-impacting changes, not internal refactoring details
92+
- **Locate or create CHANGELOG.md** in the repository root
93+
- **Add a new entry** for this feature/change following the Keep a Changelog format
94+
- **Structure the entry** with:
95+
- Version header (use `[Unreleased]` if version isn't determined yet)
96+
- Date (current date)
97+
- Category sections as applicable:
98+
- `### Added` - for new features
99+
- `### Changed` - for changes in existing functionality
100+
- `### Deprecated` - for soon-to-be removed features
101+
- `### Removed` - for now removed features
102+
- `### Fixed` - for any bugfixes
103+
- `### Security` - for vulnerability fixes
104+
- Write entries from the user's perspective, focusing on what changed and why it matters
105+
- Include brief usage examples where helpful
106+
- Link to the PR or issue: `[#<issue-number>]`
107+
- **Keep it concise**: Focus on user-impacting changes, not internal refactoring details
108108
11. Final commit and push:
109-
- **Stage all implemented changes** including:
110-
* All source code files created or modified
111-
* Updated tasks.md with completed task markers [X]
112-
* Updated CHANGELOG.md
113-
* Updated constitution.md
114-
* Any configuration or documentation files
115-
- **Create a descriptive commit message**:
116-
* Use conventional commit format: `<type>(<scope>): <description>`
117-
* Types: feat, fix, docs, refactor, test, chore
118-
* Include reference to issue: `Fixes #<issue-number>`
119-
- **Push the branch** to remote
120-
- Verify the push completed successfully
109+
- **Stage all implemented changes** including:
110+
- All source code files created or modified
111+
- Updated tasks.md with completed task markers [X]
112+
- Updated CHANGELOG.md
113+
- Updated constitution.md
114+
- Any configuration or documentation files
115+
- **Create a descriptive commit message**:
116+
- Use conventional commit format: `<type>(<scope>): <description>`
117+
- Types: feat, fix, docs, refactor, test, chore
118+
- Include reference to issue: `Fixes #<issue-number>`
119+
- **Push the branch** to remote
120+
- Verify the push completed successfully
121121
12. Update PR description with release notes:
122-
- **Determine workflow mode and target repository**:
123-
- Check if `.fork-info.json` exists in the feature directory (same directory as spec.md)
124-
- **If exists** (fork mode):
125-
- Validate required fields: `is_fork` (true), `upstream_owner` (non-empty), `upstream_repo` (non-empty)
126-
- If validation fails, halt and instruct user: "Invalid fork configuration in `.fork-info.json`. Please run `/specify` again with complete fork information: upstream owner, upstream repo."
127-
- Use `upstream_owner/upstream_repo` for all GitHub operations
128-
- **If not exists** (local mode - default):
129-
- Use the current repository (origin) for all GitHub operations
130-
- **Determine PR operation**:
131-
- If PR already exists for this branch, UPDATE it (description, status, labels)
132-
- If no PR exists, CREATE a new one
133-
- **Target branch**: The PR must be against the default branch
134-
- **PR status**: The PR must not be draft, it should be ready for review
135-
- **Retrieve the issue title**: Get the title from the linked GitHub issue (created in `/specify`) from the target repository
136-
- **Use the same title for the PR**: Verify the PR title matches the issue title exactly. If they differ, update the PR title to match the issue.
137-
- If unable to retrieve the issue title, determine the PR type and icon based on the changes:
138-
| Type of change | Icon | Label |
139-
|-|-|-|
140-
| Docs | 📖 | Docs |
141-
| Fix | 🪲 | Fix, Patch |
142-
| Security fix | ⚠️ | Fix |
143-
| Patch | 🩹 | Patch |
144-
| Feature | 🚀 | Minor |
145-
| Breaking change | 🌟 | Major |
146-
- Fallback PR title format (if issue title unavailable): `<Icon> [Type of change]: <Short description>`
147-
- **REPLACE the entire PR description with release notes**:
148-
* **IMPORTANT**: Clear the existing PR description completely (including task list) and replace it with the release notes
149-
* This ensures the PR description is ready to be used as GitHub Release notes when merged to main
150-
* **Opening summary** (1-2 paragraphs):
151-
- Start with what was accomplished in user-focused language
152-
- Write in past tense: "Added...", "Improved...", "Fixed..."
153-
- Focus on the "why" - what problem does this solve or what capability does it enable?
154-
- Mention the user impact - who benefits and how?
155-
- At the end, add: "Fixes #<issue-number>"
156-
* **What's Changed** section:
157-
- 3-5 bullet points highlighting key changes from the user's perspective
158-
- Focus on capabilities, not implementation details
159-
- Example: "✨ Added support for custom templates" not "Created new Template class"
160-
* **Usage** section (if applicable):
161-
- Brief example showing how to use the new functionality
162-
- Keep it minimal - just enough to get started
163-
- Use code blocks for commands or code snippets
164-
* **Breaking Changes** section (if applicable):
165-
- Clear warning about what breaks
166-
- Migration guidance for users
167-
- What they need to change in their code
168-
* **Technical Notes** section (optional, for maintainers):
169-
- Brief implementation notes if relevant for reviewers
170-
- Dependencies added or updated
171-
- Architecture decisions
172-
* **Tone and style**:
173-
- Professional and concise
174-
- Avoid jargon and internal terminology
175-
- Write for the end user, not just developers
176-
- This description will be used in release notes
177-
- **Apply appropriate label(s)** based on the type of change
178-
- **Link the PR** to the associated issue
179-
- **Update `.fork-info.json`** (if it exists) with the latest PR number (if not already present)
180-
**GitHub Integration**: If GitHub tools or integrations are available (such as GitHub MCP Server or other GitHub integrations), use them to update the PR description in the target repository. If not available, provide this fallback command:
181-
```bash
182-
# Replace PR description with release notes
183-
# If fork: gh pr edit <PR-number> --repo <upstream_owner>/<upstream_repo> --body "<release-note-description>"
184-
# If local: gh pr edit <PR-number> --body "<release-note-description>"
185-
gh pr edit <PR-number> --body "<release-note-description>"
186-
```
122+
- **Determine workflow mode and target repository**:
123+
- Check if `.fork-info.json` exists in the feature directory (same directory as spec.md)
124+
- **If exists** (fork mode):
125+
- Validate required fields: `is_fork` (true), `upstream_owner` (non-empty), `upstream_repo` (non-empty)
126+
- If validation fails, halt and instruct user: "Invalid fork configuration in `.fork-info.json`. Please run `/specify` again with complete fork information: upstream owner, upstream repo."
127+
- Use `upstream_owner/upstream_repo` for all GitHub operations
128+
- **If not exists** (local mode - default):
129+
- Use the current repository (origin) for all GitHub operations
130+
- **Determine PR operation**:
131+
- If PR already exists for this branch, UPDATE it (description, status, labels)
132+
- If no PR exists, CREATE a new one
133+
- **Target branch**: The PR must be against the default branch
134+
- **PR status**: The PR must not be draft, it should be ready for review
135+
- **Retrieve the issue title**: Get the title from the linked GitHub issue (created in `/specify`) from the target repository
136+
- **Use the same title for the PR**: Verify the PR title matches the issue title exactly. If they differ, update the PR title to match the issue.
137+
- If unable to retrieve the issue title, determine the PR type and icon based on the changes:
138+
139+
| Type of change | Icon | Label |
140+
|-|-|-|
141+
| Docs | 📖 | Docs |
142+
| Fix | 🪲 | Fix, Patch |
143+
| Security fix | ⚠️ | Fix |
144+
| Patch | 🩹 | Patch |
145+
| Feature | 🚀 | Minor |
146+
| Breaking change | 🌟 | Major |
147+
148+
- Fallback PR title format (if issue title unavailable): `<Icon> [Type of change]: <Short description>`
149+
- **REPLACE the entire PR description with release notes**:
150+
- **IMPORTANT**: Clear the existing PR description completely (including task list) and replace it with the release notes
151+
- This ensures the PR description is ready to be used as GitHub Release notes when merged to main
152+
- **Opening summary** (1-2 paragraphs):
153+
- Start with what was accomplished in user-focused language
154+
- Write in past tense: "Added...", "Improved...", "Fixed..."
155+
- Focus on the "why" - what problem does this solve or what capability does it enable?
156+
- Mention the user impact - who benefits and how?
157+
- At the end, add: "Fixes #<issue-number>"
158+
- **What's Changed** section:
159+
- 3-5 bullet points highlighting key changes from the user's perspective
160+
- Focus on capabilities, not implementation details
161+
- Example: "✨ Added support for custom templates" not "Created new Template class"
162+
- **Usage** section (if applicable):
163+
- Brief example showing how to use the new functionality
164+
- Keep it minimal - just enough to get started
165+
- Use code blocks for commands or code snippets
166+
- **Breaking Changes** section (if applicable):
167+
- Clear warning about what breaks
168+
- Migration guidance for users
169+
- What they need to change in their code
170+
- **Technical Notes** section (optional, for maintainers):
171+
- Brief implementation notes if relevant for reviewers
172+
- Dependencies added or updated
173+
- Architecture decisions
174+
- **Tone and style**:
175+
- Professional and concise
176+
- Avoid jargon and internal terminology
177+
- Write for the end user, not just developers
178+
- This description will be used in release notes
179+
- **Apply appropriate label(s)** based on the type of change
180+
- **Link the PR** to the associated issue
181+
- **Update `.fork-info.json`** (if it exists) with the latest PR number (if not already present)
182+
**GitHub Integration**: If GitHub tools or integrations are available (such as GitHub MCP Server or other GitHub integrations), use them to update the PR description in the target repository. If not available, provide this fallback command:
183+
184+
```bash
185+
# Replace PR description with release notes
186+
# If fork: gh pr edit <PR-number> --repo <upstream_owner>/<upstream_repo> --body "<release-note-description>"
187+
# If local: gh pr edit <PR-number> --body "<release-note-description>"
188+
gh pr edit <PR-number> --body "<release-note-description>"
189+
```
190+
187191
13. Mark PR as ready for review:
188-
- **Determine target repository** (same logic as step 12):
189-
- Check if `.fork-info.json` exists in the feature directory
190-
- If it exists and validated, use `upstream_owner/upstream_repo`
191-
- If it doesn't exist, use the current repository (origin)
192-
- **Remove 'Implementing' label** from the linked issue and the PR in the target repository
193-
- **Mark PR as ready for review** (no longer draft)
194-
- **After updates**: Ensure `.fork-info.json` (if it exists) has both issue and PR numbers stored
195-
**GitHub Integration**: If GitHub tools are available, update labels and PR status automatically in the target repository. If not available, use:
196-
```bash
197-
# Mark PR as ready for review
198-
# If fork: gh pr ready <PR-number> --repo <upstream_owner>/<upstream_repo>
199-
# If local: gh pr ready <PR-number>
200-
gh pr ready <PR-number>
192+
- **Determine target repository** (same logic as step 12):
193+
- Check if `.fork-info.json` exists in the feature directory
194+
- If it exists and validated, use `upstream_owner/upstream_repo`
195+
- If it doesn't exist, use the current repository (origin)
196+
- **Remove 'Implementing' label** from the linked issue and the PR in the target repository
197+
- **Mark PR as ready for review** (no longer draft)
198+
- **After updates**: Ensure `.fork-info.json` (if it exists) has both issue and PR numbers stored
199+
**GitHub Integration**: If GitHub tools are available, update labels and PR status automatically in the target repository. If not available, use:
200+
201+
```bash
202+
# Mark PR as ready for review
203+
# If fork: gh pr ready <PR-number> --repo <upstream_owner>/<upstream_repo>
204+
# If local: gh pr ready <PR-number>
205+
gh pr ready <PR-number>
201206

202-
# Remove Implementing label from issue
203-
# If fork: gh issue edit <issue-number> --repo <upstream_owner>/<upstream_repo> --remove-label "Implementing"
204-
# If local: gh issue edit <issue-number> --remove-label "Implementing"
205-
gh issue edit <issue-number> --remove-label "Implementing"
207+
# Remove Implementing label from issue
208+
# If fork: gh issue edit <issue-number> --repo <upstream_owner>/<upstream_repo> --remove-label "Implementing"
209+
# If local: gh issue edit <issue-number> --remove-label "Implementing"
210+
gh issue edit <issue-number> --remove-label "Implementing"
206211

207-
# Remove Implementing label from PR
208-
# If fork: gh pr edit <PR-number> --repo <upstream_owner>/<upstream_repo> --remove-label "Implementing"
209-
# If local: gh pr edit <PR-number> --remove-label "Implementing"
210-
gh pr edit <PR-number> --remove-label "Implementing"
211-
```
212+
# Remove Implementing label from PR
213+
# If fork: gh pr edit <PR-number> --repo <upstream_owner>/<upstream_repo> --remove-label "Implementing"
214+
# If local: gh pr edit <PR-number> --remove-label "Implementing"
215+
gh pr edit <PR-number> --remove-label "Implementing"
216+
```
212217

213218
Note: This command assumes a complete task breakdown exists in tasks.md. If tasks are incomplete or missing, suggest running `/tasks` first to regenerate the task list.

specs/001-unified-workflow-config/spec.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ I need a single workflow configuration file that intelligently handles both cont
7676
| **GitHub Actions Runtime** | Must execute within GitHub Actions environment using existing runner configurations |
7777
| **Backward Compatibility** | Must support all features currently provided by separate CI.yml and workflow.yml files |
7878
| **PowerShell Gallery API** | Must authenticate and publish using existing API key management approach |
79-
| **Semantic Versioning** | Must follow semver conventions for version bumping (major.minor.patch) |
79+
| **Semantic Versioning** | Must follow SemVer conventions for version bumping (major.minor.patch) |
8080
| **Existing Composite Actions** | Must continue using PSModule/GitHub-Script@v1 and PSModule/Install-PSModuleHelpers@v1 |
8181

8282
### Key Entities *(include if feature involves data)*

0 commit comments

Comments
 (0)