Skip to content

Commit 87c2a46

Browse files
committed
Enhance documentation and scripts for Spec-Driven Development
- Updated quickstart guide to clarify the new automation scripts in Bash and PowerShell, including step-by-step instructions for project initialization and specification creation. - Revised upgrade documentation to improve clarity on handling existing directories and agent setup. - Refactored Bash and PowerShell scripts for creating new features to streamline branch number retrieval and improve error handling. - Added support for new agents (Qoder CLI and IBM Bob) in context update scripts and CLI initialization. - Improved checklist and requirement templates to ensure clarity and completeness in specifications. - Enhanced agent configuration to include new agents with appropriate metadata. - Added cautionary notes in task-to-issues template to prevent issues creation in incorrect repositories.
2 parents f3c011b + 9111699 commit 87c2a46

16 files changed

Lines changed: 298 additions & 220 deletions

.github/workflows/scripts/create-github-release.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ TAG_PREFIX="agentic-sdlc-v"
1919
VERSION_NO_V=${VERSION#v}
2020

2121
ASSETS=()
22-
AGENTS=(copilot claude gemini cursor-agent opencode qwen windsurf codex kilocode auggie roo codebuddy amp shai q)
22+
AGENTS=(copilot claude gemini cursor-agent opencode qwen windsurf codex kilocode auggie roo codebuddy qoder amp shai q bob)
2323
SCRIPTS=(sh ps)
2424

2525
for agent in "${AGENTS[@]}"; do

.github/workflows/scripts/create-release-packages.ps1

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
1515
.PARAMETER Agents
1616
Comma or space separated subset of agents to build (default: all)
17-
Valid agents: claude, gemini, copilot, cursor-agent, qwen, opencode, windsurf, codex, kilocode, auggie, roo, codebuddy, amp, q
17+
Valid agents: claude, gemini, copilot, cursor-agent, qwen, opencode, windsurf, codex, kilocode, auggie, roo, codebuddy, amp, q, bob, qoder
1818
1919
.PARAMETER Scripts
2020
Comma or space separated subset of script types to build (default: both)
@@ -339,6 +339,14 @@ function Build-Variant {
339339
$cmdDir = Join-Path $baseDir ".amazonq/prompts"
340340
Generate-Commands -Agent 'q' -Extension 'md' -ArgFormat '$ARGUMENTS' -OutputDir $cmdDir -ScriptVariant $Script
341341
}
342+
'bob' {
343+
$cmdDir = Join-Path $baseDir ".bob/commands"
344+
Generate-Commands -Agent 'bob' -Extension 'md' -ArgFormat '$ARGUMENTS' -OutputDir $cmdDir -ScriptVariant $Script
345+
}
346+
'qoder' {
347+
$cmdDir = Join-Path $baseDir ".qoder/commands"
348+
Generate-Commands -Agent 'qoder' -Extension 'md' -ArgFormat '$ARGUMENTS' -OutputDir $cmdDir -ScriptVariant $Script
349+
}
342350
}
343351

344352
# Create zip archive
@@ -348,7 +356,7 @@ function Build-Variant {
348356
}
349357

350358
# Define all agents and scripts
351-
$AllAgents = @('claude', 'gemini', 'copilot', 'cursor-agent', 'qwen', 'opencode', 'windsurf', 'codex', 'kilocode', 'auggie', 'roo', 'codebuddy', 'amp', 'q')
359+
$AllAgents = @('claude', 'gemini', 'copilot', 'cursor-agent', 'qwen', 'opencode', 'windsurf', 'codex', 'kilocode', 'auggie', 'roo', 'codebuddy', 'amp', 'q', 'bob', 'qoder')
352360
$AllScripts = @('sh', 'ps')
353361

354362
function Normalize-List {
@@ -413,4 +421,4 @@ foreach ($agent in $AgentList) {
413421
Write-Host "`nArchives in ${GenReleasesDir}:"
414422
Get-ChildItem -Path $GenReleasesDir -Filter "spec-kit-template-*-${Version}.zip" | ForEach-Object {
415423
Write-Host " $($_.Name)"
416-
}
424+
}

.github/workflows/scripts/create-release-packages.sh

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ set -euo pipefail
66
# Usage: .github/workflows/scripts/create-release-packages.sh <version>
77
# Version argument should include leading 'v'.
88
# Optionally set AGENTS and/or SCRIPTS env vars to limit what gets built.
9-
# AGENTS : space or comma separated subset of: claude gemini copilot cursor-agent qwen opencode windsurf codex amp shai (default: all)
9+
# AGENTS : space or comma separated subset of: claude gemini copilot cursor-agent qwen opencode windsurf codex amp shai bob (default: all)
1010
# SCRIPTS : space or comma separated subset of: sh ps (default: both)
1111
# Examples:
1212
# AGENTS=claude SCRIPTS=sh $0 v0.2.0
@@ -204,6 +204,9 @@ build_variant() {
204204
codebuddy)
205205
mkdir -p "$base_dir/.codebuddy/commands"
206206
generate_commands codebuddy md "\$ARGUMENTS" "$base_dir/.codebuddy/commands" "$script" ;;
207+
qoder)
208+
mkdir -p "$base_dir/.qoder/commands"
209+
generate_commands qoder md "\$ARGUMENTS" "$base_dir/.qoder/commands" "$script" ;;
207210
amp)
208211
mkdir -p "$base_dir/.agents/commands"
209212
generate_commands amp md "\$ARGUMENTS" "$base_dir/.agents/commands" "$script" ;;
@@ -213,13 +216,16 @@ build_variant() {
213216
q)
214217
mkdir -p "$base_dir/.amazonq/prompts"
215218
generate_commands q md "\$ARGUMENTS" "$base_dir/.amazonq/prompts" "$script" ;;
219+
bob)
220+
mkdir -p "$base_dir/.bob/commands"
221+
generate_commands bob md "\$ARGUMENTS" "$base_dir/.bob/commands" "$script" ;;
216222
esac
217223
( cd "$base_dir" && zip -r "../agentic-sdlc-spec-kit-template-${agent}-${script}-${NEW_VERSION}.zip" . )
218224
echo "Created $GENRELEASES_DIR/agentic-sdlc-spec-kit-template-${agent}-${script}-${NEW_VERSION}.zip"
219225
}
220226

221227
# Determine agent list
222-
ALL_AGENTS=(claude gemini copilot cursor-agent qwen opencode windsurf codex kilocode auggie roo codebuddy amp shai q)
228+
ALL_AGENTS=(claude gemini copilot cursor-agent qwen opencode windsurf codex kilocode auggie roo codebuddy amp shai q bob qoder)
223229
ALL_SCRIPTS=(sh ps)
224230

225231
norm_list() {

AGENTS.md

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -29,23 +29,25 @@ Specify supports multiple AI agents by generating agent-specific command files a
2929

3030
### Current Supported Agents
3131

32-
| Agent | Directory | Format | CLI Tool | Description |
33-
|-------|-----------|---------|----------|-------------|
34-
| **Claude Code** | `.claude/commands/` | Markdown | `claude` | Anthropic's Claude Code CLI |
35-
| **Gemini CLI** | `.gemini/commands/` | TOML | `gemini` | Google's Gemini CLI |
36-
| **GitHub Copilot** | `.github/agents/` | Markdown | N/A (IDE-based) | GitHub Copilot in VS Code |
37-
| **Cursor** | `.cursor/commands/` | Markdown | `cursor-agent` | Cursor CLI |
38-
| **Qwen Code** | `.qwen/commands/` | TOML | `qwen` | Alibaba's Qwen Code CLI |
39-
| **opencode** | `.opencode/command/` | Markdown | `opencode` | opencode CLI |
40-
| **Codex CLI** | `.codex/commands/` | Markdown | `codex` | Codex CLI |
41-
| **Windsurf** | `.windsurf/workflows/` | Markdown | N/A (IDE-based) | Windsurf IDE workflows |
42-
| **Kilo Code** | `.kilocode/rules/` | Markdown | N/A (IDE-based) | Kilo Code IDE |
43-
| **Auggie CLI** | `.augment/rules/` | Markdown | `auggie` | Auggie CLI |
44-
| **Roo Code** | `.roo/rules/` | Markdown | N/A (IDE-based) | Roo Code IDE |
45-
| **CodeBuddy CLI** | `.codebuddy/commands/` | Markdown | `codebuddy` | CodeBuddy CLI |
46-
| **Amazon Q Developer CLI** | `.amazonq/prompts/` | Markdown | `q` | Amazon Q Developer CLI |
47-
| **Amp** | `.agents/commands/` | Markdown | `amp` | Amp CLI |
48-
| **SHAI** | `.shai/commands/` | Markdown | `shai` | SHAI CLI |
32+
| Agent | Directory | Format | CLI Tool | Description |
33+
| -------------------------- | ---------------------- | -------- | --------------- | --------------------------- |
34+
| **Claude Code** | `.claude/commands/` | Markdown | `claude` | Anthropic's Claude Code CLI |
35+
| **Gemini CLI** | `.gemini/commands/` | TOML | `gemini` | Google's Gemini CLI |
36+
| **GitHub Copilot** | `.github/agents/` | Markdown | N/A (IDE-based) | GitHub Copilot in VS Code |
37+
| **Cursor** | `.cursor/commands/` | Markdown | `cursor-agent` | Cursor CLI |
38+
| **Qwen Code** | `.qwen/commands/` | TOML | `qwen` | Alibaba's Qwen Code CLI |
39+
| **opencode** | `.opencode/command/` | Markdown | `opencode` | opencode CLI |
40+
| **Codex CLI** | `.codex/commands/` | Markdown | `codex` | Codex CLI |
41+
| **Windsurf** | `.windsurf/workflows/` | Markdown | N/A (IDE-based) | Windsurf IDE workflows |
42+
| **Kilo Code** | `.kilocode/rules/` | Markdown | N/A (IDE-based) | Kilo Code IDE |
43+
| **Auggie CLI** | `.augment/rules/` | Markdown | `auggie` | Auggie CLI |
44+
| **Roo Code** | `.roo/rules/` | Markdown | N/A (IDE-based) | Roo Code IDE |
45+
| **CodeBuddy CLI** | `.codebuddy/commands/` | Markdown | `codebuddy` | CodeBuddy CLI |
46+
| **Qoder CLI** | `.qoder/commands/` | Markdown | `qoder` | Qoder CLI |
47+
| **Amazon Q Developer CLI** | `.amazonq/prompts/` | Markdown | `q` | Amazon Q Developer CLI |
48+
| **Amp** | `.agents/commands/` | Markdown | `amp` | Amp CLI |
49+
| **SHAI** | `.shai/commands/` | Markdown | `shai` | SHAI CLI |
50+
| **IBM Bob** | `.bob/commands/` | Markdown | N/A (IDE-based) | IBM Bob IDE |
4951

5052
### Step-by-Step Integration Guide
5153

@@ -151,7 +153,7 @@ Add to case statement:
151153
case "$AGENT_TYPE" in
152154
# ... existing cases ...
153155
windsurf) update_agent_file "$WINDSURF_FILE" "Windsurf" ;;
154-
"")
156+
"")
155157
# ... existing checks ...
156158
[ -f "$WINDSURF_FILE" ] && update_agent_file "$WINDSURF_FILE" "Windsurf";
157159
# Update default creation condition
@@ -305,12 +307,13 @@ echo "✅ Done"
305307
Require a command-line tool to be installed:
306308

307309
- **Claude Code**: `claude` CLI
308-
- **Gemini CLI**: `gemini` CLI
310+
- **Gemini CLI**: `gemini` CLI
309311
- **Cursor**: `cursor-agent` CLI
310312
- **Qwen Code**: `qwen` CLI
311313
- **opencode**: `opencode` CLI
312314
- **Amazon Q Developer CLI**: `q` CLI
313315
- **CodeBuddy CLI**: `codebuddy` CLI
316+
- **Qoder CLI**: `qoder` CLI
314317
- **Amp**: `amp` CLI
315318
- **SHAI**: `shai` CLI
316319

@@ -320,12 +323,13 @@ Work within integrated development environments:
320323

321324
- **GitHub Copilot**: Built into VS Code/compatible editors
322325
- **Windsurf**: Built into Windsurf IDE
326+
- **IBM Bob**: Built into IBM Bob IDE
323327

324328
## Command File Formats
325329

326330
### Markdown Format
327331

328-
Used by: Claude, Cursor, opencode, Windsurf, Amazon Q Developer, Amp, SHAI
332+
Used by: Claude, Cursor, opencode, Windsurf, Amazon Q Developer, Amp, SHAI, IBM Bob
329333

330334
**Standard format:**
331335

CODE_OF_CONDUCT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ include:
2323
Examples of unacceptable behavior by participants include:
2424

2525
- The use of sexualized language or imagery and unwelcome sexual attention or
26-
advances
26+
advances
2727
- Trolling, insulting/derogatory comments, and personal or political attacks
2828
- Public or private harassment
2929
- Publishing others' private information, such as a physical or electronic

CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ git push origin main
5151

5252
## Submitting a pull request
5353

54-
>[!NOTE]
55-
>If your pull request introduces a large change that materially impacts the work of the CLI or the rest of the repository (e.g., you're introducing new templates, arguments, or otherwise major changes), make sure that it was **discussed and agreed upon** by the project maintainers. Pull requests with large changes that did not have a prior conversation and agreement will be closed.
54+
> [!NOTE]
55+
> If your pull request introduces a large change that materially impacts the work of the CLI or the rest of the repository (e.g., you're introducing new templates, arguments, or otherwise major changes), make sure that it was **discussed and agreed upon** by the project maintainers. Pull requests with large changes that did not have a prior conversation and agreement will be closed.
5656
5757
1. Fork and clone the repository
5858
1. Configure and install the dependencies: `uv sync`
@@ -90,7 +90,7 @@ To test your templates, commands, and other changes locally, follow these steps:
9090

9191
Run the following command to generate the local packages:
9292

93-
```
93+
```bash
9494
./.github/workflows/scripts/create-release-packages.sh v1.0.0
9595
```
9696

0 commit comments

Comments
 (0)