diff --git a/.gitattributes b/.gitattributes index 94f480de..6313b56c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1 @@ -* text=auto eol=lf \ No newline at end of file +* text=auto eol=lf diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 27fe556c..efb95fc0 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,2 +1,3 @@ # Global code owner * @localden + diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 92e81a5e..b2811b43 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -65,3 +65,4 @@ jobs: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 + diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0bede837..9ad20874 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -57,3 +57,4 @@ jobs: run: | chmod +x .github/workflows/scripts/update-version.sh .github/workflows/scripts/update-version.sh ${{ steps.get_tag.outputs.new_version }} + diff --git a/.github/workflows/scripts/check-release-exists.sh b/.github/workflows/scripts/check-release-exists.sh index 161bf208..88ef174f 100644 --- a/.github/workflows/scripts/check-release-exists.sh +++ b/.github/workflows/scripts/check-release-exists.sh @@ -18,4 +18,4 @@ if gh release view "$VERSION" >/dev/null 2>&1; then else echo "exists=false" >> $GITHUB_OUTPUT echo "Release $VERSION does not exist, proceeding..." -fi \ No newline at end of file +fi diff --git a/.github/workflows/scripts/create-github-release.sh b/.github/workflows/scripts/create-github-release.sh index f67ee3df..1125f510 100644 --- a/.github/workflows/scripts/create-github-release.sh +++ b/.github/workflows/scripts/create-github-release.sh @@ -43,4 +43,4 @@ gh release create "$VERSION" \ .genreleases/spec-kit-template-q-sh-"$VERSION".zip \ .genreleases/spec-kit-template-q-ps-"$VERSION".zip \ --title "Spec Kit Templates - $VERSION_NO_V" \ - --notes-file release_notes.md \ No newline at end of file + --notes-file release_notes.md diff --git a/.github/workflows/scripts/create-release-packages.sh b/.github/workflows/scripts/create-release-packages.sh index 3e7211ec..5462a14f 100644 --- a/.github/workflows/scripts/create-release-packages.sh +++ b/.github/workflows/scripts/create-release-packages.sh @@ -237,3 +237,4 @@ done echo "Archives in $GENRELEASES_DIR:" ls -1 "$GENRELEASES_DIR"/spec-kit-template-*-"${NEW_VERSION}".zip + diff --git a/.github/workflows/scripts/generate-release-notes.sh b/.github/workflows/scripts/generate-release-notes.sh index a26d16b8..eba2340b 100644 --- a/.github/workflows/scripts/generate-release-notes.sh +++ b/.github/workflows/scripts/generate-release-notes.sh @@ -33,4 +33,4 @@ This is the latest set of releases that you can use with your agent of choice. W EOF echo "Generated release notes:" -cat release_notes.md \ No newline at end of file +cat release_notes.md diff --git a/.github/workflows/scripts/get-next-version.sh b/.github/workflows/scripts/get-next-version.sh index 2be0b6cf..9770b9fd 100644 --- a/.github/workflows/scripts/get-next-version.sh +++ b/.github/workflows/scripts/get-next-version.sh @@ -21,4 +21,4 @@ PATCH=$((PATCH + 1)) NEW_VERSION="v$MAJOR.$MINOR.$PATCH" echo "new_version=$NEW_VERSION" >> $GITHUB_OUTPUT -echo "New version will be: $NEW_VERSION" \ No newline at end of file +echo "New version will be: $NEW_VERSION" diff --git a/.github/workflows/scripts/update-version.sh b/.github/workflows/scripts/update-version.sh index b0dc0e67..12bd9cd1 100644 --- a/.github/workflows/scripts/update-version.sh +++ b/.github/workflows/scripts/update-version.sh @@ -20,4 +20,4 @@ if [ -f "pyproject.toml" ]; then echo "Updated pyproject.toml version to $PYTHON_VERSION (for release artifacts only)" else echo "Warning: pyproject.toml not found, skipping version update" -fi \ No newline at end of file +fi diff --git a/.gitignore b/.gitignore index 42a1fbbf..94bed859 100644 --- a/.gitignore +++ b/.gitignore @@ -42,4 +42,4 @@ env/ # Spec Kit-specific files .genreleases/ *.zip -sdd-*/ \ No newline at end of file +sdd-*/ diff --git a/AGENTS.md b/AGENTS.md index 3a29e253..52d3d3a0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -326,3 +326,4 @@ When adding new agents: --- *This documentation should be updated whenever new agents are added to maintain accuracy and completeness.* + diff --git a/CHANGELOG.md b/CHANGELOG.md index bb47e365..3ca2ee00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -166,3 +166,4 @@ N/A ### Changed N/A + diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index a1f82f0d..6dc4b121 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -71,4 +71,4 @@ This Code of Conduct is adapted from the [Contributor Covenant][homepage], versi available at [http://contributor-covenant.org/version/1/4][version] [homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ \ No newline at end of file +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b5488c80..947480d0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -108,3 +108,4 @@ Please be respectful to maintainers and disclose AI assistance. - [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/) - [Using Pull Requests](https://help.github.com/articles/about-pull-requests/) - [GitHub Help](https://help.github.com) + diff --git a/LICENSE b/LICENSE index 28a50fa2..a0eb787a 100644 --- a/LICENSE +++ b/LICENSE @@ -19,3 +19,4 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/README.md b/README.md index 60e9e6ca..8f54afa9 100644 --- a/README.md +++ b/README.md @@ -623,3 +623,4 @@ This project is heavily influenced by and based on the work and research of [Joh ## 📄 License This project is licensed under the terms of the MIT open source license. Please refer to the [LICENSE](./LICENSE) file for the full terms. + diff --git a/SECURITY.md b/SECURITY.md index 4279c87f..67a9cbf2 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -28,4 +28,4 @@ This information will help us triage your report more quickly. ## Policy -See [GitHub's Safe Harbor Policy](https://docs.github.com/en/site-policy/security-policies/github-bug-bounty-program-legal-safe-harbor#1-safe-harbor-terms) \ No newline at end of file +See [GitHub's Safe Harbor Policy](https://docs.github.com/en/site-policy/security-policies/github-bug-bounty-program-legal-safe-harbor#1-safe-harbor-terms) diff --git a/SUPPORT.md b/SUPPORT.md index 791d0104..c75ce9bd 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -17,3 +17,4 @@ For help or questions about using this project, please: ## GitHub Support Policy Support for this project is limited to the resources listed above. + diff --git a/docs/.gitignore b/docs/.gitignore index 614670d9..68fec76e 100644 --- a/docs/.gitignore +++ b/docs/.gitignore @@ -6,3 +6,4 @@ obj/ # Temporary files *.tmp *.log + diff --git a/docs/README.md b/docs/README.md index 5501adf0..7a155cfa 100644 --- a/docs/README.md +++ b/docs/README.md @@ -31,3 +31,4 @@ To build the documentation locally: ## Deployment Documentation is automatically built and deployed to GitHub Pages when changes are pushed to the `main` branch. The workflow is defined in `.github/workflows/docs.yml`. + diff --git a/docs/docfx.json b/docs/docfx.json index c59dedbe..dca3f0f5 100644 --- a/docs/docfx.json +++ b/docs/docfx.json @@ -68,3 +68,4 @@ } } } + diff --git a/docs/index.md b/docs/index.md index 9a10e7ca..e134404e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -60,3 +60,4 @@ Please see our [Contributing Guide](https://github.com/github/spec-kit/blob/main ## Support For support, please check our [Support Guide](https://github.com/github/spec-kit/blob/main/SUPPORT.md) or open an issue on GitHub. + diff --git a/docs/installation.md b/docs/installation.md index ec3c2896..e7a33700 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -86,3 +86,4 @@ git config --global credential.helper manager echo "Cleaning up..." rm gcm-linux_amd64.2.6.1.deb ``` + diff --git a/docs/local-development.md b/docs/local-development.md index 58f174be..bed67b3d 100644 --- a/docs/local-development.md +++ b/docs/local-development.md @@ -166,3 +166,4 @@ rm -rf .venv dist build *.egg-info - Open a PR when satisfied - (Optional) Tag a release once changes land in `main` + diff --git a/docs/quickstart.md b/docs/quickstart.md index 06d6e04c..0ad5f6e3 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -120,3 +120,4 @@ implement specs/002-create-taskify/plan.md - Read the complete methodology for in-depth guidance - Check out more examples in the repository - Explore the source code on GitHub + diff --git a/docs/toc.yml b/docs/toc.yml index ecabd185..082bb8c8 100644 --- a/docs/toc.yml +++ b/docs/toc.yml @@ -15,3 +15,4 @@ items: - name: Local Development href: local-development.md + diff --git a/media/bootstrap-claude-code.gif b/media/bootstrap-claude-code.gif index ba3a7e98..bf845175 100644 Binary files a/media/bootstrap-claude-code.gif and b/media/bootstrap-claude-code.gif differ diff --git a/media/logo_large.webp b/media/logo_large.webp index 209e3dee..ce095f72 100644 Binary files a/media/logo_large.webp and b/media/logo_large.webp differ diff --git a/media/logo_small.webp b/media/logo_small.webp index 95b5efc3..e256f4ed 100644 Binary files a/media/logo_small.webp and b/media/logo_small.webp differ diff --git a/media/spec-kit-video-header.jpg b/media/spec-kit-video-header.jpg index 783eee9c..9a7fa84f 100644 Binary files a/media/spec-kit-video-header.jpg and b/media/spec-kit-video-header.jpg differ diff --git a/media/specify_cli.gif b/media/specify_cli.gif index 70aae2d6..555baa9b 100644 Binary files a/media/specify_cli.gif and b/media/specify_cli.gif differ diff --git a/memory/constitution.md b/memory/constitution.md index 1ed8d77a..a4670ff4 100644 --- a/memory/constitution.md +++ b/memory/constitution.md @@ -47,4 +47,4 @@ **Version**: [CONSTITUTION_VERSION] | **Ratified**: [RATIFICATION_DATE] | **Last Amended**: [LAST_AMENDED_DATE] - \ No newline at end of file + diff --git a/pyproject.toml b/pyproject.toml index 7626dc87..567d48cd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,3 +21,4 @@ build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/specify_cli"] + diff --git a/scripts/bash/check-prerequisites.sh b/scripts/bash/check-prerequisites.sh index 354f3f11..54f32ec3 100644 --- a/scripts/bash/check-prerequisites.sh +++ b/scripts/bash/check-prerequisites.sh @@ -163,4 +163,4 @@ else if $INCLUDE_TASKS; then check_file "$TASKS" "tasks.md" fi -fi \ No newline at end of file +fi diff --git a/scripts/bash/common.sh b/scripts/bash/common.sh index 34e5d4bb..eeac07d4 100644 --- a/scripts/bash/common.sh +++ b/scripts/bash/common.sh @@ -111,3 +111,4 @@ EOF check_file() { [[ -f "$1" ]] && echo " ✓ $2" || echo " ✗ $2"; } check_dir() { [[ -d "$1" && -n $(ls -A "$1" 2>/dev/null) ]] && echo " ✓ $2" || echo " ✗ $2"; } + diff --git a/scripts/bash/create-new-feature.sh b/scripts/bash/create-new-feature.sh index 574e9152..da7e6791 100644 --- a/scripts/bash/create-new-feature.sh +++ b/scripts/bash/create-new-feature.sh @@ -194,3 +194,4 @@ else echo "FEATURE_NUM: $FEATURE_NUM" echo "SPECIFY_FEATURE environment variable set to: $BRANCH_NAME" fi + diff --git a/scripts/bash/setup-plan.sh b/scripts/bash/setup-plan.sh index 654ba50d..740a1438 100644 --- a/scripts/bash/setup-plan.sh +++ b/scripts/bash/setup-plan.sh @@ -58,3 +58,4 @@ else echo "BRANCH: $CURRENT_BRANCH" echo "HAS_GIT: $HAS_GIT" fi + diff --git a/scripts/bash/update-agent-context.sh b/scripts/bash/update-agent-context.sh index 18e36a13..36ba5ad2 100644 --- a/scripts/bash/update-agent-context.sh +++ b/scripts/bash/update-agent-context.sh @@ -736,3 +736,4 @@ main() { if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then main "$@" fi + diff --git a/scripts/powershell/check-prerequisites.ps1 b/scripts/powershell/check-prerequisites.ps1 index d8ccd1d5..91667e9e 100644 --- a/scripts/powershell/check-prerequisites.ps1 +++ b/scripts/powershell/check-prerequisites.ps1 @@ -145,4 +145,4 @@ if ($Json) { if ($IncludeTasks) { Test-FileExists -Path $paths.TASKS -Description 'tasks.md' | Out-Null } -} \ No newline at end of file +} diff --git a/scripts/powershell/common.ps1 b/scripts/powershell/common.ps1 index c8e34b26..b0be2735 100644 --- a/scripts/powershell/common.ps1 +++ b/scripts/powershell/common.ps1 @@ -134,3 +134,4 @@ function Test-DirHasFiles { return $false } } + diff --git a/scripts/powershell/create-new-feature.ps1 b/scripts/powershell/create-new-feature.ps1 index 3f77c9c4..83e286ac 100644 --- a/scripts/powershell/create-new-feature.ps1 +++ b/scripts/powershell/create-new-feature.ps1 @@ -207,3 +207,4 @@ if ($Json) { Write-Output "HAS_GIT: $hasGit" Write-Output "SPECIFY_FEATURE environment variable set to: $branchName" } + diff --git a/scripts/powershell/setup-plan.ps1 b/scripts/powershell/setup-plan.ps1 index d0ed582f..db6e9f2d 100644 --- a/scripts/powershell/setup-plan.ps1 +++ b/scripts/powershell/setup-plan.ps1 @@ -59,3 +59,4 @@ if ($Json) { Write-Output "BRANCH: $($paths.CURRENT_BRANCH)" Write-Output "HAS_GIT: $($paths.HAS_GIT)" } + diff --git a/scripts/powershell/update-agent-context.ps1 b/scripts/powershell/update-agent-context.ps1 index bd57db87..aff39b45 100644 --- a/scripts/powershell/update-agent-context.ps1 +++ b/scripts/powershell/update-agent-context.ps1 @@ -434,3 +434,4 @@ function Main { } Main + diff --git a/spec-driven.md b/spec-driven.md index 0e546ff3..13edc9e3 100644 --- a/spec-driven.md +++ b/spec-driven.md @@ -401,3 +401,4 @@ By embedding these principles into the specification and planning process, SDD e This isn't about replacing developers or automating creativity. It's about amplifying human capability by automating mechanical translation. It's about creating a tight feedback loop where specifications, research, and code evolve together, each iteration bringing deeper understanding and better alignment between intent and implementation. Software development needs better tools for maintaining alignment between intent and implementation. SDD provides the methodology for achieving this alignment through executable specifications that generate code rather than merely guiding it. + diff --git a/src/specify_cli/__init__.py b/src/specify_cli/__init__.py index 57af082c..65a9f8d4 100644 --- a/src/specify_cli/__init__.py +++ b/src/specify_cli/__init__.py @@ -1123,3 +1123,4 @@ def main(): if __name__ == "__main__": main() + diff --git a/templates/agent-file-template.md b/templates/agent-file-template.md index 2301e0ea..f7349979 100644 --- a/templates/agent-file-template.md +++ b/templates/agent-file-template.md @@ -20,4 +20,4 @@ Auto-generated from all feature plans. Last updated: [DATE] [LAST 3 FEATURES AND WHAT THEY ADDED] - \ No newline at end of file + diff --git a/templates/checklist-template.md b/templates/checklist-template.md index 806657da..1c8b11a1 100644 --- a/templates/checklist-template.md +++ b/templates/checklist-template.md @@ -38,3 +38,4 @@ - Add comments or findings inline - Link to relevant resources or documentation - Items are numbered sequentially for easy reference + diff --git a/templates/commands/analyze.md b/templates/commands/analyze.md index 473339fc..82957e5e 100644 --- a/templates/commands/analyze.md +++ b/templates/commands/analyze.md @@ -185,3 +185,4 @@ Ask the user: "Would you like me to suggest concrete remediation edits for the t ## Context {ARGS} + diff --git a/templates/commands/checklist.md b/templates/commands/checklist.md index 036988d0..0900e33a 100644 --- a/templates/commands/checklist.md +++ b/templates/commands/checklist.md @@ -288,3 +288,4 @@ Sample items: - Correct: Validation of requirement quality - Wrong: "Does it do X?" - Correct: "Is X clearly specified?" + diff --git a/templates/commands/clarify.md b/templates/commands/clarify.md index 4eb8e7cd..65f2536f 100644 --- a/templates/commands/clarify.md +++ b/templates/commands/clarify.md @@ -177,3 +177,4 @@ Behavior rules: - If quota reached with unresolved high-impact categories remaining, explicitly flag them under Deferred with rationale. Context for prioritization: {ARGS} + diff --git a/templates/commands/constitution.md b/templates/commands/constitution.md index f6f8b243..dc079345 100644 --- a/templates/commands/constitution.md +++ b/templates/commands/constitution.md @@ -75,3 +75,4 @@ If the user supplies partial updates (e.g., only one principle revision), still If critical info missing (e.g., ratification date truly unknown), insert `TODO(): explanation` and include in the Sync Impact Report under deferred items. Do not create a new template; always operate on the existing `/memory/constitution.md` file. + diff --git a/templates/commands/implement.md b/templates/commands/implement.md index 60555975..6775b8af 100644 --- a/templates/commands/implement.md +++ b/templates/commands/implement.md @@ -123,3 +123,4 @@ You **MUST** consider the user input before proceeding (if not empty). - Report final status with summary of completed work 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. + diff --git a/templates/commands/plan.md b/templates/commands/plan.md index 42bb6023..2891e221 100644 --- a/templates/commands/plan.md +++ b/templates/commands/plan.md @@ -84,3 +84,4 @@ You **MUST** consider the user input before proceeding (if not empty). - Use absolute paths - ERROR on gate failures or unresolved clarifications + diff --git a/templates/commands/specify.md b/templates/commands/specify.md index 3217e87b..a75ad280 100644 --- a/templates/commands/specify.md +++ b/templates/commands/specify.md @@ -230,3 +230,4 @@ Success criteria must be: - "Database can handle 1000 TPS" (implementation detail, use user-facing metric) - "React components render efficiently" (framework-specific) - "Redis cache hit rate above 80%" (technology-specific) + diff --git a/templates/commands/tasks.md b/templates/commands/tasks.md index 05b2effe..96464009 100644 --- a/templates/commands/tasks.md +++ b/templates/commands/tasks.md @@ -130,3 +130,4 @@ Every task MUST strictly follow this format: - Each phase should be a complete, independently testable increment - **Final Phase**: Polish & Cross-Cutting Concerns + diff --git a/templates/plan-template.md b/templates/plan-template.md index 70fa8f97..43460c32 100644 --- a/templates/plan-template.md +++ b/templates/plan-template.md @@ -102,3 +102,4 @@ directories captured above] |-----------|------------|-------------------------------------| | [e.g., 4th project] | [current need] | [why 3 projects insufficient] | | [e.g., Repository pattern] | [specific problem] | [why direct DB access insufficient] | + diff --git a/templates/spec-template.md b/templates/spec-template.md index c67d9149..9a83ac68 100644 --- a/templates/spec-template.md +++ b/templates/spec-template.md @@ -113,3 +113,4 @@ - **SC-002**: [Measurable metric, e.g., "System handles 1000 concurrent users without degradation"] - **SC-003**: [User satisfaction metric, e.g., "90% of users successfully complete primary task on first attempt"] - **SC-004**: [Business metric, e.g., "Reduce support tickets related to [X] by 50%"] + diff --git a/templates/tasks-template.md b/templates/tasks-template.md index 66fdd810..eea131fd 100644 --- a/templates/tasks-template.md +++ b/templates/tasks-template.md @@ -248,3 +248,4 @@ With multiple developers: - Avoid: vague tasks, same file conflicts, cross-story dependencies that break independence + diff --git a/templates/vscode-settings.json b/templates/vscode-settings.json index 388adcec..d454aa6d 100644 --- a/templates/vscode-settings.json +++ b/templates/vscode-settings.json @@ -11,3 +11,4 @@ ".specify/scripts/powershell/": true } } +