From 0848344b13a6d900e1bef83a904e73eb1d57107e Mon Sep 17 00:00:00 2001 From: Thai Nguyen Hung Date: Wed, 10 Sep 2025 13:13:36 +0700 Subject: [PATCH 1/2] feat: add support for Auggie CLI and Augment IDE in release process --- .github/workflows/manual-release.yml | 53 +++++++++++++++++++++++----- .github/workflows/release.yml | 40 +++++++++++++++++---- README.md | 10 ++++-- docs/installation.md | 4 ++- scripts/update-agent-context.sh | 38 +++++++++++++++----- src/specify_cli/__init__.py | 45 +++++++++++++++++------ templates/plan-template.md | 9 ++--- 7 files changed, 159 insertions(+), 40 deletions(-) diff --git a/.github/workflows/manual-release.yml b/.github/workflows/manual-release.yml index 02515174ac..7a586a9112 100644 --- a/.github/workflows/manual-release.yml +++ b/.github/workflows/manual-release.yml @@ -125,21 +125,52 @@ jobs: else echo "⚠️ agent_templates/copilot folder not found" fi + + # Create Auggie CLI package + echo "Creating Auggie CLI package..." + mkdir -p sdd-auggie-package + cp -r sdd-package-base/* sdd-auggie-package/ + mkdir -p sdd-auggie-package/.augment/commands + if [ -d "agent_templates/auggie" ]; then + cp -r agent_templates/auggie/* sdd-auggie-package/.augment/commands/ + echo "✓ Added Auggie CLI commands ($(find agent_templates/auggie -type f | wc -l) files)" + else + echo "⚠️ agent_templates/auggie folder not found" + fi + echo "✓ Created Auggie CLI package" + + # Create Augment IDE package + echo "Creating Augment IDE package..." + mkdir -p sdd-augment-ide-package + cp -r sdd-package-base/* sdd-augment-ide-package/ + mkdir -p sdd-augment-ide-package/.augment/commands + if [ -d "agent_templates/augment-ide" ]; then + cp -r agent_templates/augment-ide/* sdd-augment-ide-package/.augment/commands/ + echo "✓ Added Augment IDE commands ($(find agent_templates/augment-ide -type f | wc -l) files)" + else + echo "⚠️ agent_templates/augment-ide folder not found" + fi + echo "✓ Created Augment IDE package" # Create archive files for each package echo "Creating archive files..." cd sdd-claude-package && zip -r ../spec-kit-template-claude-${{ steps.version.outputs.new_version }}.zip . && cd .. - + cd sdd-gemini-package && zip -r ../spec-kit-template-gemini-${{ steps.version.outputs.new_version }}.zip . && cd .. - + cd sdd-copilot-package && zip -r ../spec-kit-template-copilot-${{ steps.version.outputs.new_version }}.zip . && cd .. + + cd sdd-auggie-package && zip -r ../spec-kit-template-auggie-${{ steps.version.outputs.new_version }}.zip . && cd .. + + cd sdd-augment-ide-package && zip -r ../spec-kit-template-augment-ide-${{ steps.version.outputs.new_version }}.zip . && cd .. echo "" echo "📦 Packages created:" echo "Claude: $(ls -lh spec-kit-template-claude-*.zip | awk '{print $5}')" echo "Gemini: $(ls -lh spec-kit-template-gemini-*.zip | awk '{print $5}')" echo "Copilot: $(ls -lh spec-kit-template-copilot-*.zip | awk '{print $5}')" - echo "Copilot: $(ls -lh sdd-template-copilot-*.zip | awk '{print $5}')" + echo "Auggie: $(ls -lh spec-kit-template-auggie-*.zip | awk '{print $5}')" + echo "Augment IDE: $(ls -lh spec-kit-template-augment-ide-*.zip | awk '{print $5}')" - name: Generate detailed release notes run: | @@ -158,19 +189,23 @@ jobs: CLAUDE_COUNT=$(find agent_templates/claude -type f 2>/dev/null | wc -l || echo "0") GEMINI_COUNT=$(find agent_templates/gemini -type f 2>/dev/null | wc -l || echo "0") COPILOT_COUNT=$(find agent_templates/copilot -type f 2>/dev/null | wc -l || echo "0") + AUGGIE_COUNT=$(find agent_templates/auggie -type f 2>/dev/null | wc -l || echo "0") + AUGMENT_IDE_COUNT=$(find agent_templates/augment-ide -type f 2>/dev/null | wc -l || echo "0") MEMORY_COUNT=$(find memory -type f 2>/dev/null | wc -l || echo "0") SCRIPTS_COUNT=$(find scripts -type f 2>/dev/null | wc -l || echo "0") cat > release_notes.md << EOF Template release ${{ steps.version.outputs.new_version }} - - Updated specification-driven development templates for GitHub Copilot, Claude Code, and Gemini CLI. - + + Updated specification-driven development templates for GitHub Copilot, Claude Code, Gemini CLI, Auggie CLI, and Augment IDE. + Download the template for your preferred AI assistant: - spec-kit-template-copilot-${{ steps.version.outputs.new_version }}.zip - spec-kit-template-claude-${{ steps.version.outputs.new_version }}.zip - - spec-kit-template-gemini-${{ steps.version.outputs.new_version }}.zip - + - spec-kit-template-gemini-${{ steps.version.outputs.new_version }}.zip + - spec-kit-template-auggie-${{ steps.version.outputs.new_version }}.zip + - spec-kit-template-augment-ide-${{ steps.version.outputs.new_version }}.zip + Changes since $LAST_TAG: $COMMITS EOF @@ -185,6 +220,8 @@ jobs: spec-kit-template-copilot-${{ steps.version.outputs.new_version }}.zip \ spec-kit-template-claude-${{ steps.version.outputs.new_version }}.zip \ spec-kit-template-gemini-${{ steps.version.outputs.new_version }}.zip \ + spec-kit-template-auggie-${{ steps.version.outputs.new_version }}.zip \ + spec-kit-template-augment-ide-${{ steps.version.outputs.new_version }}.zip \ --title "Spec Kit Templates - $VERSION_NO_V" \ --notes-file release_notes.md env: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c1ebfbc7ab..4d11018af0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -145,13 +145,33 @@ jobs: mkdir -p sdd-copilot-package/.github/prompts generate_commands "copilot" "prompt.md" "\$ARGUMENTS" "sdd-copilot-package/.github/prompts" echo "Created GitHub Copilot package" + + # Create Auggie CLI package + echo "Creating Auggie CLI package..." + mkdir -p sdd-auggie-package + cp -r sdd-package-base/* sdd-auggie-package/ + mkdir -p sdd-auggie-package/.augment/commands + generate_commands "auggie" "md" "\$ARGUMENTS" "sdd-auggie-package/.augment/commands" + echo "✓ Created Auggie CLI package" + + # Create Augment IDE package + echo "Creating Augment IDE package..." + mkdir -p sdd-augment-ide-package + cp -r sdd-package-base/* sdd-augment-ide-package/ + mkdir -p sdd-augment-ide-package/.augment/commands + generate_commands "augment-ide" "md" "\$ARGUMENTS" "sdd-augment-ide-package/.augment/commands" + echo "✓ Created Augment IDE package" # Create archive files for each package cd sdd-claude-package && zip -r ../spec-kit-template-claude-${{ steps.get_tag.outputs.new_version }}.zip . && cd .. - + cd sdd-gemini-package && zip -r ../spec-kit-template-gemini-${{ steps.get_tag.outputs.new_version }}.zip . && cd .. - + cd sdd-copilot-package && zip -r ../spec-kit-template-copilot-${{ steps.get_tag.outputs.new_version }}.zip . && cd .. + + cd sdd-auggie-package && zip -r ../spec-kit-template-auggie-${{ steps.get_tag.outputs.new_version }}.zip . && cd .. + + cd sdd-augment-ide-package && zip -r ../spec-kit-template-augment-ide-${{ steps.get_tag.outputs.new_version }}.zip . && cd .. # List contents for verification echo "Claude package contents:" @@ -160,6 +180,10 @@ jobs: unzip -l spec-kit-template-gemini-${{ steps.get_tag.outputs.new_version }}.zip | head -10 echo "Copilot package contents:" unzip -l spec-kit-template-copilot-${{ steps.get_tag.outputs.new_version }}.zip | head -10 + echo "Auggie package contents:" + unzip -l spec-kit-template-auggie-${{ steps.get_tag.outputs.new_version }}.zip | head -10 + echo "Augment IDE package contents:" + unzip -l spec-kit-template-augment-ide-${{ steps.get_tag.outputs.new_version }}.zip | head -10 - name: Generate release notes if: steps.check_release.outputs.exists == 'false' @@ -182,13 +206,15 @@ jobs: # Create release notes cat > release_notes.md << EOF Template release ${{ steps.get_tag.outputs.new_version }} - - Updated specification-driven development templates for GitHub Copilot, Claude Code, and Gemini CLI. - + + Updated specification-driven development templates for GitHub Copilot, Claude Code, Gemini CLI, Auggie CLI, and Augment IDE. + Download the template for your preferred AI assistant: - spec-kit-template-copilot-${{ steps.get_tag.outputs.new_version }}.zip - spec-kit-template-claude-${{ steps.get_tag.outputs.new_version }}.zip - - spec-kit-template-gemini-${{ steps.get_tag.outputs.new_version }}.zip + - spec-kit-template-gemini-${{ steps.get_tag.outputs.new_version }}.zip + - spec-kit-template-auggie-${{ steps.get_tag.outputs.new_version }}.zip + - spec-kit-template-augment-ide-${{ steps.get_tag.outputs.new_version }}.zip EOF echo "Generated release notes:" @@ -205,6 +231,8 @@ jobs: spec-kit-template-copilot-${{ steps.get_tag.outputs.new_version }}.zip \ spec-kit-template-claude-${{ steps.get_tag.outputs.new_version }}.zip \ spec-kit-template-gemini-${{ steps.get_tag.outputs.new_version }}.zip \ + spec-kit-template-auggie-${{ steps.get_tag.outputs.new_version }}.zip \ + spec-kit-template-augment-ide-${{ steps.get_tag.outputs.new_version }}.zip \ --title "Spec Kit Templates - $VERSION_NO_V" \ --notes-file release_notes.md env: diff --git a/README.md b/README.md index 259539177a..1c69269d33 100644 --- a/README.md +++ b/README.md @@ -110,7 +110,7 @@ Our research and experimentation focus on: ## 🔧 Prerequisites - **Linux/macOS** (or WSL2 on Windows) -- AI coding agent: [Claude Code](https://www.anthropic.com/claude-code), [GitHub Copilot](https://code.visualstudio.com/), or [Gemini CLI](https://github.com/google-gemini/gemini-cli) +- AI coding agent: [Claude Code](https://www.anthropic.com/claude-code), [GitHub Copilot](https://code.visualstudio.com/), [Gemini CLI](https://github.com/google-gemini/gemini-cli), [Augment IDE](https://www.augmentcode.com/), or [Auggie CLI](https://www.augmentcode.com/product/CLI) - [uv](https://docs.astral.sh/uv/) for package management - [Python 3.11+](https://www.python.org/downloads/) - [Git](https://git-scm.com/downloads) @@ -147,11 +147,13 @@ You will be prompted to select the AI agent you are using. You can also proactiv specify init --ai claude specify init --ai gemini specify init --ai copilot +specify init --ai augment-ide +specify init --ai auggie # Or in current directory: specify init --here --ai claude ``` -The CLI will check if you have Claude Code or Gemini CLI installed. If you do not, or you prefer to get the templates without checking for the right tools, use `--ignore-agent-tools` with your command: +The CLI will check if you have Claude Code, Gemini CLI, or Auggie CLI installed. If you do not, or you prefer to get the templates without checking for the right tools, use `--ignore-agent-tools` with your command: ```bash specify init --ai claude --ignore-agent-tools @@ -165,6 +167,10 @@ Go to the project folder and run your AI agent. In our example, we're using `cla You will know that things are configured correctly if you see the `/specify`, `/plan`, and `/tasks` commands available. +**For Augment IDE users:** Open the project in Visual Studio Code or JetBrains with the Augment extension installed. The commands will be available in `.augment/commands/` and `.claude/commands/` directories. + +**For Auggie CLI users:** Use commands like `auggie /specify`, `auggie /plan`, and `auggie /tasks` from the terminal. Commands are available in the `.augment/commands/` directory. + The first step should be creating a new project scaffolding. Use `/specify` command and then provide the concrete requirements for the project you want to develop. >[!IMPORTANT] diff --git a/docs/installation.md b/docs/installation.md index b1cd7b0182..930d66357e 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -3,7 +3,7 @@ ## Prerequisites - **Linux/macOS** (or WSL2 on Windows) -- AI coding agent: [Claude Code](https://www.anthropic.com/claude-code), [GitHub Copilot](https://code.visualstudio.com/), or [Gemini CLI](https://github.com/google-gemini/gemini-cli) +- AI coding agent: [Claude Code](https://www.anthropic.com/claude-code), [GitHub Copilot](https://code.visualstudio.com/), [Gemini CLI](https://github.com/google-gemini/gemini-cli), [Augment IDE](https://www.augmentcode.com/), or [Auggie CLI](https://www.augmentcode.com/product/CLI) - [uv](https://docs.astral.sh/uv/) for package management - [Python 3.11+](https://www.python.org/downloads/) - [Git](https://git-scm.com/downloads) @@ -32,6 +32,8 @@ You can proactively specify your AI agent during initialization: uvx --from git+https://github.com/github/spec-kit.git specify init --ai claude uvx --from git+https://github.com/github/spec-kit.git specify init --ai gemini uvx --from git+https://github.com/github/spec-kit.git specify init --ai copilot +uvx --from git+https://github.com/github/spec-kit.git specify init --ai augment-ide +uvx --from git+https://github.com/github/spec-kit.git specify init --ai auggie ``` ### Ignore Agent Tools Check diff --git a/scripts/update-agent-context.sh b/scripts/update-agent-context.sh index 21b77aaa07..bc798d596b 100755 --- a/scripts/update-agent-context.sh +++ b/scripts/update-agent-context.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # Incrementally update agent context files based on new feature plan -# Supports: CLAUDE.md, GEMINI.md, and .github/copilot-instructions.md +# Supports: CLAUDE.md, GEMINI.md, .github/copilot-instructions.md, .augment-guidelines, and .augment/guidelines.md # O(1) operation - only reads current context file and new plan.md set -e @@ -14,6 +14,10 @@ NEW_PLAN="$FEATURE_DIR/plan.md" CLAUDE_FILE="$REPO_ROOT/CLAUDE.md" GEMINI_FILE="$REPO_ROOT/GEMINI.md" COPILOT_FILE="$REPO_ROOT/.github/copilot-instructions.md" +AUGMENT_FILE="$REPO_ROOT/.augment-guidelines" +AUGGIE_CLAUDE_FILE="$REPO_ROOT/CLAUDE.md" +AUGGIE_AGENTS_FILE="$REPO_ROOT/AGENTS.md" +AUGGIE_GUIDELINES_FILE="$REPO_ROOT/.augment/guidelines.md" # Allow override via argument AGENT_TYPE="$1" @@ -197,20 +201,36 @@ case "$AGENT_TYPE" in "copilot") update_agent_file "$COPILOT_FILE" "GitHub Copilot" ;; + "augment-ide") + update_agent_file "$AUGMENT_FILE" "Augment IDE" + ;; + "auggie") + # Auggie supports multiple files + update_agent_file "$AUGGIE_CLAUDE_FILE" "Auggie CLI (Claude compatibility)" + update_agent_file "$AUGGIE_AGENTS_FILE" "Auggie CLI (Agents)" + # Create .augment directory if it doesn't exist + mkdir -p "$(dirname "$AUGGIE_GUIDELINES_FILE")" + update_agent_file "$AUGGIE_GUIDELINES_FILE" "Auggie CLI (Guidelines)" + ;; "") # Update all existing files [ -f "$CLAUDE_FILE" ] && update_agent_file "$CLAUDE_FILE" "Claude Code" - [ -f "$GEMINI_FILE" ] && update_agent_file "$GEMINI_FILE" "Gemini CLI" + [ -f "$GEMINI_FILE" ] && update_agent_file "$GEMINI_FILE" "Gemini CLI" [ -f "$COPILOT_FILE" ] && update_agent_file "$COPILOT_FILE" "GitHub Copilot" - + [ -f "$AUGMENT_FILE" ] && update_agent_file "$AUGMENT_FILE" "Augment IDE" + # Update Auggie files if they exist + [ -f "$AUGGIE_CLAUDE_FILE" ] && update_agent_file "$AUGGIE_CLAUDE_FILE" "Auggie CLI (Claude compatibility)" + [ -f "$AUGGIE_AGENTS_FILE" ] && update_agent_file "$AUGGIE_AGENTS_FILE" "Auggie CLI (Agents)" + [ -f "$AUGGIE_GUIDELINES_FILE" ] && update_agent_file "$AUGGIE_GUIDELINES_FILE" "Auggie CLI (Guidelines)" + # If no files exist, create based on current directory or ask user - if [ ! -f "$CLAUDE_FILE" ] && [ ! -f "$GEMINI_FILE" ] && [ ! -f "$COPILOT_FILE" ]; then + if [ ! -f "$CLAUDE_FILE" ] && [ ! -f "$GEMINI_FILE" ] && [ ! -f "$COPILOT_FILE" ] && [ ! -f "$AUGMENT_FILE" ] && [ ! -f "$AUGGIE_CLAUDE_FILE" ] && [ ! -f "$AUGGIE_AGENTS_FILE" ] && [ ! -f "$AUGGIE_GUIDELINES_FILE" ]; then echo "No agent context files found. Creating Claude Code context file by default." update_agent_file "$CLAUDE_FILE" "Claude Code" fi ;; *) - echo "ERROR: Unknown agent type '$AGENT_TYPE'. Use: claude, gemini, copilot, or leave empty for all." + echo "ERROR: Unknown agent type '$AGENT_TYPE'. Use: claude, gemini, copilot, augment-ide, auggie, or leave empty for all." exit 1 ;; esac @@ -227,8 +247,10 @@ if [ ! -z "$NEW_DB" ] && [ "$NEW_DB" != "N/A" ]; then fi echo "" -echo "Usage: $0 [claude|gemini|copilot]" +echo "Usage: $0 [claude|gemini|copilot|augment-ide|auggie]" echo " - No argument: Update all existing agent context files" echo " - claude: Update only CLAUDE.md" -echo " - gemini: Update only GEMINI.md" -echo " - copilot: Update only .github/copilot-instructions.md" \ No newline at end of file +echo " - gemini: Update only GEMINI.md" +echo " - copilot: Update only .github/copilot-instructions.md" +echo " - augment-ide: Update only AUGMENT.md" +echo " - auggie: Update CLAUDE.md, AGENTS.md, and .augment/guidelines.md" diff --git a/src/specify_cli/__init__.py b/src/specify_cli/__init__.py index aa3cf3c839..6039260ae3 100644 --- a/src/specify_cli/__init__.py +++ b/src/specify_cli/__init__.py @@ -51,7 +51,9 @@ AI_CHOICES = { "copilot": "GitHub Copilot", "claude": "Claude Code", - "gemini": "Gemini CLI" + "gemini": "Gemini CLI", + "augment-ide": "Augment IDE", + "auggie": "Auggie CLI" } # ASCII Art Banner @@ -376,7 +378,7 @@ def init_git_repo(project_path: Path, quiet: bool = False) -> bool: if not quiet: console.print("[green]✓[/green] Git repository initialized") return True - + except subprocess.CalledProcessError as e: if not quiet: console.print(f"[red]Error initializing git repository:[/red] {e}") @@ -384,7 +386,6 @@ def init_git_repo(project_path: Path, quiet: bool = False) -> bool: finally: os.chdir(original_cwd) - def download_template_from_github(ai_assistant: str, download_dir: Path, *, verbose: bool = True, show_progress: bool = True): """Download the latest template release from GitHub using HTTP requests. Returns (zip_path, metadata_dict) @@ -411,7 +412,7 @@ def download_template_from_github(ai_assistant: str, download_dir: Path, *, verb asset for asset in release_data.get("assets", []) if pattern in asset["name"] and asset["name"].endswith(".zip") ] - + if not matching_assets: if verbose: console.print(f"[red]Error:[/red] No template found for AI assistant '{ai_assistant}'") @@ -492,6 +493,7 @@ def download_and_extract_template(project_path: Path, ai_assistant: str, is_curr # Step: fetch + download combined if tracker: tracker.start("fetch", "contacting GitHub API") + try: zip_path, meta = download_template_from_github( ai_assistant, @@ -638,7 +640,7 @@ def download_and_extract_template(project_path: Path, ai_assistant: str, is_curr @app.command() def init( project_name: str = typer.Argument(None, help="Name for your new project directory (optional if using --here)"), - ai_assistant: str = typer.Option(None, "--ai", help="AI assistant to use: claude, gemini, or copilot"), + ai_assistant: str = typer.Option(None, "--ai", help="AI assistant to use: claude, gemini, copilot, augment-ide, or auggie"), ignore_agent_tools: bool = typer.Option(False, "--ignore-agent-tools", help="Skip checks for AI agent tools like Claude Code"), no_git: bool = typer.Option(False, "--no-git", help="Skip git repository initialization"), here: bool = typer.Option(False, "--here", help="Initialize project in the current directory instead of creating a new one"), @@ -648,17 +650,19 @@ def init( This command will: 1. Check that required tools are installed (git is optional) - 2. Let you choose your AI assistant (Claude Code, Gemini CLI, or GitHub Copilot) + 2. Let you choose your AI assistant (Claude Code, Gemini CLI, GitHub Copilot, Augment IDE, or Auggie CLI) 3. Download the appropriate template from GitHub 4. Extract the template to a new project directory or current directory 5. Initialize a fresh git repository (if not --no-git and no existing repo) 6. Optionally set up AI assistant commands - + Examples: specify init my-project specify init my-project --ai claude specify init my-project --ai gemini specify init my-project --ai copilot --no-git + specify init my-project --ai augment-ide + specify init my-project --ai auggie specify init --ignore-agent-tools my-project specify init --here --ai claude specify init --here @@ -737,8 +741,15 @@ def init( if not check_tool("gemini", "Install from: https://github.com/google-gemini/gemini-cli"): console.print("[red]Error:[/red] Gemini CLI is required for Gemini projects") agent_tool_missing = True + elif selected_ai == "auggie": + if not check_tool("auggie", "Install with: npm install -g @augmentcode/auggie"): + console.print("[red]Error:[/red] Auggie CLI is required for Auggie CLI projects") + agent_tool_missing = True + elif selected_ai == "augment-ide": + # Augment IDE doesn't require CLI tool checking as it's IDE-based + pass # GitHub Copilot check is not needed as it's typically available in supported IDEs - + if agent_tool_missing: console.print("\n[red]Required AI tool is missing![/red]") console.print("[yellow]Tip:[/yellow] Use --ignore-agent-tools to skip this check") @@ -787,7 +798,6 @@ def init( else: tracker.skip("git", "--no-git flag") - tracker.complete("final", "project ready") except Exception as e: tracker.error("final", str(e)) if not here and project_path.exists(): @@ -823,6 +833,18 @@ def init( steps_lines.append(" - See GEMINI.md for all available commands") elif selected_ai == "copilot": steps_lines.append(f"{step_num}. Open in Visual Studio Code and use [bold cyan]/specify[/], [bold cyan]/plan[/], [bold cyan]/tasks[/] commands with GitHub Copilot") + elif selected_ai == "auggie": + steps_lines.append(f"{step_num}. Use Auggie CLI commands") + steps_lines.append(" - Run auggie /specify to create specifications") + steps_lines.append(" - Run auggie /plan to create implementation plans") + steps_lines.append(" - Run auggie /tasks to generate tasks") + steps_lines.append(" - Commands are available in .augment/commands/") + elif selected_ai == "augment-ide": + steps_lines.append(f"{step_num}. Open in Visual Studio Code or JetBrains with Augment IDE") + steps_lines.append(" - Use /specify to create specifications") + steps_lines.append(" - Use /plan to create implementation plans") + steps_lines.append(" - Use /tasks to generate tasks") + steps_lines.append(" - Commands are available in .augment/commands/ and .claude/commands/") step_num += 1 steps_lines.append(f"{step_num}. Update [bold magenta]CONSTITUTION.md[/bold magenta] with your project's non-negotiable principles") @@ -855,11 +877,12 @@ def check(): console.print("\n[cyan]Optional AI tools:[/cyan]") claude_ok = check_tool("claude", "Install from: https://docs.anthropic.com/en/docs/claude-code/setup") gemini_ok = check_tool("gemini", "Install from: https://github.com/google-gemini/gemini-cli") - + auggie_ok = check_tool("auggie", "Install with: npm install -g @augmentcode/auggie") + console.print("\n[green]✓ Specify CLI is ready to use![/green]") if not git_ok: console.print("[yellow]Consider installing git for repository management[/yellow]") - if not (claude_ok or gemini_ok): + if not (claude_ok or gemini_ok or auggie_ok): console.print("[yellow]Consider installing an AI assistant for the best experience[/yellow]") diff --git a/templates/plan-template.md b/templates/plan-template.md index f28a655d47..acb3731760 100644 --- a/templates/plan-template.md +++ b/templates/plan-template.md @@ -16,7 +16,7 @@ → Update Progress Tracking: Initial Constitution Check 4. Execute Phase 0 → research.md → If NEEDS CLARIFICATION remain: ERROR "Resolve unknowns" -5. Execute Phase 1 → contracts, data-model.md, quickstart.md, agent-specific template file (e.g., `CLAUDE.md` for Claude Code, `.github/copilot-instructions.md` for GitHub Copilot, or `GEMINI.md` for Gemini CLI). +5. Execute Phase 1 → contracts, data-model.md, quickstart.md, agent-specific template file (e.g., `CLAUDE.md` for Claude Code, `.github/copilot-instructions.md` for GitHub Copilot, `GEMINI.md` for Gemini CLI, `.augment-guidelines` for Augment IDE, or `.augment/guidelines.md` for Auggie CLI). 6. Re-evaluate Constitution Check section → If new violations: Refactor design, return to Phase 1 → Update Progress Tracking: Post-Design Constitution Check @@ -171,14 +171,15 @@ ios/ or android/ - Quickstart test = story validation steps 5. **Update agent file incrementally** (O(1) operation): - - Run `/scripts/update-agent-context.sh [claude|gemini|copilot]` for your AI assistant + - Run `/scripts/update-agent-context.sh [claude|gemini|copilot|augment-ide|auggie]` for your AI assistant - If exists: Add only NEW tech from current plan - Preserve manual additions between markers + - Note: Augment IDE/Auggie creates `.augment/guidelines.md` or `.augment/guidelines.md` instead of separate files - Update recent changes (keep last 3) - Keep under 150 lines for token efficiency - Output to repository root -**Output**: data-model.md, /contracts/*, failing tests, quickstart.md, agent-specific file +**Output**: data-model.md, /contracts/*, failing tests, quickstart.md, agent-specific file (CLAUDE.md, GEMINI.md, .github/copilot-instructions.md, .augment-guidelines or .augment/guidelines.md) ## Phase 2: Task Planning Approach *This section describes what the /tasks command will do - DO NOT execute during /plan* @@ -234,4 +235,4 @@ ios/ or android/ - [ ] Complexity deviations documented --- -*Based on Constitution v2.1.1 - See `/memory/constitution.md`* \ No newline at end of file +*Based on Constitution v2.1.1 - See `/memory/constitution.md`* From a5471eb6b6e59d9af3ff0e76f43d5109b374510e Mon Sep 17 00:00:00 2001 From: Thai Nguyen Hung Date: Wed, 10 Sep 2025 13:48:46 +0700 Subject: [PATCH 2/2] refactor: remove Augment IDE support from release and manual release workflows, update documentation accordingly --- .github/workflows/manual-release.yml | 22 ++----------------- .github/workflows/release.yml | 17 ++------------ README.md | 5 +---- docs/installation.md | 3 +-- scripts/update-agent-context.sh | 33 +++++++++++----------------- src/specify_cli/__init__.py | 15 ++----------- templates/plan-template.md | 8 +++---- 7 files changed, 25 insertions(+), 78 deletions(-) diff --git a/.github/workflows/manual-release.yml b/.github/workflows/manual-release.yml index 7a586a9112..98e30cf7f3 100644 --- a/.github/workflows/manual-release.yml +++ b/.github/workflows/manual-release.yml @@ -139,19 +139,7 @@ jobs: fi echo "✓ Created Auggie CLI package" - # Create Augment IDE package - echo "Creating Augment IDE package..." - mkdir -p sdd-augment-ide-package - cp -r sdd-package-base/* sdd-augment-ide-package/ - mkdir -p sdd-augment-ide-package/.augment/commands - if [ -d "agent_templates/augment-ide" ]; then - cp -r agent_templates/augment-ide/* sdd-augment-ide-package/.augment/commands/ - echo "✓ Added Augment IDE commands ($(find agent_templates/augment-ide -type f | wc -l) files)" - else - echo "⚠️ agent_templates/augment-ide folder not found" - fi - echo "✓ Created Augment IDE package" - + # Create archive files for each package echo "Creating archive files..." cd sdd-claude-package && zip -r ../spec-kit-template-claude-${{ steps.version.outputs.new_version }}.zip . && cd .. @@ -161,8 +149,6 @@ jobs: cd sdd-copilot-package && zip -r ../spec-kit-template-copilot-${{ steps.version.outputs.new_version }}.zip . && cd .. cd sdd-auggie-package && zip -r ../spec-kit-template-auggie-${{ steps.version.outputs.new_version }}.zip . && cd .. - - cd sdd-augment-ide-package && zip -r ../spec-kit-template-augment-ide-${{ steps.version.outputs.new_version }}.zip . && cd .. echo "" echo "📦 Packages created:" @@ -170,7 +156,6 @@ jobs: echo "Gemini: $(ls -lh spec-kit-template-gemini-*.zip | awk '{print $5}')" echo "Copilot: $(ls -lh spec-kit-template-copilot-*.zip | awk '{print $5}')" echo "Auggie: $(ls -lh spec-kit-template-auggie-*.zip | awk '{print $5}')" - echo "Augment IDE: $(ls -lh spec-kit-template-augment-ide-*.zip | awk '{print $5}')" - name: Generate detailed release notes run: | @@ -190,21 +175,19 @@ jobs: GEMINI_COUNT=$(find agent_templates/gemini -type f 2>/dev/null | wc -l || echo "0") COPILOT_COUNT=$(find agent_templates/copilot -type f 2>/dev/null | wc -l || echo "0") AUGGIE_COUNT=$(find agent_templates/auggie -type f 2>/dev/null | wc -l || echo "0") - AUGMENT_IDE_COUNT=$(find agent_templates/augment-ide -type f 2>/dev/null | wc -l || echo "0") MEMORY_COUNT=$(find memory -type f 2>/dev/null | wc -l || echo "0") SCRIPTS_COUNT=$(find scripts -type f 2>/dev/null | wc -l || echo "0") cat > release_notes.md << EOF Template release ${{ steps.version.outputs.new_version }} - Updated specification-driven development templates for GitHub Copilot, Claude Code, Gemini CLI, Auggie CLI, and Augment IDE. + Updated specification-driven development templates for GitHub Copilot, Claude Code, Gemini CLI, and Auggie CLI. Download the template for your preferred AI assistant: - spec-kit-template-copilot-${{ steps.version.outputs.new_version }}.zip - spec-kit-template-claude-${{ steps.version.outputs.new_version }}.zip - spec-kit-template-gemini-${{ steps.version.outputs.new_version }}.zip - spec-kit-template-auggie-${{ steps.version.outputs.new_version }}.zip - - spec-kit-template-augment-ide-${{ steps.version.outputs.new_version }}.zip Changes since $LAST_TAG: $COMMITS @@ -221,7 +204,6 @@ jobs: spec-kit-template-claude-${{ steps.version.outputs.new_version }}.zip \ spec-kit-template-gemini-${{ steps.version.outputs.new_version }}.zip \ spec-kit-template-auggie-${{ steps.version.outputs.new_version }}.zip \ - spec-kit-template-augment-ide-${{ steps.version.outputs.new_version }}.zip \ --title "Spec Kit Templates - $VERSION_NO_V" \ --notes-file release_notes.md env: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4d11018af0..1ff3316c51 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -154,14 +154,7 @@ jobs: generate_commands "auggie" "md" "\$ARGUMENTS" "sdd-auggie-package/.augment/commands" echo "✓ Created Auggie CLI package" - # Create Augment IDE package - echo "Creating Augment IDE package..." - mkdir -p sdd-augment-ide-package - cp -r sdd-package-base/* sdd-augment-ide-package/ - mkdir -p sdd-augment-ide-package/.augment/commands - generate_commands "augment-ide" "md" "\$ARGUMENTS" "sdd-augment-ide-package/.augment/commands" - echo "✓ Created Augment IDE package" - + # Create archive files for each package cd sdd-claude-package && zip -r ../spec-kit-template-claude-${{ steps.get_tag.outputs.new_version }}.zip . && cd .. @@ -170,8 +163,6 @@ jobs: cd sdd-copilot-package && zip -r ../spec-kit-template-copilot-${{ steps.get_tag.outputs.new_version }}.zip . && cd .. cd sdd-auggie-package && zip -r ../spec-kit-template-auggie-${{ steps.get_tag.outputs.new_version }}.zip . && cd .. - - cd sdd-augment-ide-package && zip -r ../spec-kit-template-augment-ide-${{ steps.get_tag.outputs.new_version }}.zip . && cd .. # List contents for verification echo "Claude package contents:" @@ -182,8 +173,6 @@ jobs: unzip -l spec-kit-template-copilot-${{ steps.get_tag.outputs.new_version }}.zip | head -10 echo "Auggie package contents:" unzip -l spec-kit-template-auggie-${{ steps.get_tag.outputs.new_version }}.zip | head -10 - echo "Augment IDE package contents:" - unzip -l spec-kit-template-augment-ide-${{ steps.get_tag.outputs.new_version }}.zip | head -10 - name: Generate release notes if: steps.check_release.outputs.exists == 'false' @@ -207,14 +196,13 @@ jobs: cat > release_notes.md << EOF Template release ${{ steps.get_tag.outputs.new_version }} - Updated specification-driven development templates for GitHub Copilot, Claude Code, Gemini CLI, Auggie CLI, and Augment IDE. + Updated specification-driven development templates for GitHub Copilot, Claude Code, Gemini CLI, and Auggie CLI. Download the template for your preferred AI assistant: - spec-kit-template-copilot-${{ steps.get_tag.outputs.new_version }}.zip - spec-kit-template-claude-${{ steps.get_tag.outputs.new_version }}.zip - spec-kit-template-gemini-${{ steps.get_tag.outputs.new_version }}.zip - spec-kit-template-auggie-${{ steps.get_tag.outputs.new_version }}.zip - - spec-kit-template-augment-ide-${{ steps.get_tag.outputs.new_version }}.zip EOF echo "Generated release notes:" @@ -232,7 +220,6 @@ jobs: spec-kit-template-claude-${{ steps.get_tag.outputs.new_version }}.zip \ spec-kit-template-gemini-${{ steps.get_tag.outputs.new_version }}.zip \ spec-kit-template-auggie-${{ steps.get_tag.outputs.new_version }}.zip \ - spec-kit-template-augment-ide-${{ steps.get_tag.outputs.new_version }}.zip \ --title "Spec Kit Templates - $VERSION_NO_V" \ --notes-file release_notes.md env: diff --git a/README.md b/README.md index 1c69269d33..526c32a9fe 100644 --- a/README.md +++ b/README.md @@ -110,7 +110,7 @@ Our research and experimentation focus on: ## 🔧 Prerequisites - **Linux/macOS** (or WSL2 on Windows) -- AI coding agent: [Claude Code](https://www.anthropic.com/claude-code), [GitHub Copilot](https://code.visualstudio.com/), [Gemini CLI](https://github.com/google-gemini/gemini-cli), [Augment IDE](https://www.augmentcode.com/), or [Auggie CLI](https://www.augmentcode.com/product/CLI) +- AI coding agent: [Claude Code](https://www.anthropic.com/claude-code), [GitHub Copilot](https://code.visualstudio.com/), [Gemini CLI](https://github.com/google-gemini/gemini-cli), or [Auggie CLI](https://www.augmentcode.com/product/CLI) - [uv](https://docs.astral.sh/uv/) for package management - [Python 3.11+](https://www.python.org/downloads/) - [Git](https://git-scm.com/downloads) @@ -147,7 +147,6 @@ You will be prompted to select the AI agent you are using. You can also proactiv specify init --ai claude specify init --ai gemini specify init --ai copilot -specify init --ai augment-ide specify init --ai auggie # Or in current directory: specify init --here --ai claude @@ -167,8 +166,6 @@ Go to the project folder and run your AI agent. In our example, we're using `cla You will know that things are configured correctly if you see the `/specify`, `/plan`, and `/tasks` commands available. -**For Augment IDE users:** Open the project in Visual Studio Code or JetBrains with the Augment extension installed. The commands will be available in `.augment/commands/` and `.claude/commands/` directories. - **For Auggie CLI users:** Use commands like `auggie /specify`, `auggie /plan`, and `auggie /tasks` from the terminal. Commands are available in the `.augment/commands/` directory. The first step should be creating a new project scaffolding. Use `/specify` command and then provide the concrete requirements for the project you want to develop. diff --git a/docs/installation.md b/docs/installation.md index 930d66357e..af40f6685f 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -3,7 +3,7 @@ ## Prerequisites - **Linux/macOS** (or WSL2 on Windows) -- AI coding agent: [Claude Code](https://www.anthropic.com/claude-code), [GitHub Copilot](https://code.visualstudio.com/), [Gemini CLI](https://github.com/google-gemini/gemini-cli), [Augment IDE](https://www.augmentcode.com/), or [Auggie CLI](https://www.augmentcode.com/product/CLI) +- AI coding agent: [Claude Code](https://www.anthropic.com/claude-code), [GitHub Copilot](https://code.visualstudio.com/), [Gemini CLI](https://github.com/google-gemini/gemini-cli), or [Auggie CLI](https://www.augmentcode.com/product/CLI) - [uv](https://docs.astral.sh/uv/) for package management - [Python 3.11+](https://www.python.org/downloads/) - [Git](https://git-scm.com/downloads) @@ -32,7 +32,6 @@ You can proactively specify your AI agent during initialization: uvx --from git+https://github.com/github/spec-kit.git specify init --ai claude uvx --from git+https://github.com/github/spec-kit.git specify init --ai gemini uvx --from git+https://github.com/github/spec-kit.git specify init --ai copilot -uvx --from git+https://github.com/github/spec-kit.git specify init --ai augment-ide uvx --from git+https://github.com/github/spec-kit.git specify init --ai auggie ``` diff --git a/scripts/update-agent-context.sh b/scripts/update-agent-context.sh index bc798d596b..c136efe991 100755 --- a/scripts/update-agent-context.sh +++ b/scripts/update-agent-context.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # Incrementally update agent context files based on new feature plan -# Supports: CLAUDE.md, GEMINI.md, .github/copilot-instructions.md, .augment-guidelines, and .augment/guidelines.md +# Supports: CLAUDE.md, GEMINI.md, .github/copilot-instructions.md, and .augment/guidelines.md # O(1) operation - only reads current context file and new plan.md set -e @@ -14,10 +14,8 @@ NEW_PLAN="$FEATURE_DIR/plan.md" CLAUDE_FILE="$REPO_ROOT/CLAUDE.md" GEMINI_FILE="$REPO_ROOT/GEMINI.md" COPILOT_FILE="$REPO_ROOT/.github/copilot-instructions.md" -AUGMENT_FILE="$REPO_ROOT/.augment-guidelines" -AUGGIE_CLAUDE_FILE="$REPO_ROOT/CLAUDE.md" -AUGGIE_AGENTS_FILE="$REPO_ROOT/AGENTS.md" -AUGGIE_GUIDELINES_FILE="$REPO_ROOT/.augment/guidelines.md" +AGENT_FILE="$REPO_ROOT/AGENTS.md" +AUGGIE_FILE="$REPO_ROOT/.augment/guidelines.md" # Allow override via argument AGENT_TYPE="$1" @@ -201,36 +199,32 @@ case "$AGENT_TYPE" in "copilot") update_agent_file "$COPILOT_FILE" "GitHub Copilot" ;; - "augment-ide") - update_agent_file "$AUGMENT_FILE" "Augment IDE" - ;; "auggie") # Auggie supports multiple files - update_agent_file "$AUGGIE_CLAUDE_FILE" "Auggie CLI (Claude compatibility)" - update_agent_file "$AUGGIE_AGENTS_FILE" "Auggie CLI (Agents)" + update_agent_file "$CLAUDE_FILE" "Auggie CLI (Claude compatibility)" + update_agent_file "$AGENT_FILE" "Auggie CLI (Agents)" # Create .augment directory if it doesn't exist - mkdir -p "$(dirname "$AUGGIE_GUIDELINES_FILE")" - update_agent_file "$AUGGIE_GUIDELINES_FILE" "Auggie CLI (Guidelines)" + mkdir -p "$(dirname "$AUGGIE_FILE")" + update_agent_file "$AUGGIE_FILE" "Auggie CLI (Guidelines)" ;; "") # Update all existing files [ -f "$CLAUDE_FILE" ] && update_agent_file "$CLAUDE_FILE" "Claude Code" [ -f "$GEMINI_FILE" ] && update_agent_file "$GEMINI_FILE" "Gemini CLI" [ -f "$COPILOT_FILE" ] && update_agent_file "$COPILOT_FILE" "GitHub Copilot" - [ -f "$AUGMENT_FILE" ] && update_agent_file "$AUGMENT_FILE" "Augment IDE" # Update Auggie files if they exist - [ -f "$AUGGIE_CLAUDE_FILE" ] && update_agent_file "$AUGGIE_CLAUDE_FILE" "Auggie CLI (Claude compatibility)" - [ -f "$AUGGIE_AGENTS_FILE" ] && update_agent_file "$AUGGIE_AGENTS_FILE" "Auggie CLI (Agents)" - [ -f "$AUGGIE_GUIDELINES_FILE" ] && update_agent_file "$AUGGIE_GUIDELINES_FILE" "Auggie CLI (Guidelines)" + [ -f "$CLAUDE_FILE" ] && update_agent_file "$CLAUDE_FILE" "Auggie CLI (Claude compatibility)" + [ -f "$AGENT_FILE" ] && update_agent_file "$AGENT_FILE" "Auggie CLI (Agents)" + [ -f "$AUGGIE_FILE" ] && update_agent_file "$AUGGIE_FILE" "Auggie CLI (Guidelines)" # If no files exist, create based on current directory or ask user - if [ ! -f "$CLAUDE_FILE" ] && [ ! -f "$GEMINI_FILE" ] && [ ! -f "$COPILOT_FILE" ] && [ ! -f "$AUGMENT_FILE" ] && [ ! -f "$AUGGIE_CLAUDE_FILE" ] && [ ! -f "$AUGGIE_AGENTS_FILE" ] && [ ! -f "$AUGGIE_GUIDELINES_FILE" ]; then + if [ ! -f "$CLAUDE_FILE" ] && [ ! -f "$GEMINI_FILE" ] && [ ! -f "$COPILOT_FILE" ] && [ ! -f "$CLAUDE_FILE" ] && [ ! -f "$AGENT_FILE" ] && [ ! -f "$AUGGIE_FILE" ]; then echo "No agent context files found. Creating Claude Code context file by default." update_agent_file "$CLAUDE_FILE" "Claude Code" fi ;; *) - echo "ERROR: Unknown agent type '$AGENT_TYPE'. Use: claude, gemini, copilot, augment-ide, auggie, or leave empty for all." + echo "ERROR: Unknown agent type '$AGENT_TYPE'. Use: claude, gemini, copilot, auggie, or leave empty for all." exit 1 ;; esac @@ -247,10 +241,9 @@ if [ ! -z "$NEW_DB" ] && [ "$NEW_DB" != "N/A" ]; then fi echo "" -echo "Usage: $0 [claude|gemini|copilot|augment-ide|auggie]" +echo "Usage: $0 [claude|gemini|copilot|auggie]" echo " - No argument: Update all existing agent context files" echo " - claude: Update only CLAUDE.md" echo " - gemini: Update only GEMINI.md" echo " - copilot: Update only .github/copilot-instructions.md" -echo " - augment-ide: Update only AUGMENT.md" echo " - auggie: Update CLAUDE.md, AGENTS.md, and .augment/guidelines.md" diff --git a/src/specify_cli/__init__.py b/src/specify_cli/__init__.py index 6039260ae3..a77fdb34c2 100644 --- a/src/specify_cli/__init__.py +++ b/src/specify_cli/__init__.py @@ -52,7 +52,6 @@ "copilot": "GitHub Copilot", "claude": "Claude Code", "gemini": "Gemini CLI", - "augment-ide": "Augment IDE", "auggie": "Auggie CLI" } @@ -640,7 +639,7 @@ def download_and_extract_template(project_path: Path, ai_assistant: str, is_curr @app.command() def init( project_name: str = typer.Argument(None, help="Name for your new project directory (optional if using --here)"), - ai_assistant: str = typer.Option(None, "--ai", help="AI assistant to use: claude, gemini, copilot, augment-ide, or auggie"), + ai_assistant: str = typer.Option(None, "--ai", help="AI assistant to use: claude, gemini, copilot, or auggie"), ignore_agent_tools: bool = typer.Option(False, "--ignore-agent-tools", help="Skip checks for AI agent tools like Claude Code"), no_git: bool = typer.Option(False, "--no-git", help="Skip git repository initialization"), here: bool = typer.Option(False, "--here", help="Initialize project in the current directory instead of creating a new one"), @@ -650,7 +649,7 @@ def init( This command will: 1. Check that required tools are installed (git is optional) - 2. Let you choose your AI assistant (Claude Code, Gemini CLI, GitHub Copilot, Augment IDE, or Auggie CLI) + 2. Let you choose your AI assistant (Claude Code, Gemini CLI, GitHub Copilot, or Auggie CLI) 3. Download the appropriate template from GitHub 4. Extract the template to a new project directory or current directory 5. Initialize a fresh git repository (if not --no-git and no existing repo) @@ -661,7 +660,6 @@ def init( specify init my-project --ai claude specify init my-project --ai gemini specify init my-project --ai copilot --no-git - specify init my-project --ai augment-ide specify init my-project --ai auggie specify init --ignore-agent-tools my-project specify init --here --ai claude @@ -745,9 +743,6 @@ def init( if not check_tool("auggie", "Install with: npm install -g @augmentcode/auggie"): console.print("[red]Error:[/red] Auggie CLI is required for Auggie CLI projects") agent_tool_missing = True - elif selected_ai == "augment-ide": - # Augment IDE doesn't require CLI tool checking as it's IDE-based - pass # GitHub Copilot check is not needed as it's typically available in supported IDEs if agent_tool_missing: @@ -839,12 +834,6 @@ def init( steps_lines.append(" - Run auggie /plan to create implementation plans") steps_lines.append(" - Run auggie /tasks to generate tasks") steps_lines.append(" - Commands are available in .augment/commands/") - elif selected_ai == "augment-ide": - steps_lines.append(f"{step_num}. Open in Visual Studio Code or JetBrains with Augment IDE") - steps_lines.append(" - Use /specify to create specifications") - steps_lines.append(" - Use /plan to create implementation plans") - steps_lines.append(" - Use /tasks to generate tasks") - steps_lines.append(" - Commands are available in .augment/commands/ and .claude/commands/") step_num += 1 steps_lines.append(f"{step_num}. Update [bold magenta]CONSTITUTION.md[/bold magenta] with your project's non-negotiable principles") diff --git a/templates/plan-template.md b/templates/plan-template.md index acb3731760..7de9e856ec 100644 --- a/templates/plan-template.md +++ b/templates/plan-template.md @@ -16,7 +16,7 @@ → Update Progress Tracking: Initial Constitution Check 4. Execute Phase 0 → research.md → If NEEDS CLARIFICATION remain: ERROR "Resolve unknowns" -5. Execute Phase 1 → contracts, data-model.md, quickstart.md, agent-specific template file (e.g., `CLAUDE.md` for Claude Code, `.github/copilot-instructions.md` for GitHub Copilot, `GEMINI.md` for Gemini CLI, `.augment-guidelines` for Augment IDE, or `.augment/guidelines.md` for Auggie CLI). +5. Execute Phase 1 → contracts, data-model.md, quickstart.md, agent-specific template file (e.g., `CLAUDE.md` for Claude Code, `.github/copilot-instructions.md` for GitHub Copilot, `GEMINI.md` for Gemini CLI, or `.augment/guidelines.md` for Auggie CLI). 6. Re-evaluate Constitution Check section → If new violations: Refactor design, return to Phase 1 → Update Progress Tracking: Post-Design Constitution Check @@ -171,15 +171,15 @@ ios/ or android/ - Quickstart test = story validation steps 5. **Update agent file incrementally** (O(1) operation): - - Run `/scripts/update-agent-context.sh [claude|gemini|copilot|augment-ide|auggie]` for your AI assistant + - Run `/scripts/update-agent-context.sh [claude|gemini|copilot|auggie]` for your AI assistant - If exists: Add only NEW tech from current plan - Preserve manual additions between markers - - Note: Augment IDE/Auggie creates `.augment/guidelines.md` or `.augment/guidelines.md` instead of separate files + - Note: Auggie creates `.augment/guidelines.md` instead of separate files - Update recent changes (keep last 3) - Keep under 150 lines for token efficiency - Output to repository root -**Output**: data-model.md, /contracts/*, failing tests, quickstart.md, agent-specific file (CLAUDE.md, GEMINI.md, .github/copilot-instructions.md, .augment-guidelines or .augment/guidelines.md) +**Output**: data-model.md, /contracts/*, failing tests, quickstart.md, agent-specific file (CLAUDE.md, GEMINI.md, .github/copilot-instructions.md, or .augment/guidelines.md) ## Phase 2: Task Planning Approach *This section describes what the /tasks command will do - DO NOT execute during /plan*