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,136 @@
|
|
|
1
|
+
# Workflows and Regeneration
|
|
2
|
+
|
|
3
|
+
This guide covers project-config driven generation, manifest-based regeneration,
|
|
4
|
+
and common workflows.
|
|
5
|
+
|
|
6
|
+
## Project Config Workflow
|
|
7
|
+
|
|
8
|
+
Commit exactly one project config file at the repository root:
|
|
9
|
+
|
|
10
|
+
- `.superposition.yml`
|
|
11
|
+
- `superposition.yml`
|
|
12
|
+
|
|
13
|
+
Use it when you want standard `init` runs to start from committed defaults
|
|
14
|
+
instead of a copied command line.
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npx container-superposition init
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Use `--no-interactive` when the config fully describes the intended setup and
|
|
21
|
+
you want unattended generation:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npx container-superposition init --no-interactive
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Direct CLI flags still win for that run only:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npx container-superposition init --no-interactive --output ./tmp-devcontainer
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Manifest Basics
|
|
34
|
+
|
|
35
|
+
Every generation writes a `superposition.json` manifest that records your choices. It enables:
|
|
36
|
+
|
|
37
|
+
- Reproducible environments
|
|
38
|
+
- Safe upgrades
|
|
39
|
+
- Team sharing
|
|
40
|
+
- Regeneration with backups
|
|
41
|
+
|
|
42
|
+
## When to Regenerate
|
|
43
|
+
|
|
44
|
+
Use `regen` when you:
|
|
45
|
+
|
|
46
|
+
- Add or remove overlays
|
|
47
|
+
- Update to newer overlay versions
|
|
48
|
+
- Change port offsets
|
|
49
|
+
- Switch base templates
|
|
50
|
+
|
|
51
|
+
Use `init --from-project` or `init --from-manifest` when you:
|
|
52
|
+
|
|
53
|
+
- Want to start from a persisted source and then adjust choices interactively
|
|
54
|
+
- Want a persisted source to provide defaults before making a targeted change
|
|
55
|
+
|
|
56
|
+
Use manual edits when you:
|
|
57
|
+
|
|
58
|
+
- Adjust VS Code settings
|
|
59
|
+
- Add small scripts or config files
|
|
60
|
+
- Tweak a single setting in custom patches
|
|
61
|
+
|
|
62
|
+
## Quick Regeneration
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# Uses the repository project file when one exists
|
|
66
|
+
npx container-superposition regen
|
|
67
|
+
|
|
68
|
+
# Or select the project file explicitly
|
|
69
|
+
npx container-superposition regen --from-project
|
|
70
|
+
|
|
71
|
+
# Falls back to manifest discovery when no project file exists
|
|
72
|
+
npx container-superposition regen
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Regeneration With Changes
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Uses manifest as defaults, then prompts for changes
|
|
79
|
+
npx container-superposition init --from-manifest ./.devcontainer/superposition.json
|
|
80
|
+
|
|
81
|
+
# Uses the repository project file as defaults, then prompts for changes
|
|
82
|
+
npx container-superposition init --from-project
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Source-Selection Conflicts
|
|
86
|
+
|
|
87
|
+
Persisted-input source flags are mutually exclusive and do not mix with
|
|
88
|
+
clean-generation selection flags:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# Invalid: two persisted sources
|
|
92
|
+
npx container-superposition regen --from-project --from-manifest ./.devcontainer/superposition.json
|
|
93
|
+
|
|
94
|
+
# Invalid: persisted source plus structural selection flags
|
|
95
|
+
npx container-superposition init --from-project --stack compose
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Non-Interactive (CI/CD)
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
npx container-superposition init --no-interactive
|
|
102
|
+
|
|
103
|
+
# Or keep using an explicit manifest when you want that mode
|
|
104
|
+
npx container-superposition init \
|
|
105
|
+
--from-manifest ./.devcontainer/superposition.json \
|
|
106
|
+
--no-interactive \
|
|
107
|
+
--no-backup
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Backup Behavior
|
|
111
|
+
|
|
112
|
+
- Default: creates `.devcontainer.backup-<timestamp>/`
|
|
113
|
+
- `--no-backup`: skips backup
|
|
114
|
+
- `--backup-dir <path>`: writes backups to a custom location
|
|
115
|
+
|
|
116
|
+
## Example Workflow
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# 1. Initial setup
|
|
120
|
+
npx container-superposition init --stack compose --language nodejs --database postgres
|
|
121
|
+
|
|
122
|
+
# 2. Later: reapply the committed project file
|
|
123
|
+
npx container-superposition regen
|
|
124
|
+
|
|
125
|
+
# 3. Or regenerate explicitly from a manifest when that is the intended source
|
|
126
|
+
npx container-superposition init --from-manifest ./.devcontainer/superposition.json
|
|
127
|
+
|
|
128
|
+
# 4. Update to latest overlays
|
|
129
|
+
npx container-superposition@latest regen
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Team Workflow
|
|
133
|
+
|
|
134
|
+
For a manifest-first approach (commit only `superposition.json`), see:
|
|
135
|
+
|
|
136
|
+
- [team-workflow.md](team-workflow.md)
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Spec-Driven Development Preset
|
|
2
|
+
# Complete environment for SDD with specify-cli and your choice of AI coding agent
|
|
3
|
+
|
|
4
|
+
id: sdd
|
|
5
|
+
name: Spec-Driven Development
|
|
6
|
+
description: Complete Spec-Driven Development environment with specify-cli and your choice of AI coding agent
|
|
7
|
+
type: meta
|
|
8
|
+
category: preset
|
|
9
|
+
supports: []
|
|
10
|
+
tags: [preset, sdd, spec-driven, ai, specify, spec-kit]
|
|
11
|
+
|
|
12
|
+
# Overlays to always include
|
|
13
|
+
selects:
|
|
14
|
+
required:
|
|
15
|
+
- spec-kit
|
|
16
|
+
|
|
17
|
+
# Parameterized agent selection
|
|
18
|
+
# Option 'id' is the value passed to `specify init --ai <id>`.
|
|
19
|
+
# 'overlays' is the list of container-superposition overlay IDs to include.
|
|
20
|
+
parameters:
|
|
21
|
+
agent:
|
|
22
|
+
description: AI coding agent to use with Spec Kit
|
|
23
|
+
default: codex
|
|
24
|
+
options:
|
|
25
|
+
- id: codex
|
|
26
|
+
overlays: [codex]
|
|
27
|
+
description: OpenAI Codex CLI (--ai codex)
|
|
28
|
+
- id: claude
|
|
29
|
+
overlays: [claude-code]
|
|
30
|
+
description: Anthropic Claude Code (--ai claude)
|
|
31
|
+
- id: gemini
|
|
32
|
+
overlays: [gemini-cli]
|
|
33
|
+
description: Google Gemini CLI (--ai gemini)
|
|
34
|
+
- id: amp
|
|
35
|
+
overlays: [amp]
|
|
36
|
+
description: Sourcegraph Amp (--ai amp)
|
|
37
|
+
- id: windsurf
|
|
38
|
+
overlays: [windsurf-cli]
|
|
39
|
+
description: Codeium Windsurf (--ai windsurf)
|
|
40
|
+
- id: opencode
|
|
41
|
+
overlays: [opencode]
|
|
42
|
+
description: opencode (--ai opencode)
|
|
43
|
+
- id: copilot
|
|
44
|
+
overlays: []
|
|
45
|
+
description: GitHub Copilot (IDE-integrated, no extra CLI needed) (--ai copilot)
|
|
46
|
+
|
|
47
|
+
# Glue configuration
|
|
48
|
+
glueConfig:
|
|
49
|
+
# environment values support {{parameters.<key>.id}} template substitution â
|
|
50
|
+
# the preset expander replaces it with the selected option's id at generation time.
|
|
51
|
+
environment:
|
|
52
|
+
SPECIFY_AI_AGENT: '{{parameters.agent.id}}'
|
|
53
|
+
|
|
54
|
+
readme: |
|
|
55
|
+
## Spec-Driven Development (SDD)
|
|
56
|
+
|
|
57
|
+
This devcontainer is configured for Spec-Driven Development using [Spec Kit](https://github.com/github/spec-kit).
|
|
58
|
+
|
|
59
|
+
### Getting Started
|
|
60
|
+
|
|
61
|
+
Initialize SDD in your project:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
specify init . --here --ai ${SPECIFY_AI_AGENT:-codex}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### SDD Workflow
|
|
68
|
+
|
|
69
|
+
Use these slash commands in your AI agent:
|
|
70
|
+
|
|
71
|
+
| Step | Command | Description |
|
|
72
|
+
|------|---------|-------------|
|
|
73
|
+
| 1 | `/speckit.constitution` | Create project governing principles |
|
|
74
|
+
| 2 | `/speckit.specify` | Define requirements |
|
|
75
|
+
| 3 | `/speckit.clarify` | Clarify ambiguities |
|
|
76
|
+
| 4 | `/speckit.plan` | Create implementation plan |
|
|
77
|
+
| 5 | `/speckit.analyze` | Cross-artifact consistency check |
|
|
78
|
+
| 6 | `/speckit.tasks` | Break plan into tasks |
|
|
79
|
+
| 7 | `/speckit.implement` | Execute tasks with AI |
|
|
80
|
+
|
|
81
|
+
### References
|
|
82
|
+
|
|
83
|
+
- [Spec Kit GitHub](https://github.com/github/spec-kit)
|
|
84
|
+
- [SDD Methodology](https://github.com/github/spec-kit/blob/main/spec-driven.md)
|
package/overlays/README.md
CHANGED
|
@@ -55,7 +55,13 @@ Each overlay directory contains:
|
|
|
55
55
|
- **docker-in-docker** - Docker daemon inside container (conflicts with docker-sock)
|
|
56
56
|
- **docker-sock** - Docker socket mounting (conflicts with docker-in-docker)
|
|
57
57
|
- **playwright** - Browser automation with Chromium installed
|
|
58
|
-
- **codex** - AI-powered code
|
|
58
|
+
- **codex** - OpenAI Codex CLI for AI-powered code generation and assistance
|
|
59
|
+
- **spec-kit** - Specify CLI for Spec-Driven Development with any AI coding agent
|
|
60
|
+
- **claude-code** - Anthropic Claude Code CLI for AI-powered development assistance
|
|
61
|
+
- **gemini-cli** - Google Gemini CLI for AI-powered development assistance
|
|
62
|
+
- **amp** - Sourcegraph Amp CLI for AI-powered code generation and assistance
|
|
63
|
+
- **windsurf-cli** - Codeium Windsurf CLI for AI-powered development assistance
|
|
64
|
+
- **opencode** - opencode AI coding agent for terminal-based development assistance
|
|
59
65
|
|
|
60
66
|
## Environment Variables
|
|
61
67
|
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Amp Overlay
|
|
2
|
+
|
|
3
|
+
Adds the Sourcegraph Amp CLI (`amp`) for AI-powered code generation and development assistance.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Amp CLI** â Sourcegraph's AI coding agent for the terminal
|
|
8
|
+
- **Codebase-aware** â Understands your entire repository context
|
|
9
|
+
|
|
10
|
+
## What is Amp?
|
|
11
|
+
|
|
12
|
+
Amp is Sourcegraph's AI coding agent that works directly in your terminal with deep codebase understanding:
|
|
13
|
+
|
|
14
|
+
- **Code generation** â Generate new features from natural language
|
|
15
|
+
- **Codebase context** â Indexed understanding of your entire codebase
|
|
16
|
+
- **Multi-file edits** â Make consistent changes across the project
|
|
17
|
+
- **Task execution** â Autonomous multi-step development tasks
|
|
18
|
+
|
|
19
|
+
## How It Works
|
|
20
|
+
|
|
21
|
+
This overlay installs `@sourcegraph/amp` globally via npm, making the `amp` command available in your devcontainer.
|
|
22
|
+
|
|
23
|
+
## Common Commands
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# Start an interactive session
|
|
27
|
+
amp
|
|
28
|
+
|
|
29
|
+
# Check version
|
|
30
|
+
amp --version
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Use Cases
|
|
34
|
+
|
|
35
|
+
- **Feature development** â Describe features, Amp implements them across the codebase
|
|
36
|
+
- **Large refactors** â Make consistent changes across many files
|
|
37
|
+
- **Code review** â AI-assisted code analysis
|
|
38
|
+
- **Spec-Driven Development** â Works with `spec-kit` overlay via `specify init --ai amp`
|
|
39
|
+
|
|
40
|
+
**Integrates well with:**
|
|
41
|
+
|
|
42
|
+
- `spec-kit` â Use Amp with the SDD workflow
|
|
43
|
+
- `nodejs` â Required for installation
|
|
44
|
+
- `git-helpers` â Git integration for AI-generated code
|
|
45
|
+
|
|
46
|
+
## Configuration
|
|
47
|
+
|
|
48
|
+
Authenticate with your Sourcegraph account:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
amp auth
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Verification
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
bash .devcontainer/scripts/verify-amp.sh
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## References
|
|
61
|
+
|
|
62
|
+
- [Amp by Sourcegraph](https://sourcegraph.com/amp)
|
|
63
|
+
- [Sourcegraph Platform](https://sourcegraph.com/)
|
|
64
|
+
|
|
65
|
+
**Related Overlays:**
|
|
66
|
+
|
|
67
|
+
- `spec-kit` â Spec-Driven Development with Amp as the AI agent
|
|
68
|
+
- `codex` â OpenAI Codex CLI (alternative AI assistant)
|
|
69
|
+
- `claude-code` â Anthropic Claude Code (alternative AI assistant)
|
|
70
|
+
- `nodejs` â Required for npm-based installation
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# amp setup script - Install Sourcegraph Amp CLI
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
echo "đĻ Installing Sourcegraph Amp CLI..."
|
|
7
|
+
|
|
8
|
+
# Install @sourcegraph/amp globally
|
|
9
|
+
npm install -g @sourcegraph/amp
|
|
10
|
+
|
|
11
|
+
# Verify installation
|
|
12
|
+
if command -v amp &>/dev/null; then
|
|
13
|
+
echo "â Amp CLI installed successfully: $(amp --version 2>/dev/null || echo 'installed')"
|
|
14
|
+
else
|
|
15
|
+
echo "â Amp CLI installation failed"
|
|
16
|
+
exit 1
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
echo "â amp setup complete"
|
|
20
|
+
echo "âšī¸ Sourcegraph Amp: https://sourcegraph.com/amp"
|
|
21
|
+
echo "âšī¸ Run 'amp --help' to get started"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# amp overlay verification script
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
echo "đ Verifying amp overlay setup..."
|
|
7
|
+
|
|
8
|
+
# Check if amp CLI is installed
|
|
9
|
+
if ! command -v amp &>/dev/null; then
|
|
10
|
+
echo "â amp CLI is not installed or not in PATH"
|
|
11
|
+
exit 1
|
|
12
|
+
fi
|
|
13
|
+
|
|
14
|
+
echo "â amp CLI is installed: $(amp --version 2>/dev/null || echo 'installed')"
|
|
15
|
+
|
|
16
|
+
echo ""
|
|
17
|
+
echo "â
amp overlay verification complete!"
|
|
18
|
+
echo ""
|
|
19
|
+
echo "đĄ Tips:"
|
|
20
|
+
echo " - Run 'amp --help' to see available commands"
|
|
21
|
+
echo " - Authenticate with your Sourcegraph account"
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Claude Code Overlay
|
|
2
|
+
|
|
3
|
+
Adds the Anthropic Claude Code CLI (`claude`) for AI-powered development assistance directly in the terminal.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Claude Code CLI** â Interactive AI coding assistant from Anthropic
|
|
8
|
+
- **Terminal-first workflow** â Agentic coding directly from the command line
|
|
9
|
+
|
|
10
|
+
## What is Claude Code?
|
|
11
|
+
|
|
12
|
+
Claude Code is Anthropic's agentic coding tool that lives in the terminal. It understands your codebase and helps you code faster through natural conversation and autonomous task execution:
|
|
13
|
+
|
|
14
|
+
- **Code generation** â Generate new features and components
|
|
15
|
+
- **Code review** â Get feedback on your code
|
|
16
|
+
- **Debugging** â Identify and fix issues
|
|
17
|
+
- **Refactoring** â Improve existing code
|
|
18
|
+
- **Testing** â Write and run tests
|
|
19
|
+
|
|
20
|
+
## How It Works
|
|
21
|
+
|
|
22
|
+
This overlay installs `@anthropic-ai/claude-code` globally via npm, making the `claude` command available in your devcontainer.
|
|
23
|
+
|
|
24
|
+
## Common Commands
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Start an interactive session
|
|
28
|
+
claude
|
|
29
|
+
|
|
30
|
+
# Ask a one-off question
|
|
31
|
+
claude "explain this function"
|
|
32
|
+
|
|
33
|
+
# Authenticate with your Anthropic account
|
|
34
|
+
claude auth
|
|
35
|
+
|
|
36
|
+
# Check current version
|
|
37
|
+
claude --version
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Use Cases
|
|
41
|
+
|
|
42
|
+
- **Feature development** â Describe what you want to build, Claude implements it
|
|
43
|
+
- **Code review** â Get AI feedback on pull requests or code changes
|
|
44
|
+
- **Learning** â Understand unfamiliar codebases or concepts
|
|
45
|
+
- **Refactoring** â Improve code quality with AI assistance
|
|
46
|
+
- **Spec-Driven Development** â Works with the `spec-kit` overlay via `specify init --ai claude`
|
|
47
|
+
|
|
48
|
+
**Integrates well with:**
|
|
49
|
+
|
|
50
|
+
- `spec-kit` â Use Claude Code with the SDD workflow
|
|
51
|
+
- `nodejs` â Required for installation
|
|
52
|
+
- `git-helpers` â Git integration for AI-generated code
|
|
53
|
+
- `pre-commit` â Quality gates for AI-generated code
|
|
54
|
+
|
|
55
|
+
## Configuration
|
|
56
|
+
|
|
57
|
+
Authentication is managed via the Anthropic API key:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# Set your API key
|
|
61
|
+
export ANTHROPIC_API_KEY=your-api-key
|
|
62
|
+
|
|
63
|
+
# Or authenticate interactively
|
|
64
|
+
claude auth
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Verification
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
bash .devcontainer/scripts/verify-claude-code.sh
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## References
|
|
74
|
+
|
|
75
|
+
- [Claude Code Documentation](https://docs.anthropic.com/en/docs/claude-code)
|
|
76
|
+
- [Anthropic Platform](https://console.anthropic.com/)
|
|
77
|
+
|
|
78
|
+
**Related Overlays:**
|
|
79
|
+
|
|
80
|
+
- `spec-kit` â Spec-Driven Development with Claude as the AI agent
|
|
81
|
+
- `codex` â OpenAI Codex CLI (alternative AI assistant)
|
|
82
|
+
- `gemini-cli` â Google Gemini CLI (alternative AI assistant)
|
|
83
|
+
- `nodejs` â Required for npm-based installation
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
id: claude-code
|
|
2
|
+
name: Claude Code
|
|
3
|
+
description: Anthropic Claude Code 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
|
+
- claude
|
|
14
|
+
- anthropic
|
|
15
|
+
ports: []
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# claude-code setup script - Install Anthropic Claude Code CLI
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
echo "đĻ Installing Anthropic Claude Code CLI..."
|
|
7
|
+
|
|
8
|
+
# Install @anthropic-ai/claude-code globally
|
|
9
|
+
npm install -g @anthropic-ai/claude-code
|
|
10
|
+
|
|
11
|
+
# Verify installation
|
|
12
|
+
if command -v claude &>/dev/null; then
|
|
13
|
+
echo "â Claude Code CLI installed successfully: $(claude --version 2>/dev/null || echo 'installed')"
|
|
14
|
+
else
|
|
15
|
+
echo "â Claude Code CLI installation failed"
|
|
16
|
+
exit 1
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
echo "â claude-code setup complete"
|
|
20
|
+
echo "âšī¸ Anthropic Claude Code: https://docs.anthropic.com/en/docs/claude-code"
|
|
21
|
+
echo "âšī¸ Run 'claude --help' to get started"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# claude-code overlay verification script
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
echo "đ Verifying claude-code overlay setup..."
|
|
7
|
+
|
|
8
|
+
# Check if claude CLI is installed
|
|
9
|
+
if ! command -v claude &>/dev/null; then
|
|
10
|
+
echo "â claude CLI is not installed or not in PATH"
|
|
11
|
+
exit 1
|
|
12
|
+
fi
|
|
13
|
+
|
|
14
|
+
echo "â claude CLI is installed: $(claude --version 2>/dev/null || echo 'installed')"
|
|
15
|
+
|
|
16
|
+
echo ""
|
|
17
|
+
echo "â
claude-code overlay verification complete!"
|
|
18
|
+
echo ""
|
|
19
|
+
echo "đĄ Tips:"
|
|
20
|
+
echo " - Run 'claude --help' to see available commands"
|
|
21
|
+
echo " - Authenticate with: claude auth"
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Gemini CLI Overlay
|
|
2
|
+
|
|
3
|
+
Adds the Google Gemini CLI (`gemini`) for AI-powered development assistance directly in the terminal.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Gemini CLI** â Google's AI-powered coding assistant for the terminal
|
|
8
|
+
- **Gemini 2.0 Flash** â Free tier available with Google account
|
|
9
|
+
|
|
10
|
+
## What is Gemini CLI?
|
|
11
|
+
|
|
12
|
+
The Google Gemini CLI is an open-source AI agent that brings Google's Gemini models directly to your terminal workflow:
|
|
13
|
+
|
|
14
|
+
- **Code generation** â Generate code from natural language descriptions
|
|
15
|
+
- **Codebase queries** â Ask questions about your code
|
|
16
|
+
- **Agentic tasks** â Execute multi-step coding tasks autonomously
|
|
17
|
+
- **Web grounding** â Access Google Search for up-to-date information
|
|
18
|
+
|
|
19
|
+
## How It Works
|
|
20
|
+
|
|
21
|
+
This overlay installs `@google/gemini-cli` globally via npm, making the `gemini` command available in your devcontainer.
|
|
22
|
+
|
|
23
|
+
## Common Commands
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# Start an interactive session
|
|
27
|
+
gemini
|
|
28
|
+
|
|
29
|
+
# Ask a one-off question
|
|
30
|
+
gemini "how do I implement a binary search tree in TypeScript?"
|
|
31
|
+
|
|
32
|
+
# Check version
|
|
33
|
+
gemini --version
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Use Cases
|
|
37
|
+
|
|
38
|
+
- **Code generation** â Describe features, Gemini implements them
|
|
39
|
+
- **Codebase exploration** â Understand large or unfamiliar codebases
|
|
40
|
+
- **Debugging** â Diagnose and fix errors with AI help
|
|
41
|
+
- **Spec-Driven Development** â Works with `spec-kit` overlay via `specify init --ai gemini`
|
|
42
|
+
|
|
43
|
+
**Integrates well with:**
|
|
44
|
+
|
|
45
|
+
- `spec-kit` â Use Gemini CLI with the SDD workflow
|
|
46
|
+
- `nodejs` â Required for installation
|
|
47
|
+
- `git-helpers` â Git integration for AI-generated code
|
|
48
|
+
|
|
49
|
+
## Configuration
|
|
50
|
+
|
|
51
|
+
Authenticate using your Google account or a Gemini API key:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Interactive authentication (opens browser)
|
|
55
|
+
gemini auth
|
|
56
|
+
|
|
57
|
+
# Or set API key
|
|
58
|
+
export GEMINI_API_KEY=your-api-key
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Verification
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
bash .devcontainer/scripts/verify-gemini-cli.sh
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## References
|
|
68
|
+
|
|
69
|
+
- [Gemini CLI GitHub](https://github.com/google-gemini/gemini-cli)
|
|
70
|
+
- [Google AI Studio](https://aistudio.google.com/)
|
|
71
|
+
|
|
72
|
+
**Related Overlays:**
|
|
73
|
+
|
|
74
|
+
- `spec-kit` â Spec-Driven Development with Gemini as the AI agent
|
|
75
|
+
- `codex` â OpenAI Codex CLI (alternative AI assistant)
|
|
76
|
+
- `claude-code` â Anthropic Claude Code (alternative AI assistant)
|
|
77
|
+
- `nodejs` â Required for npm-based installation
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
id: gemini-cli
|
|
2
|
+
name: Gemini CLI
|
|
3
|
+
description: Google Gemini 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
|
+
- gemini
|
|
14
|
+
- google
|
|
15
|
+
ports: []
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# gemini-cli setup script - Install Google Gemini CLI
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
echo "đĻ Installing Google Gemini CLI..."
|
|
7
|
+
|
|
8
|
+
# Install @google/gemini-cli globally
|
|
9
|
+
npm install -g @google/gemini-cli
|
|
10
|
+
|
|
11
|
+
# Verify installation
|
|
12
|
+
if command -v gemini &>/dev/null; then
|
|
13
|
+
echo "â Gemini CLI installed successfully: $(gemini --version 2>/dev/null || echo 'installed')"
|
|
14
|
+
else
|
|
15
|
+
echo "â Gemini CLI installation failed"
|
|
16
|
+
exit 1
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
echo "â gemini-cli setup complete"
|
|
20
|
+
echo "âšī¸ Google Gemini CLI: https://github.com/google-gemini/gemini-cli"
|
|
21
|
+
echo "âšī¸ Run 'gemini --help' to get started"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# gemini-cli overlay verification script
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
echo "đ Verifying gemini-cli overlay setup..."
|
|
7
|
+
|
|
8
|
+
# Check if gemini CLI is installed
|
|
9
|
+
if ! command -v gemini &>/dev/null; then
|
|
10
|
+
echo "â gemini CLI is not installed or not in PATH"
|
|
11
|
+
exit 1
|
|
12
|
+
fi
|
|
13
|
+
|
|
14
|
+
echo "â gemini CLI is installed: $(gemini --version 2>/dev/null || echo 'installed')"
|
|
15
|
+
|
|
16
|
+
echo ""
|
|
17
|
+
echo "â
gemini-cli overlay verification complete!"
|
|
18
|
+
echo ""
|
|
19
|
+
echo "đĄ Tips:"
|
|
20
|
+
echo " - Run 'gemini --help' to see available commands"
|
|
21
|
+
echo " - Authenticate with your Google account or API key"
|