container-superposition 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -1370
- package/dist/scripts/init.js +333 -185
- package/dist/scripts/init.js.map +1 -1
- package/dist/tool/commands/adopt.d.ts +62 -0
- package/dist/tool/commands/adopt.d.ts.map +1 -0
- package/dist/tool/commands/adopt.js +767 -0
- package/dist/tool/commands/adopt.js.map +1 -0
- package/dist/tool/commands/hash.d.ts +36 -0
- package/dist/tool/commands/hash.d.ts.map +1 -0
- package/dist/tool/commands/hash.js +242 -0
- package/dist/tool/commands/hash.js.map +1 -0
- package/dist/tool/commands/plan.d.ts +2 -0
- package/dist/tool/commands/plan.d.ts.map +1 -1
- package/dist/tool/commands/plan.js +262 -42
- package/dist/tool/commands/plan.js.map +1 -1
- package/dist/tool/schema/project-config.d.ts +15 -0
- package/dist/tool/schema/project-config.d.ts.map +1 -0
- package/dist/tool/schema/project-config.js +359 -0
- package/dist/tool/schema/project-config.js.map +1 -0
- package/dist/tool/schema/types.d.ts +39 -1
- package/dist/tool/schema/types.d.ts.map +1 -1
- package/dist/tool/utils/backup.d.ts +23 -0
- package/dist/tool/utils/backup.d.ts.map +1 -0
- package/dist/tool/utils/backup.js +123 -0
- package/dist/tool/utils/backup.js.map +1 -0
- package/docs/README.md +12 -2
- package/docs/adopt.md +196 -0
- package/docs/custom-patches.md +1 -1
- package/docs/discovery-commands.md +55 -3
- package/docs/examples.md +40 -6
- package/docs/filesystem-contract.md +58 -0
- package/docs/hash.md +183 -0
- package/docs/minimal-and-editor.md +1 -1
- package/docs/overlays.md +60 -0
- package/docs/presets-architecture.md +1 -1
- package/docs/presets.md +1 -1
- package/docs/publishing.md +36 -23
- package/docs/security.md +43 -0
- package/docs/specs/001-verbose-plan-graph/checklists/requirements.md +36 -0
- package/docs/specs/001-verbose-plan-graph/contracts/plan-verbose-output.md +96 -0
- package/docs/specs/001-verbose-plan-graph/data-model.md +111 -0
- package/docs/specs/001-verbose-plan-graph/plan.md +127 -0
- package/docs/specs/001-verbose-plan-graph/quickstart.md +106 -0
- package/docs/specs/001-verbose-plan-graph/research.md +100 -0
- package/docs/specs/001-verbose-plan-graph/spec.md +128 -0
- package/docs/specs/001-verbose-plan-graph/tasks.md +223 -0
- package/docs/specs/002-superposition-config-file/checklists/requirements.md +36 -0
- package/docs/specs/002-superposition-config-file/contracts/init-project-config.md +98 -0
- package/docs/specs/002-superposition-config-file/data-model.md +126 -0
- package/docs/specs/002-superposition-config-file/plan.md +208 -0
- package/docs/specs/002-superposition-config-file/quickstart.md +140 -0
- package/docs/specs/002-superposition-config-file/research.md +144 -0
- package/docs/specs/002-superposition-config-file/spec.md +130 -0
- package/docs/specs/002-superposition-config-file/tasks.md +213 -0
- package/docs/team-workflow.md +27 -1
- package/docs/workflows.md +136 -0
- package/overlays/.presets/sdd.yml +84 -0
- package/overlays/README.md +7 -1
- package/overlays/amp/README.md +70 -0
- package/overlays/amp/devcontainer.patch.json +3 -0
- package/overlays/amp/overlay.yml +15 -0
- package/overlays/amp/setup.sh +21 -0
- package/overlays/amp/verify.sh +21 -0
- package/overlays/claude-code/README.md +83 -0
- package/overlays/claude-code/devcontainer.patch.json +3 -0
- package/overlays/claude-code/overlay.yml +15 -0
- package/overlays/claude-code/setup.sh +21 -0
- package/overlays/claude-code/verify.sh +21 -0
- package/overlays/gemini-cli/README.md +77 -0
- package/overlays/gemini-cli/devcontainer.patch.json +3 -0
- package/overlays/gemini-cli/overlay.yml +15 -0
- package/overlays/gemini-cli/setup.sh +21 -0
- package/overlays/gemini-cli/verify.sh +21 -0
- package/overlays/opencode/README.md +76 -0
- package/overlays/opencode/devcontainer.patch.json +3 -0
- package/overlays/opencode/overlay.yml +14 -0
- package/overlays/opencode/setup.sh +21 -0
- package/overlays/opencode/verify.sh +21 -0
- package/overlays/spec-kit/README.md +181 -0
- package/overlays/spec-kit/devcontainer.patch.json +6 -0
- package/overlays/spec-kit/overlay.yml +19 -0
- package/overlays/spec-kit/setup.sh +45 -0
- package/overlays/spec-kit/verify.sh +33 -0
- package/overlays/windsurf-cli/README.md +69 -0
- package/overlays/windsurf-cli/devcontainer.patch.json +3 -0
- package/overlays/windsurf-cli/overlay.yml +15 -0
- package/overlays/windsurf-cli/setup.sh +21 -0
- package/overlays/windsurf-cli/verify.sh +21 -0
- package/package.json +1 -1
- package/tool/schema/config.schema.json +138 -9
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# opencode Overlay
|
|
2
|
+
|
|
3
|
+
Adds the `opencode` AI coding agent for terminal-based development assistance.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **opencode CLI** — Multi-provider AI coding agent for the terminal
|
|
8
|
+
- **Provider flexibility** — Supports multiple AI providers (OpenAI, Anthropic, Google, and more)
|
|
9
|
+
|
|
10
|
+
## What is opencode?
|
|
11
|
+
|
|
12
|
+
opencode is an open-source, terminal-based AI coding agent that supports multiple AI providers:
|
|
13
|
+
|
|
14
|
+
- **Multi-provider** — Choose from OpenAI, Anthropic, Google Gemini, and other providers
|
|
15
|
+
- **Code generation** — Generate new code from natural language descriptions
|
|
16
|
+
- **Codebase context** — Understands your project structure
|
|
17
|
+
- **Agentic tasks** — Execute multi-step coding tasks autonomously
|
|
18
|
+
|
|
19
|
+
## How It Works
|
|
20
|
+
|
|
21
|
+
This overlay installs `opencode-ai` globally via npm, making the `opencode` command available in your devcontainer.
|
|
22
|
+
|
|
23
|
+
## Common Commands
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# Start an interactive session
|
|
27
|
+
opencode
|
|
28
|
+
|
|
29
|
+
# Check version
|
|
30
|
+
opencode --version
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Use Cases
|
|
34
|
+
|
|
35
|
+
- **Flexible AI assistant** — Switch between AI providers as needed
|
|
36
|
+
- **Open-source first** — Works with self-hosted models via compatible APIs
|
|
37
|
+
- **Spec-Driven Development** — Works with `spec-kit` overlay via `specify init --ai opencode`
|
|
38
|
+
|
|
39
|
+
**Integrates well with:**
|
|
40
|
+
|
|
41
|
+
- `spec-kit` — Use opencode with the SDD workflow
|
|
42
|
+
- `nodejs` — Required for installation
|
|
43
|
+
- `git-helpers` — Git integration for AI-generated code
|
|
44
|
+
|
|
45
|
+
## Configuration
|
|
46
|
+
|
|
47
|
+
Configure your AI provider API key:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# For OpenAI
|
|
51
|
+
export OPENAI_API_KEY=your-key
|
|
52
|
+
|
|
53
|
+
# For Anthropic
|
|
54
|
+
export ANTHROPIC_API_KEY=your-key
|
|
55
|
+
|
|
56
|
+
# For Google Gemini
|
|
57
|
+
export GEMINI_API_KEY=your-key
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Verification
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
bash .devcontainer/scripts/verify-opencode.sh
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## References
|
|
67
|
+
|
|
68
|
+
- [opencode Website](https://opencode.ai)
|
|
69
|
+
- [opencode GitHub](https://github.com/sst/opencode)
|
|
70
|
+
|
|
71
|
+
**Related Overlays:**
|
|
72
|
+
|
|
73
|
+
- `spec-kit` — Spec-Driven Development with opencode as the AI agent
|
|
74
|
+
- `codex` — OpenAI Codex CLI (alternative AI assistant)
|
|
75
|
+
- `claude-code` — Anthropic Claude Code (alternative AI assistant)
|
|
76
|
+
- `nodejs` — Required for npm-based installation
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# opencode setup script - Install opencode AI coding agent
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
echo "📦 Installing opencode AI coding agent..."
|
|
7
|
+
|
|
8
|
+
# Install opencode-ai globally
|
|
9
|
+
npm install -g opencode-ai
|
|
10
|
+
|
|
11
|
+
# Verify installation
|
|
12
|
+
if command -v opencode &>/dev/null; then
|
|
13
|
+
echo "✓ opencode installed successfully: $(opencode --version 2>/dev/null || echo 'installed')"
|
|
14
|
+
else
|
|
15
|
+
echo "✗ opencode installation failed"
|
|
16
|
+
exit 1
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
echo "✓ opencode setup complete"
|
|
20
|
+
echo "ℹ️ opencode: https://opencode.ai"
|
|
21
|
+
echo "ℹ️ Run 'opencode --help' to get started"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# opencode overlay verification script
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
echo "🔍 Verifying opencode overlay setup..."
|
|
7
|
+
|
|
8
|
+
# Check if opencode is installed
|
|
9
|
+
if ! command -v opencode &>/dev/null; then
|
|
10
|
+
echo "✗ opencode is not installed or not in PATH"
|
|
11
|
+
exit 1
|
|
12
|
+
fi
|
|
13
|
+
|
|
14
|
+
echo "✓ opencode is installed: $(opencode --version 2>/dev/null || echo 'installed')"
|
|
15
|
+
|
|
16
|
+
echo ""
|
|
17
|
+
echo "✅ opencode overlay verification complete!"
|
|
18
|
+
echo ""
|
|
19
|
+
echo "💡 Tips:"
|
|
20
|
+
echo " - Run 'opencode --help' to see available commands"
|
|
21
|
+
echo " - Configure your AI provider API key"
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# Spec Kit (SDD) Overlay
|
|
2
|
+
|
|
3
|
+
Installs the `specify` CLI and its prerequisites (`uv`) for **Spec-Driven Development** — a disciplined workflow that elevates specifications to first-class artifacts driving AI-powered implementation.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **`specify` CLI** — Interactive SDD workflow commands for any supported AI coding agent
|
|
8
|
+
- **`uv`** — Fast Python package manager used to install and run `specify`
|
|
9
|
+
- **20+ AI agent integrations** — Works with Codex, Claude Code, Gemini CLI, GitHub Copilot, Cursor, Windsurf, Amp, and more
|
|
10
|
+
|
|
11
|
+
## What is Spec-Driven Development?
|
|
12
|
+
|
|
13
|
+
Spec-Driven Development (SDD) flips the traditional workflow: instead of vibe-coding, you author rich specifications that become executable artifacts driving AI agents through a disciplined multi-step process:
|
|
14
|
+
|
|
15
|
+
| Step | Command | Description |
|
|
16
|
+
| ---- | ----------------------- | ----------------------------------------- |
|
|
17
|
+
| 1 | `/speckit.constitution` | Create project governing principles |
|
|
18
|
+
| 2 | `/speckit.specify` | Define requirements (what & why, not how) |
|
|
19
|
+
| 3 | `/speckit.clarify` | Clarify underspecified areas |
|
|
20
|
+
| 4 | `/speckit.plan` | Create a technical implementation plan |
|
|
21
|
+
| 5 | `/speckit.analyze` | Cross-artifact consistency analysis |
|
|
22
|
+
| 6 | `/speckit.tasks` | Break plan into actionable tasks |
|
|
23
|
+
| 7 | `/speckit.implement` | Execute tasks with an AI agent |
|
|
24
|
+
|
|
25
|
+
## How It Works
|
|
26
|
+
|
|
27
|
+
This overlay:
|
|
28
|
+
|
|
29
|
+
1. Installs `uv` (Astral's fast Python package manager) if not already present
|
|
30
|
+
2. Uses `uv tool install` to install `specify-cli` from the [github/spec-kit](https://github.com/github/spec-kit) repository
|
|
31
|
+
3. Makes `specify` available on the PATH inside the devcontainer
|
|
32
|
+
|
|
33
|
+
**Why `uv`?** Spec Kit uses `uv` as its package manager for fast, isolated tool installation — it avoids the overhead of creating a full virtual environment while keeping `specify` globally accessible.
|
|
34
|
+
|
|
35
|
+
## Common Commands
|
|
36
|
+
|
|
37
|
+
### Initialize a project
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Initialize SDD for a project with a specific AI agent
|
|
41
|
+
specify init . --here --ai codex
|
|
42
|
+
specify init . --here --ai claude
|
|
43
|
+
specify init . --here --ai gemini
|
|
44
|
+
specify init . --here --ai copilot
|
|
45
|
+
specify init . --here --ai amp
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### SDD Workflow
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# After initializing, use the installed slash commands in your AI agent:
|
|
52
|
+
# /speckit.constitution — Define project principles
|
|
53
|
+
# /speckit.specify — Author requirements spec
|
|
54
|
+
# /speckit.clarify — Clarify ambiguities
|
|
55
|
+
# /speckit.plan — Generate implementation plan
|
|
56
|
+
# /speckit.analyze — Check consistency
|
|
57
|
+
# /speckit.tasks — Break into tasks
|
|
58
|
+
# /speckit.implement — Implement with AI
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Utility Commands
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Check specify is available
|
|
65
|
+
specify --version
|
|
66
|
+
|
|
67
|
+
# List supported agents
|
|
68
|
+
specify --help
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Supported AI Agents
|
|
72
|
+
|
|
73
|
+
The `specify` CLI supports the following agents (pass as `--ai <agent>`):
|
|
74
|
+
|
|
75
|
+
| Agent | `--ai` flag | Notes |
|
|
76
|
+
| --------------------- | -------------- | --------------------------------------- |
|
|
77
|
+
| OpenAI Codex | `codex` | Requires `codex` overlay |
|
|
78
|
+
| Anthropic Claude Code | `claude` | Requires `claude-code` overlay |
|
|
79
|
+
| Google Gemini CLI | `gemini` | Requires `gemini-cli` overlay |
|
|
80
|
+
| GitHub Copilot | `copilot` | IDE-integrated, no extra overlay needed |
|
|
81
|
+
| Cursor Agent | `cursor-agent` | IDE-integrated |
|
|
82
|
+
| Codeium Windsurf | `windsurf` | Requires `windsurf-cli` overlay |
|
|
83
|
+
| Sourcegraph Amp | `amp` | Requires `amp` overlay |
|
|
84
|
+
| opencode | `opencode` | Requires `opencode` overlay |
|
|
85
|
+
| Roo Code | `roo-code` | IDE-integrated |
|
|
86
|
+
| Kiro CLI | `kiro` | Check upstream docs |
|
|
87
|
+
| Generic (BYOA) | `generic` | Bring your own agent |
|
|
88
|
+
|
|
89
|
+
For the full list see the [spec-kit supported agents documentation](https://github.com/github/spec-kit#-supported-ai-agents).
|
|
90
|
+
|
|
91
|
+
## Use Cases
|
|
92
|
+
|
|
93
|
+
- **Greenfield projects** — Start with a specification before writing any code
|
|
94
|
+
- **Feature development** — Spec out new features before asking AI to implement them
|
|
95
|
+
- **Team alignment** — Share specifications as structured artifacts
|
|
96
|
+
- **AI-assisted refactoring** — Spec the desired end state, let AI plan the migration
|
|
97
|
+
- **Documentation-driven development** — Specifications become living documentation
|
|
98
|
+
|
|
99
|
+
**Integrates well with:**
|
|
100
|
+
|
|
101
|
+
- `codex` — OpenAI Codex CLI (most common with SDD)
|
|
102
|
+
- `claude-code` — Anthropic Claude Code
|
|
103
|
+
- `gemini-cli` — Google Gemini CLI
|
|
104
|
+
- `amp` — Sourcegraph Amp
|
|
105
|
+
- `git-helpers` — Git integration for specification artifacts
|
|
106
|
+
- `pre-commit` — Quality gates for specification files
|
|
107
|
+
|
|
108
|
+
## Configuration
|
|
109
|
+
|
|
110
|
+
The `specify` tool stores its slash-command templates in your project directory after running `specify init`. These files are committed to your repository.
|
|
111
|
+
|
|
112
|
+
**Environment variable (optional):**
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# Set a default AI agent to avoid passing --ai on every command
|
|
116
|
+
export SPECIFY_AI_AGENT=codex
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Verification
|
|
120
|
+
|
|
121
|
+
After setup, run the verification script to ensure proper installation:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
bash .devcontainer/scripts/verify-spec-kit.sh
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
This checks:
|
|
128
|
+
|
|
129
|
+
- `uv` is installed
|
|
130
|
+
- `specify` CLI is available on PATH
|
|
131
|
+
|
|
132
|
+
## Troubleshooting
|
|
133
|
+
|
|
134
|
+
### `specify` command not found
|
|
135
|
+
|
|
136
|
+
**Solution:**
|
|
137
|
+
|
|
138
|
+
Ensure `$HOME/.local/bin` is on your PATH:
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
142
|
+
|
|
143
|
+
# Or add to your shell profile:
|
|
144
|
+
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### `uv` not found
|
|
148
|
+
|
|
149
|
+
**Solution:**
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
153
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### `specify` fails to install
|
|
157
|
+
|
|
158
|
+
**Solution:**
|
|
159
|
+
|
|
160
|
+
Check internet connectivity and try reinstalling:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git --force
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## References
|
|
167
|
+
|
|
168
|
+
- [Spec Kit GitHub](https://github.com/github/spec-kit)
|
|
169
|
+
- [Spec-Driven Development Methodology](https://github.com/github/spec-kit/blob/main/spec-driven.md)
|
|
170
|
+
- [Specify CLI Reference](https://github.com/github/spec-kit#-specify-cli-reference)
|
|
171
|
+
- [Supported AI Agents](https://github.com/github/spec-kit#-supported-ai-agents)
|
|
172
|
+
- [uv Documentation](https://docs.astral.sh/uv/)
|
|
173
|
+
|
|
174
|
+
**Related Overlays:**
|
|
175
|
+
|
|
176
|
+
- `codex` — OpenAI Codex CLI
|
|
177
|
+
- `claude-code` — Anthropic Claude Code
|
|
178
|
+
- `gemini-cli` — Google Gemini CLI
|
|
179
|
+
- `amp` — Sourcegraph Amp
|
|
180
|
+
- `opencode` — opencode CLI
|
|
181
|
+
- `windsurf-cli` — Codeium Windsurf CLI
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
id: spec-kit
|
|
2
|
+
name: Spec Kit (SDD)
|
|
3
|
+
description: Specify CLI for Spec-Driven Development with any AI coding agent
|
|
4
|
+
category: dev
|
|
5
|
+
supports: []
|
|
6
|
+
requires: []
|
|
7
|
+
suggests:
|
|
8
|
+
- python
|
|
9
|
+
- codex
|
|
10
|
+
conflicts: []
|
|
11
|
+
tags:
|
|
12
|
+
- dev
|
|
13
|
+
- ai
|
|
14
|
+
- sdd
|
|
15
|
+
- spec-driven
|
|
16
|
+
- specify
|
|
17
|
+
- spec-kit
|
|
18
|
+
ports: []
|
|
19
|
+
order: 20
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# spec-kit setup — install specify-cli for Spec-Driven Development
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
echo "📦 Installing prerequisites for spec-kit..."
|
|
7
|
+
|
|
8
|
+
# Ensure uv tool bin directory is always on PATH (uv puts shims here regardless
|
|
9
|
+
# of whether uv itself was pre-installed or freshly installed in this script)
|
|
10
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
11
|
+
|
|
12
|
+
# Ensure uv is available (fast Python package manager)
|
|
13
|
+
if ! command -v uv &>/dev/null; then
|
|
14
|
+
echo " Installing uv..."
|
|
15
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
16
|
+
# Re-source in case the installer wrote to a non-standard location
|
|
17
|
+
export PATH="$HOME/.cargo/bin:$HOME/.local/bin:$PATH"
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
echo "📦 Installing specify-cli..."
|
|
21
|
+
# Pin to a uv-managed Python (avoids broken system Python 3.13 on Debian trixie
|
|
22
|
+
# where stdlib modules like shutil/os can be missing due to Debian's split packages)
|
|
23
|
+
UV_PYTHON_VERSION="3.12"
|
|
24
|
+
echo " Ensuring uv-managed Python ${UV_PYTHON_VERSION} is available..."
|
|
25
|
+
uv python install "${UV_PYTHON_VERSION}"
|
|
26
|
+
|
|
27
|
+
# Install specify-cli using the uv-managed Python, not the system interpreter
|
|
28
|
+
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git \
|
|
29
|
+
--python "${UV_PYTHON_VERSION}"
|
|
30
|
+
|
|
31
|
+
# Verify — use the full path as a fallback in case the shim dir is not yet in PATH
|
|
32
|
+
SPECIFY_BIN="$(uv tool dir 2>/dev/null)/specify-cli/bin/specify"
|
|
33
|
+
if command -v specify &>/dev/null; then
|
|
34
|
+
echo "✓ specify-cli installed: $(specify --version 2>/dev/null || echo 'ok')"
|
|
35
|
+
elif [ -x "$SPECIFY_BIN" ]; then
|
|
36
|
+
echo "✓ specify-cli installed at $SPECIFY_BIN (add ~/.local/bin to PATH)"
|
|
37
|
+
else
|
|
38
|
+
echo "✗ specify-cli installation failed"
|
|
39
|
+
exit 1
|
|
40
|
+
fi
|
|
41
|
+
|
|
42
|
+
echo "✓ spec-kit setup complete"
|
|
43
|
+
echo "ℹ️ Spec Kit: https://github.com/github/spec-kit"
|
|
44
|
+
echo "ℹ️ Usage: specify init <PROJECT_NAME> --ai <agent>"
|
|
45
|
+
echo "ℹ️ Agents: codex, claude, gemini, copilot, cursor-agent, windsurf, amp, ..."
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# spec-kit overlay verification script
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
# uv installs shims to ~/.local/bin; ensure it is on PATH
|
|
7
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
8
|
+
|
|
9
|
+
echo "🔍 Verifying spec-kit overlay setup..."
|
|
10
|
+
|
|
11
|
+
# Check uv is available
|
|
12
|
+
if ! command -v uv &>/dev/null; then
|
|
13
|
+
echo "✗ uv not found"
|
|
14
|
+
exit 1
|
|
15
|
+
fi
|
|
16
|
+
|
|
17
|
+
echo "✓ uv is installed: $(uv --version 2>/dev/null || echo 'installed')"
|
|
18
|
+
|
|
19
|
+
# Check specify CLI is available
|
|
20
|
+
if ! command -v specify &>/dev/null; then
|
|
21
|
+
echo "✗ specify not found"
|
|
22
|
+
exit 1
|
|
23
|
+
fi
|
|
24
|
+
|
|
25
|
+
echo "✓ specify is installed: $(specify --version 2>/dev/null || echo 'installed')"
|
|
26
|
+
|
|
27
|
+
echo ""
|
|
28
|
+
echo "✅ spec-kit overlay verification complete!"
|
|
29
|
+
echo ""
|
|
30
|
+
echo "💡 Tips:"
|
|
31
|
+
echo " - Run 'specify --help' to see available commands"
|
|
32
|
+
echo " - Initialize a project: specify init <PROJECT_NAME> --ai <agent>"
|
|
33
|
+
echo " - Supported agents: codex, claude, gemini, copilot, cursor-agent, windsurf, amp, ..."
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Windsurf CLI Overlay
|
|
2
|
+
|
|
3
|
+
Adds the Codeium Windsurf CLI (`windsurf`) for AI-powered development assistance in the terminal.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Windsurf CLI** — Codeium's AI coding agent for terminal use
|
|
8
|
+
- **Cascade flows** — AI-driven multi-step development tasks
|
|
9
|
+
|
|
10
|
+
## What is Windsurf CLI?
|
|
11
|
+
|
|
12
|
+
Windsurf CLI is Codeium's headless agentic coding assistant that brings the power of the Windsurf IDE agent to the command line:
|
|
13
|
+
|
|
14
|
+
- **Agentic coding** — Autonomous multi-step task execution
|
|
15
|
+
- **Codebase understanding** — Deep indexing of your repository
|
|
16
|
+
- **Code generation** — Create features from natural language
|
|
17
|
+
- **Refactoring** — Improve existing code with AI guidance
|
|
18
|
+
|
|
19
|
+
## How It Works
|
|
20
|
+
|
|
21
|
+
This overlay installs the Windsurf CLI globally via npm, making the `windsurf` command available in your devcontainer.
|
|
22
|
+
|
|
23
|
+
## Common Commands
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# Start an interactive session
|
|
27
|
+
windsurf
|
|
28
|
+
|
|
29
|
+
# Check version
|
|
30
|
+
windsurf --version
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Use Cases
|
|
34
|
+
|
|
35
|
+
- **Feature implementation** — Describe what you want, Windsurf implements it
|
|
36
|
+
- **Code exploration** — Understand large or complex codebases
|
|
37
|
+
- **Spec-Driven Development** — Works with `spec-kit` overlay via `specify init --ai windsurf`
|
|
38
|
+
|
|
39
|
+
**Integrates well with:**
|
|
40
|
+
|
|
41
|
+
- `spec-kit` — Use Windsurf with the SDD workflow
|
|
42
|
+
- `nodejs` — Required for installation
|
|
43
|
+
- `git-helpers` — Git integration for AI-generated code
|
|
44
|
+
|
|
45
|
+
## Configuration
|
|
46
|
+
|
|
47
|
+
Authenticate with your Codeium account:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
windsurf auth
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Verification
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
bash .devcontainer/scripts/verify-windsurf-cli.sh
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## References
|
|
60
|
+
|
|
61
|
+
- [Windsurf Documentation](https://docs.codeium.com/windsurf/getting-started)
|
|
62
|
+
- [Codeium Platform](https://codeium.com/)
|
|
63
|
+
|
|
64
|
+
**Related Overlays:**
|
|
65
|
+
|
|
66
|
+
- `spec-kit` — Spec-Driven Development with Windsurf as the AI agent
|
|
67
|
+
- `codex` — OpenAI Codex CLI (alternative AI assistant)
|
|
68
|
+
- `claude-code` — Anthropic Claude Code (alternative AI assistant)
|
|
69
|
+
- `nodejs` — Required for npm-based installation
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
id: windsurf-cli
|
|
2
|
+
name: Windsurf CLI
|
|
3
|
+
description: Codeium Windsurf CLI for AI-powered development assistance
|
|
4
|
+
category: dev
|
|
5
|
+
supports: []
|
|
6
|
+
requires:
|
|
7
|
+
- nodejs
|
|
8
|
+
suggests: []
|
|
9
|
+
conflicts: []
|
|
10
|
+
tags:
|
|
11
|
+
- dev
|
|
12
|
+
- ai
|
|
13
|
+
- windsurf
|
|
14
|
+
- codeium
|
|
15
|
+
ports: []
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# windsurf-cli setup script - Install Codeium Windsurf CLI
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
echo "📦 Installing Codeium Windsurf CLI..."
|
|
7
|
+
|
|
8
|
+
# Install windsurf globally via npm
|
|
9
|
+
npm install -g @codeium/windsurf-cli
|
|
10
|
+
|
|
11
|
+
# Verify installation
|
|
12
|
+
if command -v windsurf &>/dev/null; then
|
|
13
|
+
echo "✓ Windsurf CLI installed successfully: $(windsurf --version 2>/dev/null || echo 'installed')"
|
|
14
|
+
else
|
|
15
|
+
echo "✗ Windsurf CLI installation failed"
|
|
16
|
+
exit 1
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
echo "✓ windsurf-cli setup complete"
|
|
20
|
+
echo "ℹ️ Codeium Windsurf: https://docs.codeium.com/windsurf/getting-started"
|
|
21
|
+
echo "ℹ️ Run 'windsurf --help' to get started"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# windsurf-cli overlay verification script
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
echo "🔍 Verifying windsurf-cli overlay setup..."
|
|
7
|
+
|
|
8
|
+
# Check if windsurf CLI is installed
|
|
9
|
+
if ! command -v windsurf &>/dev/null; then
|
|
10
|
+
echo "✗ windsurf CLI is not installed or not in PATH"
|
|
11
|
+
exit 1
|
|
12
|
+
fi
|
|
13
|
+
|
|
14
|
+
echo "✓ windsurf CLI is installed: $(windsurf --version 2>/dev/null || echo 'installed')"
|
|
15
|
+
|
|
16
|
+
echo ""
|
|
17
|
+
echo "✅ windsurf-cli overlay verification complete!"
|
|
18
|
+
echo ""
|
|
19
|
+
echo "💡 Tips:"
|
|
20
|
+
echo " - Run 'windsurf --help' to see available commands"
|
|
21
|
+
echo " - Authenticate with your Codeium account"
|