Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ACNet-AI/MetaSpec
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.9.6
Choose a base ref
...
head repository: ACNet-AI/MetaSpec
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.9.7
Choose a head ref
  • 4 commits
  • 9 files changed
  • 1 contributor

Commits on Nov 22, 2025

  1. refactor: Simplify slash_commands to array format for clarity

    ## Changes
    
    Simplified slash_commands metadata format from detailed TOML tables to simple array:
    
    ### Before (Verbose)
    ```toml
    [[tool.metaspec.slash_commands]]
    name = "show-spec"
    description = "Display specification"
    source = "generic"
    
    [[tool.metaspec.slash_commands]]
    name = "get-template"
    description = "Get template"
    source = "generic"
    ```
    
    ### After (Concise)
    ```toml
    sd_type = "generic"
    slash_commands = ["show-spec", "get-template"]
    ```
    
    ## Rationale
    
    1. **Consistency**: Matches cli_commands format
    2. **Simplicity**: 50+ lines → ~10 lines
    3. **Maintainability**: Easier to scan and update
    4. **Sufficient**: Detailed info available in command files
    
    ## Updated Files
    
    **Templates**:
    - pyproject.toml.j2: Generate simplified format
      * Support custom sd_type detection (e.g., "sdm")
      * Output slash_commands as array
    
    **Documentation**:
    - metaspec-metadata-examples.md: All 5 examples updated
      * Example 4: Marketing → SDM system (custom SD-X)
      * All use array format
    - implement.md.j2: 4 scenario examples updated
      * Added Scenario 3: SDM example
    
    ## Benefits
    
    - ✅ Easier to read and maintain
    - ✅ Consistent with CLI commands format
    - ✅ 80% less boilerplate
    - ✅ Supports custom SD-X systems (like SDM)
    NeilJo-GY committed Nov 22, 2025
    Configuration menu
    Copy the full SHA
    7be1944 View commit details
    Browse the repository at this point in the history
  2. refactor: Standardize SD-X naming convention - replace 'generic' with…

    … 'custom'
    
    ## Motivation
    
    Enforce consistent SD-X naming pattern: `sd<domain>` where domain is 1-3 letter abbreviation
    
    **Problem**: `"generic"` doesn't follow SD-X pattern (missing 'sd' prefix)
    
    ## Changes
    
    ### Terminology Update
    - ❌ Before: `sd_type = "generic"` (inconsistent)
    - ✅ After: `sd_type = "custom"` (clearer meaning)
    
    ### SD-X Naming Convention
    
    **Standard SD-X Systems** (follow pattern):
    - `sds` - **S**pec-**D**riven **S**pecification
    - `sdd` - **S**pec-**D**riven **D**evelopment
    - `sdm` - **S**pec-**D**riven **M**arketing
    - `sdt` - **S**pec-**D**riven **T**esting
    - `sdo` - **S**pec-**D**riven **O**perations
    
    **Non-SD-X**:
    - `custom` - Custom commands (not following SD-X workflow pattern)
    - `none` - No slash commands
    
    ### Updated Files
    
    **Templates**:
    - `pyproject.toml.j2`: Change detection from "generic" → "custom"
    - `implement.md.j2`: Update guidance and examples
    - `README.md`: Update source mapping documentation
    - `library/*/README.md`: Update source references
    
    **Documentation**:
    - `metaspec-metadata-examples.md`:
      * Update field descriptions
      * Update all 5 examples
      * Update detection logic table
      * Update use case code samples
    
    ## Benefits
    
    1. ✅ **Consistent**: All SD-X systems follow `sd<domain>` pattern
    2. ✅ **Extensible**: Clear path for new SD-X systems (sdt, sdo, etc.)
    3. ✅ **Semantic**: "custom" better describes non-SD-X commands
    4. ✅ **Discoverable**: Easy to identify SD-X vs custom systems
    
    ## Migration
    
    For existing speckits using `"generic"`:
    - Change `source: "generic"` → `source: "custom"`
    - Change `sd_type = "generic"` → `sd_type = "custom"`
    - No functional changes, pure terminology update
    NeilJo-GY committed Nov 22, 2025
    Configuration menu
    Copy the full SHA
    8b2baea View commit details
    Browse the repository at this point in the history
  3. feat: Add precision-guided navigation for long slash commands

    ## Motivation
    
    Generated speckit commands can exceed 500-1000 lines (e.g., marketing-spec-kit has 4 commands >800 lines), consuming excessive tokens when AI reads them.
    
    ## Solution
    
    Add guidance in `implement.md.j2` for AI to generate navigation tables for long commands (>500 lines).
    
    ## Changes
    
    ### Added Section: "3. Optimize Long Slash Commands"
    
    **Location**: After pyproject.toml guidance (lines 433-508, 75 lines)
    
    **Content**:
    1. **When**: Commands exceed 500 lines
    2. **Why**: Save 70-90% token consumption
    3. **How**: Add navigation guide at file start
    4. **Template**: Complete navigation template with:
       - Section breakdown (4-6 sections, 100-300 lines each)
       - Line numbers and read_file usage
       - Token savings calculation
       - Typical usage patterns
    5. **Guidelines**:
       - Threshold: 500 lines
       - Token estimate: ~3.5 tokens/line
       - Section design principles
    6. **Example**: 847-line command breakdown
    
    ### Updated Navigation Table
    
    **File size**: 1084 → 1158 lines (+74 lines)
    
    **Main table**:
    - Section 7: 275-464 (189) → 275-525 (251 lines) +62
    - Section 8-10: 465-556 → 526-617 +61
    - Section 11-13: 557-681 → 618-742 +61
    - Section 14-15: 682-808 → 743-869 +61
    - Section 16: 809-1096 → 870-1158 +61
    
    **Section 7 subsections**:
    - Python: 306-446 (141) → 306-508 (203 lines)
      * Now includes: command navigation guidance (74 lines)
    
    **Phase-specific**:
    - Added: Command Navigation (433-508, 75 lines)
    - Updated all phase line numbers
    
    **Token savings**:
    - Full file: ~3800 → ~4050 tokens
    - Command navigation: 75 lines (~260 tokens) → **94% savings**
    
    ## Benefits
    
    1. ✅ **Token optimization**: 70-90% savings for long commands
    2. ✅ **Consistency**: Matches MetaSpec's own command style
    3. ✅ **Best practice**: Guides AI to follow precision navigation pattern
    4. ✅ **Scalability**: Works for any domain (SDM, SDT, SDO, etc.)
    
    ## Example Use Cases
    
    - marketing-spec-kit: 4 commands >800 lines need navigation
    - Future speckits with complex workflows
    - Any SD-X system with detailed command guidance
    NeilJo-GY committed Nov 22, 2025
    Configuration menu
    Copy the full SHA
    38928fe View commit details
    Browse the repository at this point in the history
  4. chore: Release v0.9.7

    ## Version Updates
    
    - src/metaspec/__init__.py: 0.9.6 → 0.9.7
    - pyproject.toml: 0.9.6 → 0.9.7
    - CHANGELOG.md: Move Unreleased to [0.9.7] - 2025-11-22
    
    ## Release Summary
    
    **v0.9.7 - Metadata & Navigation Enhancements**
    
    Three major improvements:
    
    1. **Simplified slash_commands Format** (refactor)
       - Array format instead of TOML tables
       - 80% less boilerplate
       - Consistent with cli_commands style
    
    2. **Standardized SD-X Naming** (refactor)
       - "generic" → "custom" for non-SD-X
       - Enforced sd<domain> pattern
       - Clear SD-X vs custom distinction
    
    3. **Long Command Navigation** (feat)
       - Guidance for commands >500 lines
       - 70-90% token savings
       - Template + examples + guidelines
    
    Benefits:
    - ✅ Consistent metadata format
    - ✅ Clear system classification
    - ✅ Massive token savings
    - ✅ Best practices automated
    
    Commits:
    - 7be1944: Simplify slash_commands format
    - 8b2baea: Standardize SD-X naming
    - 38928fe: Add navigation guidance
    NeilJo-GY committed Nov 22, 2025
    Configuration menu
    Copy the full SHA
    d5bb793 View commit details
    Browse the repository at this point in the history
Loading