claudepod 1.2.2 → 1.3.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 (45) hide show
  1. package/.devcontainer/CHANGELOG.md +179 -50
  2. package/.devcontainer/CLAUDE.md +24 -7
  3. package/.devcontainer/README.md +2 -0
  4. package/.devcontainer/config/main-system-prompt.md +357 -81
  5. package/.devcontainer/config/settings.json +6 -3
  6. package/.devcontainer/devcontainer.json +17 -5
  7. package/.devcontainer/features/agent-browser/README.md +65 -0
  8. package/.devcontainer/features/agent-browser/devcontainer-feature.json +23 -0
  9. package/.devcontainer/features/agent-browser/install.sh +72 -0
  10. package/.devcontainer/features/lsp-servers/devcontainer-feature.json +8 -2
  11. package/.devcontainer/features/lsp-servers/install.sh +25 -1
  12. package/.devcontainer/features/notify-hook/README.md +86 -0
  13. package/.devcontainer/features/notify-hook/devcontainer-feature.json +23 -0
  14. package/.devcontainer/features/notify-hook/install.sh +38 -0
  15. package/.devcontainer/plugins/devs-marketplace/.claude-plugin/marketplace.json +99 -0
  16. package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/.claude-plugin/plugin.json +7 -0
  17. package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/hooks/hooks.json +17 -0
  18. package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/scripts/format-file.py +101 -0
  19. package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/.claude-plugin/plugin.json +7 -0
  20. package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/hooks/hooks.json +17 -0
  21. package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/scripts/lint-file.py +137 -0
  22. package/.devcontainer/plugins/devs-marketplace/plugins/claudepod-lsp/.claude-plugin/plugin.json +7 -0
  23. package/.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/.claude-plugin/plugin.json +7 -0
  24. package/.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/hooks/hooks.json +17 -0
  25. package/.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/scripts/block-dangerous.py +110 -0
  26. package/.devcontainer/plugins/devs-marketplace/plugins/notify-hook/.claude-plugin/plugin.json +7 -0
  27. package/.devcontainer/plugins/devs-marketplace/plugins/notify-hook/hooks/hooks.json +16 -0
  28. package/.devcontainer/plugins/devs-marketplace/plugins/planning-reminder/.claude-plugin/plugin.json +7 -0
  29. package/.devcontainer/plugins/devs-marketplace/plugins/planning-reminder/hooks/hooks.json +17 -0
  30. package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/.claude-plugin/plugin.json +7 -0
  31. package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/hooks/hooks.json +17 -0
  32. package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/scripts/guard-protected.py +108 -0
  33. package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/.claude-plugin/commands/ticket:create-pr.md +337 -0
  34. package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/.claude-plugin/commands/ticket:new.md +166 -0
  35. package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/.claude-plugin/commands/ticket:review-commit.md +290 -0
  36. package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/.claude-plugin/commands/ticket:work.md +257 -0
  37. package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/.claude-plugin/plugin.json +8 -0
  38. package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/.claude-plugin/system-prompt.md +184 -0
  39. package/.devcontainer/scripts/setup-aliases.sh +41 -13
  40. package/.devcontainer/scripts/setup-plugins.sh +35 -13
  41. package/.devcontainer/scripts/setup.sh +1 -3
  42. package/README.md +37 -0
  43. package/package.json +1 -2
  44. package/setup.js +14 -6
  45. package/.devcontainer/scripts/setup-lsp.sh +0 -20
@@ -1,68 +1,197 @@
1
1
  # ClaudePod Devcontainer Changelog
2
2
 
3
- ## [2025-01-19] Documentation & GitHub CLI Persistence
3
+ ## [v1.3.1] - 2025-01-24
4
+
5
+ ### Fixed
6
+
7
+ - **Plugin installation**: Fixed invalid plugin.json schema causing installation failures
8
+ - Removed `$schema`, `category`, `version`, `lspServers` keys from individual plugin.json files
9
+ - These fields now correctly reside only in `marketplace.json`
10
+ - **setup-plugins.sh**: Fixed path resolution for marketplace discovery
11
+ - Changed from `${containerWorkspaceFolder:-.}` to `SCRIPT_DIR` relative path
12
+ - Script now works correctly regardless of working directory
13
+
14
+ ### Changed
15
+
16
+ - **Consolidated LSP setup**: Merged `setup-lsp.sh` into `setup-plugins.sh`
17
+ - Single script now handles both official and local marketplace plugins
18
+ - Removed `SETUP_LSP` environment variable (no longer needed)
19
+ - **settings.json**: Updated Claude Code configuration
20
+ - Increased `MAX_THINKING_TOKENS` from 14999 to 63999
21
+ - Added `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`: 80 (auto-compact at 80% context)
22
+ - Added `CLAUDE_CODE_SHELL`: zsh
23
+ - Added `FORCE_AUTOUPDATE_PLUGINS`: true
24
+ - Added `autoUpdatesChannel`: "latest"
25
+
26
+ ### Removed
27
+
28
+ - **setup-lsp.sh**: Deleted (functionality consolidated into setup-plugins.sh)
29
+
30
+ ---
31
+
32
+ ## [v1.3.0] - 2025-01-24
4
33
 
5
34
  ### 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
35
+
36
+ #### Code Quality Hooks
37
+ - **dangerous-command-blocker**: PreToolUse hook blocks dangerous bash commands
38
+ - Blocks `rm -rf /`, `rm -rf ~`, `sudo rm`, `chmod 777`
39
+ - Blocks `git push --force` to main/master
40
+ - Blocks writes to system directories (`/usr`, `/etc`, `/bin`)
41
+ - Blocks disk formatting (`mkfs.*`, `dd of=/dev/`)
42
+ - **protected-files-guard**: PreToolUse hook blocks modifications to sensitive files
43
+ - Blocks `.env`, `.env.*` environment files
44
+ - Blocks `.git/` directory
45
+ - Blocks lock files (`package-lock.json`, `yarn.lock`, `poetry.lock`, etc.)
46
+ - Blocks certificates/keys (`.pem`, `.key`, `.crt`)
47
+ - Blocks credential files and auth directories (`.ssh/`, `.aws/`)
48
+ - **auto-formatter**: PostToolUse hook auto-formats edited files
49
+ - Python files via Black (`/usr/local/py-utils/bin/black`)
50
+ - Go files via gofmt (`/usr/local/go/bin/gofmt`)
51
+ - **auto-linter**: PostToolUse hook auto-lints edited files
52
+ - Python files via Pyright with JSON output parsing
53
+ - **planning-reminder**: PreToolUse hook encourages plan-before-implement workflow
54
+
55
+ #### Features
56
+ - **notify-hook feature**: Desktop notifications when Claude finishes responding
57
+ - OSC escape sequences for terminal notification support
58
+ - Optional audio bell
59
+ - VS Code extension recommendation for terminal notifications
60
+ - **agent-browser feature**: Headless browser automation CLI for AI agents
61
+ - Accessibility tree snapshots for AI navigation
62
+ - Screenshots and PDF capture
63
+ - Element interaction and cookie management
64
+ - **Go LSP (gopls)**: Full Go language server support
65
+ - Added `gopls` to claudepod-lsp plugin configuration
66
+ - Added `goplsVersion` option to lsp-servers feature
67
+ - Supports `.go`, `.mod`, `.sum` file extensions
68
+ - **Go language**: Added `ghcr.io/devcontainers/features/go:1` feature
69
+
70
+ #### Plugins
71
+ - **ticket-workflow plugin**: EARS-based ticket workflow with GitHub integration
72
+ - `/ticket:new` - Transform requirements into EARS-formatted GitHub issues
73
+ - `/ticket:work` - Create technical implementation plans from tickets
74
+ - `/ticket:review-commit` - Thorough code review with requirements verification
75
+ - `/ticket:create-pr` - Create PRs with aggressive security/architecture review
76
+ - **notify-hook plugin**: Claude Code hook integration for completion notifications
77
+ - **claudepod-lsp plugin.json**: Proper plugin structure for LSP servers
78
+
79
+ #### Commands & Aliases
80
+ - **ccraw alias**: Runs vanilla Claude Code without any config
81
+ - Bypasses the function override via `command claude`
82
+ - Useful for debugging or running without custom system prompt
83
+
84
+ #### Documentation
85
+ - **System prompt**: Added `<tools_reference>` section with all available tools
86
+ - **System prompt**: Added `<browser_automation>` section with usage guidance
87
+
88
+ ### Changed
89
+
90
+ - **claude command**: Now behaves the same as `cc` (auto-creates local config)
91
+ - Uses `command claude` internally to call the actual binary
92
+ - Both `claude` and `cc` auto-setup `.claude/system-prompt.md` and `.claude/settings.json`
93
+ - **Container name**: Now includes project folder name for multi-project clarity
94
+ - Format: `ClaudePod - ${localWorkspaceFolderBasename}`
95
+ - **setup-lsp.sh**: Replaced hard-coded plugin list with dynamic discovery
96
+ - Now reads all plugins from `marketplace.json` using `jq`
97
+ - Automatically installs new plugins when added to marketplace
98
+ - **System prompt**: Updated to use correct Claude Code tool names
99
+ - Fixed plan mode references: `PlanMode` → `EnterPlanMode` / `ExitPlanMode`
100
+ - Added explicit tool names throughout directives
101
+ - **Plugin installation**: Reduced from 7 plugins to 1 official plugin (frontend-design skill)
102
+
103
+ ### Removed
104
+
105
+ - `code-review@claude-plugins-official` (command plugin)
106
+ - `commit-commands@claude-plugins-official` (command plugin)
107
+ - `pr-review-toolkit@claude-plugins-official` (command + agent plugin)
108
+ - `code-simplifier` npx installation block
19
109
 
20
110
  ### Files Created
21
- - `/workspaces/.devcontainer/README.md`
22
- - `/workspaces/.devcontainer/CLAUDE.md`
111
+
112
+ ```
113
+ .devcontainer/
114
+ ├── features/
115
+ │ ├── agent-browser/
116
+ │ │ ├── devcontainer-feature.json
117
+ │ │ ├── install.sh
118
+ │ │ └── README.md
119
+ │ └── notify-hook/
120
+ │ ├── devcontainer-feature.json
121
+ │ ├── install.sh
122
+ │ └── README.md
123
+ └── plugins/devs-marketplace/plugins/
124
+ ├── auto-formatter/
125
+ │ ├── .claude-plugin/plugin.json
126
+ │ ├── hooks/hooks.json
127
+ │ └── scripts/format-file.py
128
+ ├── auto-linter/
129
+ │ ├── .claude-plugin/plugin.json
130
+ │ ├── hooks/hooks.json
131
+ │ └── scripts/lint-file.py
132
+ ├── claudepod-lsp/
133
+ │ └── .claude-plugin/plugin.json
134
+ ├── dangerous-command-blocker/
135
+ │ ├── .claude-plugin/plugin.json
136
+ │ ├── hooks/hooks.json
137
+ │ └── scripts/block-dangerous.py
138
+ ├── notify-hook/
139
+ │ ├── .claude-plugin/plugin.json
140
+ │ └── hooks/hooks.json
141
+ ├── planning-reminder/
142
+ │ ├── .claude-plugin/plugin.json
143
+ │ └── hooks/hooks.json
144
+ ├── protected-files-guard/
145
+ │ ├── .claude-plugin/plugin.json
146
+ │ ├── hooks/hooks.json
147
+ │ └── scripts/guard-protected.py
148
+ └── ticket-workflow/
149
+ └── .claude-plugin/
150
+ ├── plugin.json
151
+ ├── system-prompt.md
152
+ └── commands/
153
+ ├── ticket:new.md
154
+ ├── ticket:work.md
155
+ ├── ticket:review-commit.md
156
+ └── ticket:create-pr.md
157
+ ```
23
158
 
24
159
  ### Files Modified
25
- - `/workspaces/.devcontainer/devcontainer.json` - Added `GH_CONFIG_DIR` environment variable
160
+
161
+ - `.devcontainer/devcontainer.json` - Added features, VS Code settings, dynamic name
162
+ - `.devcontainer/config/main-system-prompt.md` - Tools reference, browser automation
163
+ - `.devcontainer/scripts/setup-aliases.sh` - Claude function override, ccraw alias
164
+ - `.devcontainer/scripts/setup-lsp.sh` - Dynamic plugin discovery
165
+ - `.devcontainer/scripts/setup-plugins.sh` - Trimmed to frontend-design only
166
+ - `.devcontainer/features/lsp-servers/install.sh` - Added gopls installation
167
+ - `.devcontainer/features/lsp-servers/devcontainer-feature.json` - Added goplsVersion
168
+ - `.devcontainer/plugins/devs-marketplace/.claude-plugin/marketplace.json` - All new plugins
169
+ - `.devcontainer/CLAUDE.md` - Updated plugin docs, local marketplace section
170
+ - `.devcontainer/README.md` - Added agent-browser, Go to tools tables
171
+
172
+ ---
173
+
174
+ ## [v1.2.3] - 2025-01-19
175
+
176
+ ### Changed
177
+ - Added `--force` flag support
178
+ - Removed devpod references
26
179
 
27
180
  ---
28
181
 
29
- ## [2025-01-19] Configuration Updates
182
+ ## [v1.2.0] - 2025-01-19
30
183
 
31
184
  ### 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
185
+ - **GitHub CLI**: Added `ghcr.io/devcontainers/features/github-cli:1` feature
186
+ - **Official Anthropic Plugins**: New `setup-plugins.sh` script
187
+ - **SETUP_PLUGINS** environment variable
188
+ - **GitHub CLI Credential Persistence**: `GH_CONFIG_DIR=/workspaces/.gh`
189
+ - **README.md**: Comprehensive documentation
190
+ - **CLAUDE.md**: Development guide for Claude Code
42
191
 
43
192
  ### 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
193
+ - **Plan Mode Default**: Changed `defaultMode` from `"dontAsk"` to `"plan"`
194
+ - **cc Command**: Replaced simple alias with smart function
49
195
 
50
196
  ### Removed
51
197
  - **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
@@ -13,6 +13,8 @@ ClaudePod devcontainer for AI-assisted development with Claude Code.
13
13
  │ │ ├── settings.json # Claude Code settings
14
14
  │ │ └── main-system-prompt.md
15
15
  │ ├── features/ # Custom devcontainer features
16
+ │ ├── plugins/ # Local plugin marketplace
17
+ │ │ └── devs-marketplace/
16
18
  │ └── scripts/ # Setup scripts
17
19
  ├── .claude/ # Runtime Claude config (created on first run)
18
20
  │ ├── settings.json # Active settings
@@ -34,8 +36,9 @@ ClaudePod devcontainer for AI-assisted development with Claude Code.
34
36
 
35
37
  | Command | Purpose |
36
38
  |---------|---------|
37
- | `cc` | Run Claude Code with auto-configuration (creates local `.claude/` if needed) |
38
- | `claude` | Direct Claude Code CLI |
39
+ | `claude` | Run Claude Code with auto-configuration (creates local `.claude/` if needed) |
40
+ | `cc` | Shorthand for `claude` with config |
41
+ | `ccraw` | Vanilla Claude Code without any config (bypasses function override) |
39
42
  | `ccusage` | Analyze token usage history |
40
43
  | `gh` | GitHub CLI for repo operations |
41
44
  | `uv` | Fast Python package manager |
@@ -69,17 +72,31 @@ Scripts in `./scripts/` run via `postStartCommand`:
69
72
  | `setup.sh` | Main orchestrator |
70
73
  | `setup-config.sh` | Copies config files to `/workspaces/.claude/` |
71
74
  | `setup-aliases.sh` | Creates `cc` shell function |
72
- | `setup-lsp.sh` | Installs LSP plugins |
75
+ | `setup-lsp.sh` | Installs LSP plugins from local marketplace |
73
76
  | `setup-plugins.sh` | Installs official Anthropic plugins |
74
77
 
75
78
  ## Installed Plugins
76
79
 
77
80
  Automatically installed on container start:
78
81
 
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`
82
+ - `frontend-design@claude-plugins-official` (skill)
83
+ - `claudepod-lsp@devs-marketplace` (LSP for Python + TypeScript/JavaScript)
84
+
85
+ ### Local Marketplace
86
+
87
+ The `devs-marketplace` in `plugins/` provides locally-managed plugins:
88
+
89
+ ```
90
+ plugins/devs-marketplace/
91
+ ├── .claude-plugin/
92
+ │ └── marketplace.json # Marketplace manifest
93
+ └── plugins/
94
+ └── claudepod-lsp/ # Combined LSP plugin
95
+ └── .claude-plugin/
96
+ └── plugin.json
97
+ ```
98
+
99
+ This gives full control over LSP configuration without external dependencies.
83
100
 
84
101
  ## Environment Variables
85
102
 
@@ -108,6 +108,7 @@ GitHub CLI credentials are automatically persisted across container rebuilds. Th
108
108
  | Python 3.14 | Base language runtime |
109
109
  | Node.js LTS | JavaScript runtime |
110
110
  | TypeScript | Via Node.js |
111
+ | Go | Latest stable via devcontainer feature |
111
112
 
112
113
  ### Package Managers
113
114
  | Tool | Description |
@@ -124,6 +125,7 @@ GitHub CLI credentials are automatically persisted across container rebuilds. Th
124
125
  | `git` | Version control |
125
126
  | `jq` | JSON processor |
126
127
  | `curl` | HTTP client |
128
+ | `agent-browser` | Headless browser automation for AI agents |
127
129
 
128
130
  ### Code Intelligence
129
131
  | Tool | Description |