/** * SF-Commit Command Template * * Template for committing changes with SpecForge ticket metadata. */ export declare const SF_COMMIT_CONTENT = "# Commit Changes (SpecForge)\n\nCreate a git commit with SpecForge ticket metadata.\n\n## Arguments\n- `$ARGUMENTS` - Optional: Ticket ID (uses context if not provided)\n\n## Task\n\n### 1. Get Ticket Context\n\n**MCP Calls:**\n```typescript\nif ($ARGUMENTS) {\n get_ticket({ ticketId: $ARGUMENTS })\n} else {\n // Read active ticket from .specforge.json or find active ticket\n const config = readFile('.specforge.json')\n const specificationId = config.activeSpecification?.id\n // Find the currently active ticket\n list_tickets({ specificationId, status: [\"active\"] })\n // Use the active ticket\n get_ticket({ ticketId: activeTicket.id })\n}\n```\n\n### 2. Generate Commit Message\n\n**Logic:**\n- Format: `feat(scope): description (TICKET-ID)`\n- Extract scope from epic\n- Use ticket title as description\n- Add ticket ID reference\n\n### 3. Create Commit\n\n**Shell:**\n```bash\ngit add .\ngit commit -m \"{type}({scope}): {description} ({ticketId})\"\n```\n\n### 4. Update Ticket Status\n\n**MCP Calls:**\n```typescript\ncomplete_work_session({\n ticketId: ticket.id\n})\n```\n\n### 5. Display Commit Result\n\n**Output:**\n```\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\nCOMMIT CREATED\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\nTicket: E{n}-T{m}\nMessage: {commitMessage}\nHash: {commitHash}\n\nTICKET COMPLETED\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\u2713 E{n}-T{m} marked as done\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n\nNext: Run /sf-next for the next ticket\n```\n\n## Notes\n- Automatically completes the work session\n- Uses conventional commit format\n- Includes ticket ID for traceability\n"; //# sourceMappingURL=sf-commit.d.ts.map