claudepod 1.1.1 → 1.2.1

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.
Files changed (76) hide show
  1. package/.devcontainer/.env +18 -0
  2. package/.devcontainer/CHANGELOG.md +68 -0
  3. package/.devcontainer/CLAUDE.md +100 -0
  4. package/.devcontainer/README.md +220 -0
  5. package/.devcontainer/config/main-system-prompt.md +118 -0
  6. package/.devcontainer/config/settings.json +41 -0
  7. package/.devcontainer/devcontainer.json +71 -113
  8. package/.devcontainer/features/README.md +113 -0
  9. package/.devcontainer/features/ast-grep/README.md +24 -0
  10. package/.devcontainer/features/ast-grep/devcontainer-feature.json +24 -0
  11. package/.devcontainer/features/ast-grep/install.sh +51 -0
  12. package/.devcontainer/features/ccstatusline/README.md +296 -0
  13. package/.devcontainer/features/ccstatusline/devcontainer-feature.json +19 -0
  14. package/.devcontainer/features/ccstatusline/install.sh +290 -0
  15. package/.devcontainer/features/ccusage/README.md +205 -0
  16. package/.devcontainer/features/ccusage/devcontainer-feature.json +38 -0
  17. package/.devcontainer/features/ccusage/install.sh +132 -0
  18. package/.devcontainer/features/claude-code/README.md +498 -0
  19. package/.devcontainer/features/claude-code/config/settings.json +36 -0
  20. package/.devcontainer/features/claude-code/config/system-prompt.md +118 -0
  21. package/.devcontainer/features/claude-code/config/world-building-sp.md +1432 -0
  22. package/.devcontainer/features/claude-code/devcontainer-feature.json +42 -0
  23. package/.devcontainer/features/claude-code/install.sh +466 -0
  24. package/.devcontainer/features/claude-monitor/README.md +74 -0
  25. package/.devcontainer/features/claude-monitor/devcontainer-feature.json +38 -0
  26. package/.devcontainer/features/claude-monitor/install.sh +99 -0
  27. package/.devcontainer/features/lsp-servers/README.md +85 -0
  28. package/.devcontainer/features/lsp-servers/devcontainer-feature.json +34 -0
  29. package/.devcontainer/features/lsp-servers/install.sh +92 -0
  30. package/.devcontainer/features/mcp-qdrant/CHANGES.md +399 -0
  31. package/.devcontainer/features/mcp-qdrant/README.md +474 -0
  32. package/.devcontainer/features/mcp-qdrant/devcontainer-feature.json +57 -0
  33. package/.devcontainer/features/mcp-qdrant/install.sh +295 -0
  34. package/.devcontainer/features/mcp-qdrant/poststart-hook.sh +129 -0
  35. package/.devcontainer/features/mcp-reasoner/README.md +177 -0
  36. package/.devcontainer/features/mcp-reasoner/devcontainer-feature.json +20 -0
  37. package/.devcontainer/features/mcp-reasoner/install.sh +177 -0
  38. package/.devcontainer/features/mcp-reasoner/poststart-hook.sh +67 -0
  39. package/.devcontainer/features/splitrail/README.md +140 -0
  40. package/.devcontainer/features/splitrail/devcontainer-feature.json +34 -0
  41. package/.devcontainer/features/splitrail/install.sh +129 -0
  42. package/.devcontainer/features/tree-sitter/README.md +138 -0
  43. package/.devcontainer/features/tree-sitter/devcontainer-feature.json +52 -0
  44. package/.devcontainer/features/tree-sitter/install.sh +173 -0
  45. package/.devcontainer/scripts/setup-aliases.sh +52 -0
  46. package/.devcontainer/scripts/setup-config.sh +28 -0
  47. package/.devcontainer/scripts/setup-irie-claude.sh +32 -0
  48. package/.devcontainer/scripts/setup-lsp.sh +20 -0
  49. package/.devcontainer/scripts/setup-plugins.sh +31 -0
  50. package/.devcontainer/scripts/setup.sh +60 -0
  51. package/README.md +163 -177
  52. package/package.json +5 -9
  53. package/setup.js +2 -2
  54. package/.devcontainer/config/claude/mcp.json +0 -77
  55. package/.devcontainer/config/claude/mcp.json.backup +0 -77
  56. package/.devcontainer/config/claude/mcp.json.template +0 -118
  57. package/.devcontainer/config/claude/output-styles/strict-development.md +0 -158
  58. package/.devcontainer/config/claude/settings.json +0 -10
  59. package/.devcontainer/config/claude/system-prompt.md +0 -3
  60. package/.devcontainer/config/searxng/ods_config.json +0 -16
  61. package/.devcontainer/config/searxng/searxng_env_template +0 -71
  62. package/.devcontainer/config/serena/serena_config.yml +0 -72
  63. package/.devcontainer/config/taskmaster/config.json +0 -37
  64. package/.devcontainer/ods_config.json +0 -21
  65. package/.devcontainer/post-create.sh +0 -1077
  66. package/.devcontainer/post-start.sh +0 -551
  67. package/.devcontainer/sanitize-system-prompt.sh +0 -31
  68. package/.devcontainer/scripts/config/claude-core.sh +0 -210
  69. package/.devcontainer/scripts/config/searxng.sh +0 -252
  70. package/.devcontainer/scripts/config/serena.sh +0 -47
  71. package/.devcontainer/scripts/config/taskmaster.sh +0 -41
  72. package/.devcontainer/scripts/generate-mcp-config.js +0 -205
  73. package/.devcontainer/scripts/install/claude-code.sh +0 -112
  74. package/.devcontainer/scripts/shell/zsh-config.sh +0 -271
  75. package/.devcontainer/scripts/utils.sh +0 -44
  76. package/.devcontainer/setup-zsh.sh +0 -234
@@ -0,0 +1,18 @@
1
+ # ClaudePod Environment Configuration
2
+
3
+ # Paths
4
+ CLAUDE_CONFIG_DIR=/workspaces/.claude
5
+ # CONFIG_SOURCE_DIR is derived from script location; uncomment to override:
6
+ # CONFIG_SOURCE_DIR=/custom/path/to/config
7
+
8
+ # Setup: copy config files to CLAUDE_CONFIG_DIR
9
+ SETUP_CONFIG=true
10
+
11
+ # Setup: overwrite existing config files (false = skip if exists)
12
+ OVERWRITE_CONFIG=true
13
+
14
+ # Setup: add cc alias to shell rc files
15
+ SETUP_ALIASES=true
16
+
17
+ # Setup: install official Anthropic plugins
18
+ SETUP_PLUGINS=true
@@ -0,0 +1,68 @@
1
+ # ClaudePod Devcontainer Changelog
2
+
3
+ ## [2025-01-19] Documentation & GitHub CLI Persistence
4
+
5
+ ### Added
6
+ - **README.md**: Comprehensive documentation including:
7
+ - Prerequisites and quick start guide
8
+ - GitHub CLI authentication instructions (interactive and token-based)
9
+ - Available tools reference tables
10
+ - Configuration guide
11
+ - Essential gotchas
12
+ - **CLAUDE.md**: Development guide for Claude Code with:
13
+ - Directory structure overview
14
+ - Key configuration files reference
15
+ - Command reference
16
+ - Feature development guide
17
+ - Setup scripts documentation
18
+ - **GitHub CLI Credential Persistence**: Added `GH_CONFIG_DIR=/workspaces/.gh` to `remoteEnv` so credentials survive container rebuilds
19
+
20
+ ### Files Created
21
+ - `/workspaces/.devcontainer/README.md`
22
+ - `/workspaces/.devcontainer/CLAUDE.md`
23
+
24
+ ### Files Modified
25
+ - `/workspaces/.devcontainer/devcontainer.json` - Added `GH_CONFIG_DIR` environment variable
26
+
27
+ ---
28
+
29
+ ## [2025-01-19] Configuration Updates
30
+
31
+ ### Added
32
+ - **GitHub CLI**: Added `ghcr.io/devcontainers/features/github-cli:1` feature for GitHub operations
33
+ - **Official Anthropic Plugins**: New `setup-plugins.sh` script installs 7 official plugins:
34
+ - `@anthropics/claude-plugins-official/frontend-design`
35
+ - `@anthropics/claude-plugins-official/code-review`
36
+ - `@anthropics/claude-plugins-official/commit-commands`
37
+ - `@anthropics/claude-plugins-official/pr-review-toolkit`
38
+ - `@anthropics/claude-plugins-official/typescript-lsp`
39
+ - `@anthropics/claude-plugins-official/pyright-lsp`
40
+ - `@anthropics/claude-plugins-official/code-simplifier`
41
+ - **SETUP_PLUGINS** environment variable to control plugin installation
42
+
43
+ ### Changed
44
+ - **Plan Mode Default**: Changed `defaultMode` from `"dontAsk"` to `"plan"` in settings.json
45
+ - **cc Command**: Replaced simple alias with smart function that:
46
+ - Checks for `.claude/system-prompt.md` in current directory
47
+ - Auto-creates from `/workspaces/.devcontainer/config/main-system-prompt.md` if missing
48
+ - Enables per-project system prompt customization
49
+
50
+ ### Removed
51
+ - **Specwright**: Completely removed (setup script, aliases, plugin files, ORCHESTRATOR.md)
52
+
53
+ ### Files Modified
54
+ - `/workspaces/.devcontainer/devcontainer.json` - Added GitHub CLI feature
55
+ - `/workspaces/.devcontainer/config/settings.json` - Set defaultMode to plan
56
+ - `/workspaces/.devcontainer/scripts/setup-aliases.sh` - Replaced cc alias with function
57
+ - `/workspaces/.devcontainer/.env` - Removed specwright, added plugins
58
+ - `/workspaces/.devcontainer/scripts/setup.sh` - Removed specwright, added setup-plugins.sh
59
+
60
+ ### Files Deleted
61
+ - `/workspaces/.devcontainer/scripts/setup-specwright.sh`
62
+ - `/workspaces/.claude/ORCHESTRATOR.md`
63
+ - `/workspaces/.claude/plugins/marketplaces/specwright-marketplace/`
64
+ - `/workspaces/.claude/plugins/cache/specwright-marketplace/`
65
+
66
+ ### Files Created
67
+ - `/workspaces/.devcontainer/scripts/setup-plugins.sh` - Plugin installer script
68
+ - `/workspaces/.devcontainer/CHANGELOG.md` - This changelog
@@ -0,0 +1,100 @@
1
+ # DevContainer Development Guide
2
+
3
+ ClaudePod devcontainer for AI-assisted development with Claude Code.
4
+
5
+ ## Directory Structure
6
+
7
+ ```
8
+ /workspaces/
9
+ ├── .devcontainer/ # Container configuration (this directory)
10
+ │ ├── devcontainer.json # Main container definition
11
+ │ ├── .env # Environment variables
12
+ │ ├── config/ # Default configurations
13
+ │ │ ├── settings.json # Claude Code settings
14
+ │ │ └── main-system-prompt.md
15
+ │ ├── features/ # Custom devcontainer features
16
+ │ └── scripts/ # Setup scripts
17
+ ├── .claude/ # Runtime Claude config (created on first run)
18
+ │ ├── settings.json # Active settings
19
+ │ └── system-prompt.md # Active system prompt
20
+ └── .gh/ # GitHub CLI config (persists across rebuilds)
21
+ └── hosts.yml # Authenticated hosts
22
+ ```
23
+
24
+ ## Key Configuration Files
25
+
26
+ | File | Purpose |
27
+ |------|---------|
28
+ | `devcontainer.json` | Container definition: base image, features, mounts, environment |
29
+ | `.env` | Environment variables controlling setup behavior |
30
+ | `config/settings.json` | Claude Code defaults: model, tokens, permissions, plugins |
31
+ | `config/main-system-prompt.md` | Default system prompt defining assistant behavior |
32
+
33
+ ## Commands
34
+
35
+ | Command | Purpose |
36
+ |---------|---------|
37
+ | `cc` | Run Claude Code with auto-configuration (creates local `.claude/` if needed) |
38
+ | `claude` | Direct Claude Code CLI |
39
+ | `ccusage` | Analyze token usage history |
40
+ | `gh` | GitHub CLI for repo operations |
41
+ | `uv` | Fast Python package manager |
42
+ | `ast-grep` | Structural code search |
43
+
44
+ ## Feature Development
45
+
46
+ Custom features live in `./features/`. Each feature follows the [devcontainer feature spec](https://containers.dev/implementors/features/):
47
+
48
+ ```
49
+ features/
50
+ └── my-feature/
51
+ ├── devcontainer-feature.json # Metadata and options
52
+ ├── install.sh # Installation script
53
+ └── README.md # Documentation
54
+ ```
55
+
56
+ To test a feature locally, reference it in `devcontainer.json`:
57
+ ```json
58
+ "features": {
59
+ "./features/my-feature": {}
60
+ }
61
+ ```
62
+
63
+ ## Setup Scripts
64
+
65
+ Scripts in `./scripts/` run via `postStartCommand`:
66
+
67
+ | Script | Purpose |
68
+ |--------|---------|
69
+ | `setup.sh` | Main orchestrator |
70
+ | `setup-config.sh` | Copies config files to `/workspaces/.claude/` |
71
+ | `setup-aliases.sh` | Creates `cc` shell function |
72
+ | `setup-lsp.sh` | Installs LSP plugins |
73
+ | `setup-plugins.sh` | Installs official Anthropic plugins |
74
+
75
+ ## Installed Plugins
76
+
77
+ Automatically installed on container start:
78
+
79
+ - `frontend-design@claude-plugins-official`
80
+ - `code-review@claude-plugins-official`
81
+ - `commit-commands@claude-plugins-official`
82
+ - `pr-review-toolkit@claude-plugins-official`
83
+
84
+ ## Environment Variables
85
+
86
+ Key environment variables set in the container:
87
+
88
+ | Variable | Value |
89
+ |----------|-------|
90
+ | `WORKSPACE_ROOT` | `/workspaces` |
91
+ | `CLAUDE_CONFIG_DIR` | `/workspaces/.claude` |
92
+ | `GH_CONFIG_DIR` | `/workspaces/.gh` |
93
+ | `ANTHROPIC_MODEL` | `claude-opus-4-5-20251101` |
94
+
95
+ ## Modifying Behavior
96
+
97
+ 1. **Change default model**: Edit `config/settings.json`, update `"model"` field
98
+ 2. **Change system prompt**: Edit `config/main-system-prompt.md`
99
+ 3. **Add features**: Add to `"features"` in `devcontainer.json`
100
+ 4. **Disable auto-setup**: Set variables to `false` in `.env`
@@ -0,0 +1,220 @@
1
+ # ClaudePod DevContainer
2
+
3
+ [![License: GPL-3.0](https://img.shields.io/badge/License-GPL%203.0-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
4
+ [![npm version](https://img.shields.io/npm/v/claudepod.svg)](https://www.npmjs.com/package/claudepod)
5
+
6
+ A curated development environment optimized for AI-powered coding with Claude Code. ClaudePod comes pre-configured with language servers, code intelligence tools, and official Anthropic plugins to streamline your development workflow.
7
+
8
+ ## Prerequisites
9
+
10
+ - **Docker Desktop** (or compatible container runtime like Podman)
11
+ - **VS Code** with the [Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers), or **GitHub Codespaces**
12
+ - **Claude Code authentication** - see [Authentication](#authentication) section
13
+
14
+ ## Quick Start
15
+
16
+ 1. **Open in Container**
17
+ - VS Code: Open the folder, then select "Reopen in Container" from the command palette
18
+ - Codespaces: Create a new codespace from this repository
19
+
20
+ 2. **Authenticate** (first time only)
21
+ ```bash
22
+ claude
23
+ ```
24
+ Follow the prompts to authenticate via browser or API key.
25
+
26
+ 3. **Start Claude Code**
27
+ ```bash
28
+ cc
29
+ ```
30
+
31
+ ## Authentication
32
+
33
+ Claude Code supports multiple authentication methods. On first run, you'll be prompted to choose:
34
+
35
+ ### Browser Login (Recommended)
36
+
37
+ ```bash
38
+ claude
39
+ ```
40
+
41
+ Select "Login with browser" and complete authentication in your browser. This uses your Claude.ai account.
42
+
43
+ ### API Key
44
+
45
+ For programmatic access or environments without browsers:
46
+
47
+ ```bash
48
+ export ANTHROPIC_API_KEY="sk-ant-..."
49
+ claude
50
+ ```
51
+
52
+ Get an API key from [console.anthropic.com](https://console.anthropic.com/).
53
+
54
+ ### Credential Persistence
55
+
56
+ Authentication credentials are stored in `/workspaces/.claude/` and persist across container rebuilds.
57
+
58
+ For more options, see the [Claude Code documentation](https://docs.anthropic.com/en/docs/claude-code).
59
+
60
+ ## GitHub CLI Authentication
61
+
62
+ GitHub CLI (`gh`) is pre-installed for repository operations like pushing code, creating pull requests, and accessing private repositories.
63
+
64
+ ### Interactive Login (Recommended)
65
+
66
+ ```bash
67
+ gh auth login
68
+ ```
69
+
70
+ Follow the prompts:
71
+ 1. Select **GitHub.com** (or your enterprise server)
72
+ 2. Choose your preferred protocol: **HTTPS** (recommended) or **SSH**
73
+ 3. Authenticate via **browser** (easiest) or paste a personal access token
74
+
75
+ ### Token-Based Login
76
+
77
+ For automated setups or environments without browser access:
78
+
79
+ ```bash
80
+ # From a file
81
+ gh auth login --with-token < ~/github-token.txt
82
+
83
+ # From environment variable
84
+ echo "$GITHUB_TOKEN" | gh auth login --with-token
85
+ ```
86
+
87
+ Generate a token at [github.com/settings/tokens](https://github.com/settings/tokens) with appropriate scopes (typically `repo`, `read:org`).
88
+
89
+ ### Verifying Authentication
90
+
91
+ ```bash
92
+ gh auth status
93
+ ```
94
+
95
+ Expected output shows your authenticated account and token scopes.
96
+
97
+ ### Credential Persistence
98
+
99
+ GitHub CLI credentials are automatically persisted across container rebuilds. The container is configured to store credentials in `/workspaces/.gh/` (via `GH_CONFIG_DIR`), which is part of the bind-mounted workspace.
100
+
101
+ **You only need to authenticate once.** After running `gh auth login`, your credentials will survive container rebuilds and be available in future sessions.
102
+
103
+ ## Available Tools
104
+
105
+ ### Languages & Runtimes
106
+ | Tool | Description |
107
+ |------|-------------|
108
+ | Python 3.14 | Base language runtime |
109
+ | Node.js LTS | JavaScript runtime |
110
+ | TypeScript | Via Node.js |
111
+
112
+ ### Package Managers
113
+ | Tool | Description |
114
+ |------|-------------|
115
+ | `uv` | Fast Python package manager (pip alternative) |
116
+ | `npm` | Node.js package manager |
117
+ | `pip` / `pipx` | Python package installers |
118
+
119
+ ### Development Tools
120
+ | Tool | Description |
121
+ |------|-------------|
122
+ | `gh` | GitHub CLI for repository operations |
123
+ | `docker` | Container CLI (connects to host Docker) |
124
+ | `git` | Version control |
125
+ | `jq` | JSON processor |
126
+ | `curl` | HTTP client |
127
+
128
+ ### Code Intelligence
129
+ | Tool | Description |
130
+ |------|-------------|
131
+ | tree-sitter | AST parsing for JavaScript, TypeScript, Python |
132
+ | ast-grep | Structural code search and rewriting |
133
+ | Pyright | Python language server |
134
+ | TypeScript LSP | TypeScript/JavaScript language server |
135
+
136
+ ### Claude Code Tools
137
+ | Tool | Description |
138
+ |------|-------------|
139
+ | `claude` | Claude Code CLI |
140
+ | `cc` | Wrapper with auto-configuration |
141
+ | `ccusage` | Token usage analyzer |
142
+ | `ccstatusline` | Status line for sessions |
143
+ | `claude-monitor` | Real-time usage tracking |
144
+
145
+ ## Using Claude Code
146
+
147
+ ### The `cc` Command
148
+
149
+ The `cc` command is a wrapper that:
150
+ - Creates a project-local `.claude/` directory if missing
151
+ - Copies default configuration files
152
+ - Launches Claude Code with the project's system prompt
153
+
154
+ ```bash
155
+ cc # Start Claude Code in current directory
156
+ cc "explain this" # Start with an initial prompt
157
+ ```
158
+
159
+ ### Direct CLI
160
+
161
+ For more control, use the `claude` command directly:
162
+
163
+ ```bash
164
+ claude # Basic invocation
165
+ claude --help # View all options
166
+ claude --resume # Resume previous session
167
+ ```
168
+
169
+ ## Configuration
170
+
171
+ ### Environment Variables
172
+
173
+ Edit `.devcontainer/.env` to customize behavior:
174
+
175
+ | Variable | Default | Description |
176
+ |----------|---------|-------------|
177
+ | `CLAUDE_CONFIG_DIR` | `/workspaces/.claude` | Claude configuration directory |
178
+ | `SETUP_CONFIG` | `true` | Copy config files during setup |
179
+ | `OVERWRITE_CONFIG` | `true` | Overwrite existing configs |
180
+ | `SETUP_ALIASES` | `true` | Add `cc` alias to shell |
181
+ | `SETUP_PLUGINS` | `true` | Install official plugins |
182
+
183
+ ### Claude Code Settings
184
+
185
+ Default settings are in `.devcontainer/config/settings.json`. These are copied to `/workspaces/.claude/settings.json` on first run.
186
+
187
+ Key defaults:
188
+ - **Model**: Claude Opus 4.5
189
+ - **Default mode**: Plan (prompts before executing)
190
+ - **Max output tokens**: 64,000
191
+
192
+ ### System Prompt
193
+
194
+ The default system prompt is in `.devcontainer/config/main-system-prompt.md`. Override it by creating a `.claude/system-prompt.md` in your project directory.
195
+
196
+ ## Custom Features
197
+
198
+ ClaudePod includes several custom devcontainer features:
199
+
200
+ | Feature | Description |
201
+ |---------|-------------|
202
+ | `claude-monitor` | Real-time token usage monitoring with ML predictions |
203
+ | `ccusage` | Usage analytics CLI |
204
+ | `ccstatusline` | Compact powerline status display |
205
+ | `ast-grep` | Structural code search using AST patterns |
206
+ | `tree-sitter` | Parser with JS/TS/Python grammars |
207
+ | `lsp-servers` | Pyright and TypeScript language servers |
208
+
209
+ ## Essential Gotchas
210
+
211
+ - **Authentication required**: Run `claude` once to authenticate before using `cc`
212
+ - **Plan mode default**: The container starts in "plan" mode, which prompts for approval before making changes
213
+ - **Project-local config**: The `cc` command creates `.claude/` in your current directory for project-specific settings
214
+ - **GitHub auth persists**: Run `gh auth login` once; credentials survive container rebuilds (stored in `/workspaces/.gh/`)
215
+
216
+ ## Further Reading
217
+
218
+ - [Claude Code Documentation](https://docs.anthropic.com/en/docs/claude-code)
219
+ - [Dev Containers Specification](https://containers.dev/)
220
+ - [GitHub CLI Manual](https://cli.github.com/manual/)
@@ -0,0 +1,118 @@
1
+ <identity>
2
+ You are Alira.
3
+ </identity>
4
+
5
+ <response_guidelines>
6
+ Begin responses with substantive content.
7
+
8
+ Match emoji usage to source material or explicit requests.
9
+
10
+ Mark uncertainty explicitly. Distinguish confirmed facts from inference.
11
+
12
+ <example>
13
+ User: "What's the best sorting algorithm?"
14
+ Alira: "Context determines the answer. For nearly-sorted data, insertion sort excels. For general-purpose use with guaranteed O(n log n), merge sort or heapsort. What's your use case?"
15
+ </example>
16
+ </response_guidelines>
17
+
18
+ <core_directives>
19
+ Execute rigorously. Pass to all subagents. Deviation requires explicit user approval.
20
+
21
+ Write minimal code that satisfies requirements.
22
+
23
+ Address concrete problems present in the codebase.
24
+
25
+ When theory conflicts with working solutions, follow working solutions.
26
+
27
+ Data structures and their relationships are the foundation; code follows from them.
28
+
29
+ The right abstraction handles all cases uniformly.
30
+
31
+ <orchestration>
32
+ Main thread: orchestration and code modification only.
33
+
34
+ Subagents handle all information gathering—file reading, searches, context assembly, dependency analysis, test execution. Subagents report; main thread synthesizes, decides, acts.
35
+
36
+ <example>
37
+ User: "Update the authentication module to use JWT"
38
+ Alira: Spawns subagent to gather current auth implementation, token handling, test coverage. Receives findings. Main thread plans and executes modifications.
39
+ </example>
40
+ </orchestration>
41
+
42
+ <task_handling>
43
+ Present task interpretation and await approval before work begins.
44
+
45
+ When uncertain, deploy subagent to gather clarifying context. Ask user only when ambiguity persists after subagent findings.
46
+
47
+ Present plans, await approval. Execute directly only when explicitly instructed or trivially simple.
48
+
49
+ <example>
50
+ User: "Refactor the data layer"
51
+ Alira: "Interpretation: restructure repository pattern in /src/data/ to reduce coupling between models and persistence logic. Scope: UserRepository, OrderRepository, shared base class. Tests updated to match. Proceed?"
52
+ </example>
53
+ </task_handling>
54
+
55
+ <context_overflow>
56
+ When context nears capacity: stop. State remaining capacity and work status. Wait for user direction.
57
+ </context_overflow>
58
+ </core_directives>
59
+
60
+ <code_directives>
61
+ Python: 2-3 nesting levels. Other languages: 3-4 levels. Extract functions beyond these thresholds.
62
+
63
+ Functions: short, single purpose.
64
+
65
+ Handle errors at appropriate boundaries with general patterns.
66
+
67
+ Special cases signal architectural gaps. Redesign for uniform handling.
68
+
69
+ Optimize performance with measured evidence of user impact. Prefer simple code over marginal speed gains.
70
+
71
+ Verify changes preserve existing functionality. Document issues exceeding context limits and request guidance.
72
+
73
+ <documentation>
74
+ Inline comments explain *why*, only when non-obvious. Routine documentation belongs in docblocks: purpose, parameters, return values, usage.
75
+
76
+ <example>
77
+ # why (correct)
78
+ offset = len(header) + 1 # null terminator in legacy format
79
+
80
+ # what (unnecessary)
81
+
82
+ offset = len(header) + 1 # add one to header length
83
+ </example>
84
+ </documentation>
85
+
86
+ <code_standards>
87
+ Files: small, focused, single purpose. One reason to change per file.
88
+
89
+ <solid>
90
+ Single Responsibility: each module, class, function owns one concern.
91
+
92
+ Open/Closed: extend behavior through composition and abstraction; existing code remains stable.
93
+
94
+ Liskov Substitution: subtypes fulfill the contracts of their parents completely.
95
+
96
+ Interface Segregation: small, specific interfaces. Clients depend only on methods they use.
97
+
98
+ Dependency Inversion: depend on abstractions. High-level modules and low-level modules both point toward interfaces.
99
+ </solid>
100
+
101
+ <principles>
102
+ DRY: single source of truth for knowledge and logic. Extract, reference, reuse.
103
+
104
+ KISS: favor straightforward solutions. Complexity requires justification.
105
+
106
+ YAGNI: implement for current requirements. Speculative features wait until needed.
107
+
108
+ Convention over Configuration: follow established patterns; configure only where deviation is necessary.
109
+
110
+ Law of Demeter: objects interact with immediate collaborators. Avoid reaching through chains.
111
+ </principles>
112
+
113
+ <example>
114
+ User: "Add email notifications when orders ship"
115
+ Alira: Creates NotificationService interface, EmailNotifier implementation, injects into OrderService. OrderService calls notifier.send()—unaware of email specifics. One file per component.
116
+ </example>
117
+ </code_standards>
118
+ </code_directives>
@@ -0,0 +1,41 @@
1
+ {
2
+ "cleanupPeriodDays": 360,
3
+ "env": {
4
+ "ANTHROPIC_MODEL": "claude-opus-4-5-20251101",
5
+ "CLAUDE_CODE_SUBAGENT_MODEL": "claude-opus-4-5-20251101",
6
+ "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-5-20251101",
7
+ "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5-20250929",
8
+ "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5-20251001",
9
+ "BASH_DEFAULT_TIMEOUT_MS": "240000",
10
+ "BASH_MAX_TIMEOUT_MS": "600000",
11
+ "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "true",
12
+ "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "64000",
13
+ "MAX_MCP_OUTPUT_TOKENS": "10000",
14
+ "MAX_THINKING_TOKENS": "14999",
15
+ "MCP_TIMEOUT": "120000",
16
+ "MCP_TOOL_TIMEOUT": "30000"
17
+ },
18
+ "includeCoAuthoredBy": false,
19
+ "permissions": {
20
+ "allow": [
21
+ "Read(/workspaces/*)",
22
+ "WebFetch(domain:*)"
23
+ ],
24
+ "deny": [],
25
+ "ask": [],
26
+ "defaultMode": "plan",
27
+ "additionalDirectories": []
28
+ },
29
+ "model": "opus",
30
+ "enabledMcpjsonServers": [],
31
+ "disabledMcpjsonServers": [],
32
+ "hooks": {},
33
+ "statusLine": {
34
+ "type": "command",
35
+ "command": "/usr/local/bin/ccstatusline-wrapper"
36
+ },
37
+ "enabledPlugins": {
38
+ "frontend-design@claude-code-plugins": true
39
+ },
40
+ "outputStyle": ""
41
+ }