Skip to content

Conversation

@hcnimi
Copy link

@hcnimi hcnimi commented Nov 16, 2025

No description provided.

[email protected] and others added 30 commits September 20, 2025 13:22
…s/spec-kit

         - Add install_claude_commands() function to copy command templates
         - Integrate Claude command installation into init workflow
         - Add tracker step for command installation progress
         - Update next steps message to inform users of installed commands
         - Only install commands when --ai claude is selected
         - Support configurable repo owner/name/branch for template downloads
- Fixed package configuration to include templates/ directory in wheel
- Updated install_claude_commands function to find templates in multiple locations
- Added MANIFEST.in for better template file inclusion
- Bumped version to 0.0.4

This resolves the 'templates/commands not found' error when running
uvx --from git+https://github.com/hcnimi/spec-kit.git@prps-spec specify init --here --ai claude
         Update release script to install Claude commands to .claude/commands/spec-kit
         instead of .claude/commands for better organization
         - Add transform_branch_structure() to detect and fix raw branch downloads
         - Move memory/, scripts/, templates/ to .specify/ directory structure
         - Filter scripts by variant (sh/ps) and remove unused variants
         - Generate AI-specific commands from templates/commands/*.md files
         - Apply transformation automatically after branch extraction
         - Ensure consistent folder pattern regardless of download source
         Prevent overwriting user documentation in specs/ when running
         install command with --here flag. Framework files are still
         updated while preserving custom documentation.
…dation

         Update regex patterns in bash and PowerShell scripts to allow lowercase
         ticket prefixes (e.g., proxy-929) instead of requiring uppercase only.
         Also make setup-plan.sh executable.
Add deep analysis prompts to strategic decision points in:
- /specify command Phase 1 research
- /plan command execution flow steps 2-3
- /review command context engineering section
- /debug command root cause analysis

Enhances reasoning quality at critical architectural and debugging decisions.
…jects

- Add --force flag to init command (only usable with --here)
- Force overwrites existing directories/files instead of merging
- Enhanced user warnings for force operations
- Preserves specs folder unless template doesn't contain it
- Enables updating projects with fresh template versions from releases

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
  - Change from 001-... to JIRA-123-feature-name.md pattern
  - Updated create-new-feature.sh for flat file structure
  - Updated common.sh get_feature_paths() function
  - All spec-related files now use JIRA key prefix
         Create new constitution.md command template for interactive constitution
         management with placeholder handling, version control, and dependency
         propagation features.
         The main change is converting the JIRA issue key format from uppercase (PROJ-123) to lowercase
         (proj-123) throughout all documentation, templates, and scripts. This affects:

         - Documentation files (README.md, quickstart.md)
         - Script functionality for branch naming and file structure
         - Template examples and command outputs
         - PowerShell and bash script consistency

         The changes also include improvements to the init.sh script with better constitution.md
         preservation handling and more flexible copy operations.
         Introduces /decompose command to break large features (>500 LOC) into
         atomic capabilities (200-500 LOC each), enabling:

         - Atomic PRs instead of massive monolithic PRs
         - Parallel development across independent capabilities
         - Faster code reviews (1-2 days vs 7+ days)
         - TDD at manageable scope (RED-GREEN-REFACTOR within 500 LOC)

         Changes:
         - Add decompose-template.md for capability breakdown structure
         - Add capability-spec-template.md for scoped specifications
         - Add /decompose command and supporting scripts (bash/PowerShell)
         - Modify /plan to support --capability flag for scoped planning
         - Add LOC budget tracking (200-500 LOC targets) to plan/tasks templates
         - Update create-new-feature.sh with --capability mode
         - Document workflows in README.md and spec-driven.md
  Completes integration of decompose functionality (from commit 5d8e32b) into
  constitutional framework. Article VIII establishes:
  - 200-500 LOC per capability/PR targets
  - /decompose workflow for >500 LOC features
  - Justification requirements for exceptions
  - Benefits: faster reviews, manageable TDD, parallel development

  Updated constitution_update_checklist.md with Article VIII guidance and
  sync status reflecting 2025-10-05 decompose changes.
         - Add --capability flag to setup-plan.sh/ps1 to create separate branches per capability
         - Update /plan command to create branch username/jira-123.feature-cap-001 for each
         capability
         - Document atomic PR workflow: cap-XXX → main (200-500 LOC per PR)
         - Update templates to reflect branch-per-capability model
         - Enable parallel development with fast review cycles (1-2 days vs 7+ days)

         Problem: Previous implementation created ONE branch for ALL capabilities,
         resulting in massive PRs (1500+ LOC) defeating atomic PR goals.

         Solution: Each capability now gets dedicated branch from parent, enabling:
         - True atomic PRs (200-500 LOC each)
         - Independent merges to main
         - Team parallelization across capabilities
         - Add --capability flag to setup-plan.sh/ps1 to create separate branches
         per capability
         - Update /plan command to create branch username/jira-123.feature-cap-001
         for each capability
         - Fix critical bug: /plan command now passes {ARGS} to script (was missing,
          causing branch creation to fail)
         - Document atomic PR workflow: cap-XXX → main (200-500 LOC per PR)
         - Update templates to reflect branch-per-capability model
         - Enable parallel development with fast review cycles (1-2 days vs 7+ days)

         Problem: Previous implementation created ONE branch for ALL capabilities,
         resulting in massive PRs (1500+ LOC) defeating atomic PR goals.

         Solution: Each capability now gets dedicated branch from parent, enabling:
         - True atomic PRs (200-500 LOC each)
         - Independent merges to main
         - Team parallelization across capabilities

         Bugfix: The /plan command's YAML frontmatter wasn't passing user arguments
         to setup-plan.sh, preventing capability branch creation entirely.
         - Add capability branch detection to bash/PowerShell scripts
         - Implement check-task-prerequisites scripts for /tasks command
         - Update /implement to use capability-aware paths
         - Document atomic PR workflow in README-WORKFLOW-GUIDE.md
         - Add decompose workflow to docs/quickstart.md

         Enables /tasks and /implement commands to automatically detect
         capability branches (username/jira-123.feature-cap-001) and work
         with capability subdirectories for atomic PRs (200-500 LOC each)?
         Update regex patterns in common.sh to match capability IDs with optional
         letter suffix (e.g., cap-002a). Fixes issue where /plan created sibling
         directories instead of subdirectories for capabilities with letter suffixes.
         Fixes path duplication bug causing .specify/.specify/ errors when
         running /implement command. Template paths should be relative (scripts/,
         memory/) to allow init.sh substitution to add .specify/ prefix for
         initialized projects while working directly in spec-kit repo.
…own generation commands

- Add UTF-8 encoding directive to /specify command (spec.md generation)
- Add UTF-8 encoding to /plan template (research.md, data-model.md, quickstart.md, contracts)
- Add UTF-8 encoding to /tasks command (tasks.md generation)
- Add UTF-8 encoding to /decompose command (capabilities.md and capability specs)
- Add UTF-8 encoding to /product-vision command (product-vision.md generation)
- Add UTF-8 encoding to /constitution command (constitution.md updates)

Fixes inconsistent encoding issues across platforms by explicitly instructing
Claude Code to use UTF-8 when writing all generated markdown files.
         - Move all AI assistant commands to spec-kit/ subfolders to prevent overwriting user's custom
         commands
         - Update Gemini, Copilot, and Cursor to match Claude's subfolder isolation pattern
         - Increase default search depth from 2 to 3 for multi-repo mode
         - Add documentation comment explaining subfolder protection strategy
[email protected] and others added 29 commits October 21, 2025 08:21
…quirements

         - Change ideal LOC from 400-1000 range to ~1000 (800-1200 acceptable)
         - Update implementation target from 200-500 to 400-600 LOC
         - Update test target from 200-500 to 400-600 LOC
         - Add minimum test-to-implementation ratio requirement (≥0.8:1, ideal ≥1:1)
         - Replace separate impl/test limits with unified total + ratio validation
         - Update all templates and command docs for consistency (9 files)

         Promotes better test coverage with 1:1 ratio while maintaining
         manageable capability sizes for atomic PRs and fast reviews.
         Automatically detect GitHub host per repository and enforce Jira key
         requirements accordingly. Enables mixed workspaces with conditional
         Jira policies based on GitHub host (github.marqeta.com vs github.com).

         Changes:
         - Auto-detect GitHub host during workspace initialization
         - Add github_host and require_jira fields to workspace.yml
         - Strip Jira keys for convention matching (proj-123.backend-api → backend-)
         - Prompt for Jira key when targeting repos that require it
         - Add comprehensive documentation and examples
         - Support enterprise GitHub hosts (github.{company}.com)

         Implementation:
         - workspace-discovery.sh: GitHub host detection and Jira requirement logic
         - create-new-feature.sh: Per-repo Jira key validation in workspace mode
         - multi-repo-workspaces.md: New section on GitHub host conventions
         - example-workspace.yml: Mixed GitHub host example configuration
         - specify.md: Command template updates with Jira key examples
Add adaptive depth system to spec-kit with three modes:
- Quick mode (<200 LOC): minimal spec for bug fixes
- Lightweight mode (200-800 LOC): compact spec for simple features
- Full mode (800+ LOC): comprehensive spec (existing default)

Changes:
- Add mode detection to /specify command with AI-guided questions
- Create spec-template-quick.md for minimal specifications
- Create spec-template-lightweight.md for compact specifications
- Create plan-template-lightweight.md for essential planning
- Add template selection logic to create-new-feature.sh based on --mode flag
- Add Change History section to spec-template.md for delta tracking
- Create /archive command to move completed features to archive/
- Update README-WORKFLOW-GUIDE.md with adaptive workflow documentation

Preserves all existing functionality:
- All 12 slash commands work unchanged without flags
- Workspace mode fully compatible
- Capability mode fully compatible
- Jira integration unchanged
- Atomic PR workflow unchanged
- Backward compatible (opt-in via flags)

Benefits:
- 80% of OpenSpec benefits without integration complexity
- Single mental model with progressive disclosure
- Reduces token consumption for simple changes
- Beginner-friendly guided mode selection
- Fast path for bug fixes and small features
Surgically removes workspace functionality while preserving:
- feat(adaptive): OpenSpec workflows
- docs(templates): LOC limit updates
- fix: relative path issue (bash scripts in src/specify_cli/)

Deleted files:
- docs/MULTI_REPO_IMPLEMENTATION.md
- docs/multi-repo-workspaces.md
- docs/multi-repo-testing.md
- docs/multi-repo-modes-comparison.md
- docs/example-workspace.yml
- scripts/bash/workspace-discovery.sh
- scripts/bash/init-workspace.sh
- src/specify_cli/scripts/bash/workspace-discovery.sh
- src/specify_cli/scripts/bash/init-workspace.sh

Reverted changes in:
- Python CLI: removed --workspace and --auto-init flags
- Bash scripts: removed workspace mode detection and handling
- Templates: removed workspace metadata sections
- Move installation.md and quickstart.md to docs/getting-started/
- Create getting-started/README.md with navigation
- Add comprehensive first-spec.md walkthrough tutorial
- Establish first section of new Divio documentation structure
- Add guides/README.md with decision tree and patterns
- Create simple-features.md for quick mode (<200 LOC)
- Create complex-features.md for substantial features (800-1000 LOC)
- Create atomic-prs.md for large features as multiple PRs (>1000 LOC)
- Move multi-repo-workspaces.md to guides/
- Establish task-oriented Divio documentation section
- Add concepts/README.md with navigation to all concepts
- Create spec-driven-philosophy.md explaining core ideas
- Create three-tier-hierarchy.md explaining product vision, spec, and plan layers
- Create development-workflow.md explaining the three-phase process
- Create atomic-decomposition.md explaining capability breakdown
- Create architecture-evolution.md explaining version and change types
- Create phase-specification.md explaining requirements gathering
- Create phase-planning.md explaining technical planning
- Create phase-implementation.md explaining implementation validation
- Create multi-repo-architecture.md explaining multi-repo patterns
- Create brownfield-development.md explaining extending existing systems
- Create team-patterns.md explaining team-scale workflows
- Establish understanding-oriented Divio documentation section
- Add reference/README.md with navigation to all references
- Create cli-commands.md with specify CLI documentation
- Create slash-commands.md documenting /specify, /plan, /tasks, etc.
- Create templates.md documenting all available templates
- Create configuration.md explaining project structure
- Create workspace-config.md for multi-repo configuration
- Create api-contracts.md for API documentation
- Move example-workspace.yml to reference/examples/
- Establish information-oriented Divio documentation section
- Move validation docs to docs/validation/ for consistency
- Keeps quality gates and review checklists accessible
- Part of documentation reorganization into Divio structure
- Add contributing/README.md with contributor guidelines
- Move local-development.md to contributing/development-setup.md
- Move multi-repo implementation docs to contributing/architecture/
- Create architecture/README.md explaining design decisions
- Separate contributor docs from user docs
- Part of Divio documentation reorganization
- Rename ai_docs/ to .ai/ (convention for hidden AI-specific content)
- Add .ai/README.md with AI agent guidelines
- Document prompt engineering tips
- Explain context loading for AI agents
- Separate AI-specific docs from user/contributor docs
- Reorganize table of contents for Divio documentation system
- Add Getting Started, Guides, Concepts, Reference, Validation sections
- Update navigation hierarchy for new file locations
- Enable proper DocFX site generation
- Update docs homepage with Divio-based navigation
- Add quick links to common tasks
- Reference all new documentation sections
- Improve discoverability of documentation
…ture

- Update table of contents to reference new Documentation section
- Remove obsolete "Detailed process" section (now in getting-started/first-spec.md)
- Update references from spec-driven.md to new documentation paths
- Streamline README to focus on quick start and point to comprehensive docs
- Update SUPPORT.md to reference new docs directory
- Update CONTRIBUTING.md to reference docs/ instead of spec-driven.md
- Update constitution.md template to reference new doc paths
- Remove README-WORKFLOW-GUIDE.md distribution from init.sh
Remove spec-driven.md and README-WORKFLOW-GUIDE.md as their content
has been reorganized into the new documentation structure:
- spec-driven.md → docs/concepts/ and docs/guides/
- README-WORKFLOW-GUIDE.md → docs/getting-started/first-spec.md

All references have been updated in previous commits.
Remove obsolete files that have been reorganized into new structure:
- installation.md, quickstart.md → docs/getting-started/
- multi-repo-*.md → docs/guides/ and contributing/architecture/
- local-development.md → contributing/development-setup.md
- example-workspace.yml → docs/reference/examples/
Major milestone release featuring:
- OpenSpec-inspired adaptive workflows (quick/lightweight/full modes)
- Multi-repo workspace support with convention-based targeting
- Capability-based atomic PR workflow
- Breaking change: .spec-kit → .specify directory rename
- Complete documentation restructure
- Multiple bug fixes and improvements

See RELEASE_NOTES_v0.4.0.md for full details.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
BREAKING: Attribution and ownership updates
- Update LICENSE to reflect fork copyright (hcnimi) based on GitHub's original
- Update README maintainers: hcnimi maintains this fork, credit original creators
- Add comprehensive ATTRIBUTION.md documenting all project influences
- Update SUPPORT.md to clarify this is an independent fork
- Update CODE_OF_CONDUCT.md to use GitHub issues instead of [email protected]
- Update RELEASE_NOTES_v0.4.0.md with attribution section

Attribution sources:
- Original: github/spec-kit by Den Delimarsky & John Lam
- Inspiration: Wirasm/PRPs-agentic-eng (agentic engineering patterns)
- Inspiration: Fission-AI/OpenSpec (adaptive workflow modes)

Maintains MIT License while clarifying fork ownership and proper credit.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
…control

         Add comprehensive documentation addressing the gap that workspace directories
         must be git repositories for multi-repo mode. This is a critical requirement
         that was previously undocumented, leading to potential issues with untracked
         specifications.

         Changes:
         - Add 'ersion Controlling Your Workspace' section to multi-repo guide with
           setup instructions, team onboarding, and alternative patterns
         - Document industry precedents (Kubernetes KEPs, Rust RFCs, AOSP)
         - Add version control requirements to workspace config reference
         - Include best practices, CI/CD examples, and troubleshooting
         - Add conceptual explanation of workspace-as-repository pattern
         - Update installation guide with workspace version control note
         - Add pattern comparison (workspace repo vs separate specs repo vs dominant repo)

         Impact: prevents critical misunderstanding that would result in untracked specs
         Implement comprehensive git worktree support for multi-repo workspaces:
         - Auto-detect worktrees and execute git operations in correct location
         - Add idempotency to /specify command (prevents overwriting existing specs)
         - Auto-checkout existing branches instead of failing
         - Support running commands from anywhere (workspace root, repos, or worktrees)

         Key changes:
         - workspace-discovery.sh: Add worktree detection and execution path resolution
         - common.sh: Update get_repo_root() to return parent repo for worktrees
         - create-new-feature.sh: Add spec/branch existence checks and smart execution
         - Documentation: Add comprehensive worktree guide and existing spec workflows
…ples

         Update /implement workflow to reference unified python testing standard
         and provide pytest-style examples for contract, unit, and integration tests.

         Changes:
         - Add 'Testing Standards Reference' section with 5-layer explanation
         - Update test examples to pure pytest-style (functions + fixtures + assert)
         - Add test directory structure from unified standard
         - Update constitution template to reference python/testing.md

         Integrates with vibe-coding unified standard for zero-conflict TDD workflow.
         Add minimal references to new testing-quality-check skill in spec-kit templates:

         - plan-template.md: Add test quality guidance to Testing section
         - tasks-template.md: Reference skill in Phase 3.2 test creation
         - implement.md: Add skill reference in Testing Standards Reference
         - Update .gitignore for new framework artifacts

         Changes align spec-kit workflow with context-sensitive test quality standards
         without breaking existing specs or TDD workflow.
@hcnimi hcnimi requested a review from localden as a code owner November 16, 2025 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant