claudepod 1.0.2 → 1.1.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.
- package/.devcontainer/config/claude/mcp.json +77 -0
- package/.devcontainer/config/claude/mcp.json.backup +77 -0
- package/.devcontainer/config/claude/mcp.json.template +118 -0
- package/.devcontainer/config/claude/output-styles/strict-development.md +158 -0
- package/.devcontainer/config/claude/settings.json +4 -173
- package/.devcontainer/config/claude/system-prompt.md +3 -0
- package/.devcontainer/config/searxng/ods_config.json +16 -0
- package/.devcontainer/config/searxng/searxng_env_template +71 -0
- package/.devcontainer/config/serena/serena_config.yml +72 -0
- package/.devcontainer/config/taskmaster/config.json +37 -0
- package/.devcontainer/devcontainer.json +5 -2
- package/.devcontainer/ods_config.json +21 -0
- package/.devcontainer/post-create.sh +832 -155
- package/.devcontainer/post-start.sh +368 -187
- package/.devcontainer/sanitize-system-prompt.sh +31 -0
- package/.devcontainer/scripts/config/claude-core.sh +210 -0
- package/.devcontainer/scripts/config/searxng.sh +252 -0
- package/.devcontainer/scripts/config/serena.sh +47 -0
- package/.devcontainer/scripts/config/taskmaster.sh +41 -0
- package/.devcontainer/scripts/generate-mcp-config.js +205 -0
- package/.devcontainer/scripts/install/claude-code.sh +112 -0
- package/.devcontainer/scripts/shell/zsh-config.sh +271 -0
- package/.devcontainer/scripts/utils.sh +44 -0
- package/.devcontainer/setup-zsh.sh +51 -202
- package/LICENSE.txt +674 -0
- package/README.md +172 -117
- package/package.json +17 -7
package/README.md
CHANGED
|
@@ -1,140 +1,151 @@
|
|
|
1
|
-
# ClaudePod
|
|
1
|
+
# ClaudePod
|
|
2
2
|
|
|
3
|
-
A
|
|
3
|
+
A complete development container that sets up Claude Code with 8 powerful MCP servers, modern dev tools, and persistent configurations. Drop it into any project and get a production-ready AI development environment in minutes.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## What's Inside
|
|
6
|
+
|
|
7
|
+
**Claude Code CLI** with native binary installation and optimized configuration
|
|
8
|
+
**8 MCP Servers** providing 100+ specialized tools for code analysis, documentation search, task management, and more
|
|
9
|
+
**Modern Stack** - Node.js 20, Python 3.13, Git with delta, GitHub CLI
|
|
10
|
+
**Smart Persistence** - Your Claude config, shell history, and npm cache survive container rebuilds
|
|
11
|
+
**Enhanced Terminal** - Powerlevel10k with quiet mode and useful git aliases
|
|
12
|
+
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
### Using NPM Package
|
|
16
|
+
|
|
17
|
+
ClaudePod is available as an npm package at [npmjs.com/package/claudepod](https://www.npmjs.com/package/claudepod):
|
|
6
18
|
|
|
7
19
|
```bash
|
|
8
|
-
#
|
|
20
|
+
# Drop into any project
|
|
21
|
+
cd your-project
|
|
9
22
|
npx claudepod-devcontainer
|
|
10
23
|
|
|
11
|
-
#
|
|
24
|
+
# Fire it up
|
|
12
25
|
devpod up .
|
|
26
|
+
devpod ssh <workspace-name> --ide vscode # <workspace-name> is usually your project folder name
|
|
27
|
+
|
|
28
|
+
# Start coding with Claude
|
|
29
|
+
claude
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Cloning from Repository
|
|
13
33
|
|
|
14
|
-
|
|
15
|
-
|
|
34
|
+
```bash
|
|
35
|
+
# Clone the repository
|
|
36
|
+
git clone https://github.com/AnExiledDev/ClaudePod.git
|
|
37
|
+
cd ClaudePod
|
|
38
|
+
|
|
39
|
+
# Copy .devcontainer to your project
|
|
40
|
+
cp -r .devcontainer /path/to/your-project/
|
|
41
|
+
cd /path/to/your-project
|
|
42
|
+
|
|
43
|
+
# Fire it up
|
|
44
|
+
devpod up .
|
|
45
|
+
devpod ssh <workspace-name> --ide vscode # <workspace-name> is usually your project folder name
|
|
16
46
|
|
|
17
47
|
# Start coding with Claude
|
|
18
48
|
claude
|
|
19
49
|
```
|
|
20
50
|
|
|
21
|
-
|
|
51
|
+
That's it. No configuration files to edit, no API keys to hunt down. Everything works out of the box.
|
|
52
|
+
|
|
53
|
+
## The MCP Servers
|
|
22
54
|
|
|
23
|
-
|
|
24
|
-
- **Node.js 20** (via NVM) + npm/npx
|
|
25
|
-
- **Python 3.13** with pipx, uv/uvx, and common tools
|
|
26
|
-
- **Git** with git-delta for beautiful diffs
|
|
27
|
-
- **GitHub CLI** for repository operations
|
|
28
|
-
- **Claude Code CLI** with optimized tool configuration
|
|
55
|
+
ClaudePod ships with 8 MCP servers that turn Claude into a powerhouse:
|
|
29
56
|
|
|
30
|
-
### 🔌 MCP Servers (Pre-configured)
|
|
31
57
|
- **Serena** - Advanced code analysis and semantic search
|
|
32
58
|
- **DeepWiki** - GitHub repository documentation search
|
|
33
59
|
- **TaskMaster AI** - AI-powered project management
|
|
34
|
-
- **Sequential Thinking** - Structured problem-solving
|
|
35
|
-
- **
|
|
36
|
-
- **
|
|
37
|
-
- **
|
|
38
|
-
|
|
39
|
-
### ⚡ Productivity Features
|
|
40
|
-
- **Optimized tool configuration** - 79 essential tools pre-allowed (51% reduction from 161 total)
|
|
41
|
-
- **Zero permission prompts** for common development workflows
|
|
42
|
-
- **Intelligent tool selection** - Prioritizes powerful MCP tools over basic built-ins
|
|
43
|
-
- **Shell aliases** - `gs`, `gd`, `gc`, `gp`, `gl` for git operations
|
|
44
|
-
- **Persistent storage** - Claude config and shell history survive rebuilds
|
|
45
|
-
- **VS Code extensions** - Pre-configured for remote development
|
|
46
|
-
|
|
47
|
-
## 📋 Requirements
|
|
48
|
-
|
|
49
|
-
1. **DevPod** installed and configured
|
|
50
|
-
2. **VS Code** with Remote Development Extension Pack:
|
|
51
|
-
```bash
|
|
52
|
-
code --install-extension ms-vscode-remote.vscode-remote-extensionpack
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## 🔧 Usage
|
|
56
|
-
|
|
57
|
-
### Install in Existing Project
|
|
58
|
-
```bash
|
|
59
|
-
cd my-existing-project
|
|
60
|
-
npx claudepod-devcontainer
|
|
61
|
-
devpod up .
|
|
62
|
-
```
|
|
60
|
+
- **Sequential Thinking** - Structured problem-solving workflows
|
|
61
|
+
- **ccusage** - Claude Code usage analytics and cost tracking
|
|
62
|
+
- **SearXNG Enhanced** - Web search with content scraping
|
|
63
|
+
- **GitHub MCP** - Complete GitHub API integration (API key optional)
|
|
64
|
+
- **Tavily + Ref.Tools** - Web search and documentation tools (API keys optional)
|
|
63
65
|
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
mkdir new-project && cd new-project
|
|
67
|
-
npx claudepod-devcontainer
|
|
68
|
-
devpod up .
|
|
69
|
-
```
|
|
66
|
+
**Tool Permissions**: When Claude first starts, it will ask permission to use these MCP tools. You can deny or allow specific tools based on your needs - this helps manage the large number of available tools (100+). Future versions will make this easier to configure.
|
|
70
67
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
68
|
+
## Requirements
|
|
69
|
+
|
|
70
|
+
- **[DevPod](https://devpod.sh/)** installed and configured - the container development platform
|
|
71
|
+
- **VS Code** with Remote Development extensions
|
|
72
|
+
- That's literally it
|
|
73
|
+
|
|
74
|
+
## Container Details
|
|
75
|
+
|
|
76
|
+
**Base**: Ubuntu 22.04
|
|
77
|
+
**User**: node (1000:1000)
|
|
78
|
+
**Workspace**: `/workspace` (your project files)
|
|
79
|
+
**Persistent**: Claude config, shell history, npm cache
|
|
78
80
|
|
|
79
|
-
|
|
81
|
+
Your files stay exactly where they are. ClaudePod only adds a `.devcontainer/` directory.
|
|
82
|
+
|
|
83
|
+
## Handy Commands
|
|
80
84
|
|
|
81
85
|
```bash
|
|
82
|
-
# Claude
|
|
83
|
-
claude
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
#
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
#
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
#
|
|
98
|
-
./scripts/health-check.sh # Verify everything works
|
|
86
|
+
# Claude with statusline and MCP servers
|
|
87
|
+
claude
|
|
88
|
+
|
|
89
|
+
# Git shortcuts (with beautiful diffs)
|
|
90
|
+
gs # git status
|
|
91
|
+
gd # git diff
|
|
92
|
+
gc # git commit
|
|
93
|
+
gp # git push
|
|
94
|
+
gl # git log --oneline --graph
|
|
95
|
+
|
|
96
|
+
# Python without the pain
|
|
97
|
+
uvx <package> # Run packages without installing
|
|
98
|
+
uv add <package> # Add dependencies
|
|
99
|
+
|
|
100
|
+
# Quick info
|
|
101
|
+
claudepod_info # Show status and commands
|
|
99
102
|
```
|
|
100
103
|
|
|
101
|
-
##
|
|
104
|
+
## Optional Upgrades
|
|
105
|
+
|
|
106
|
+
**Web search is already included** via the built-in SearXNG server - no limits, no API keys required. But you can add more integrations:
|
|
102
107
|
|
|
103
|
-
|
|
108
|
+
```bash
|
|
109
|
+
cp .devcontainer/.env.example .devcontainer/.env
|
|
110
|
+
# Edit .devcontainer/.env with your keys
|
|
111
|
+
```
|
|
104
112
|
|
|
105
113
|
```bash
|
|
106
114
|
# GitHub integration (recommended)
|
|
107
|
-
|
|
115
|
+
GITHUB_PERSONAL_ACCESS_TOKEN=ghp_your_token
|
|
108
116
|
|
|
109
|
-
#
|
|
110
|
-
|
|
117
|
+
# Additional web search via Tavily (optional - SearXNG already provides unlimited search)
|
|
118
|
+
TAVILY_API_KEY=tvly-your-key
|
|
111
119
|
|
|
112
120
|
# Documentation tools
|
|
113
|
-
|
|
121
|
+
REF_TOOLS_API_KEY=your-key
|
|
114
122
|
```
|
|
115
123
|
|
|
116
|
-
##
|
|
124
|
+
## Customization & Pitfalls
|
|
117
125
|
|
|
118
|
-
|
|
119
|
-
your
|
|
120
|
-
├── .devcontainer/
|
|
121
|
-
│ ├── devcontainer.json # Container configuration
|
|
122
|
-
│ ├── post-create.sh # Development tools setup
|
|
123
|
-
│ └── post-start.sh # MCP server installation
|
|
124
|
-
└── (your existing files remain unchanged)
|
|
125
|
-
```
|
|
126
|
+
### The Good News
|
|
127
|
+
ClaudePod is designed to be unbreakable. It uses smart configuration templates that preserve your customizations across container rebuilds.
|
|
126
128
|
|
|
127
|
-
|
|
129
|
+
### Common Gotchas
|
|
128
130
|
|
|
129
|
-
|
|
130
|
-
- **User**: `node` (uid: 1000, gid: 1000)
|
|
131
|
-
- **Workspace**: `/workspace` (your project files)
|
|
132
|
-
- **Persistent Data**: Claude config, shell history, npm cache
|
|
133
|
-
- **Network**: Host network for optimal development server performance
|
|
131
|
+
**Override Flags** - ClaudePod has environment variables like `OVERRIDE_CLAUDE_SETTINGS=true` that can overwrite your customizations. Only use these if you want to reset to defaults.
|
|
134
132
|
|
|
135
|
-
|
|
133
|
+
**Port Conflicts** - If you run services on ports 8080, 3000, or 5000 locally, add port forwarding rules to avoid conflicts:
|
|
136
134
|
|
|
137
|
-
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"forwardPorts": [3001, 8081, 5001],
|
|
138
|
+
"portsAttributes": {
|
|
139
|
+
"3001": { "label": "Your App" }
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**Configuration Complexity** - ClaudePod has many layers (devcontainer.json, .env, MCP templates, tool configs). Stick to editing `.devcontainer/.env` for most customizations.
|
|
145
|
+
|
|
146
|
+
### Safe Customization
|
|
147
|
+
|
|
148
|
+
Edit `.devcontainer/devcontainer.json` after installation:
|
|
138
149
|
|
|
139
150
|
```json
|
|
140
151
|
{
|
|
@@ -145,45 +156,89 @@ After installation, you can modify `.devcontainer/devcontainer.json`:
|
|
|
145
156
|
"vscode": {
|
|
146
157
|
"extensions": ["your.extension.id"]
|
|
147
158
|
}
|
|
159
|
+
},
|
|
160
|
+
"features": {
|
|
161
|
+
"ghcr.io/devcontainers/features/aws-cli:1": {}
|
|
148
162
|
}
|
|
149
163
|
}
|
|
150
164
|
```
|
|
151
165
|
|
|
152
|
-
##
|
|
166
|
+
## Troubleshooting
|
|
153
167
|
|
|
168
|
+
**Container won't start?**
|
|
154
169
|
```bash
|
|
155
|
-
#
|
|
156
|
-
|
|
170
|
+
devpod delete <workspace> && devpod up . # <workspace> is your project folder name
|
|
171
|
+
# Don't worry - this preserves your ClaudePod configuration and project files
|
|
172
|
+
```
|
|
157
173
|
|
|
158
|
-
|
|
174
|
+
**Claude authentication issues?**
|
|
175
|
+
```bash
|
|
159
176
|
claude login
|
|
177
|
+
```
|
|
160
178
|
|
|
161
|
-
|
|
179
|
+
**MCP servers missing?**
|
|
180
|
+
```bash
|
|
162
181
|
claude mcp list
|
|
163
|
-
|
|
182
|
+
# If empty, restart the container
|
|
183
|
+
```
|
|
164
184
|
|
|
165
|
-
|
|
166
|
-
|
|
185
|
+
**npm permission errors?**
|
|
186
|
+
```bash
|
|
187
|
+
# Inside container - fix npm permissions
|
|
188
|
+
sudo chown -R node:node /home/node/.npm
|
|
189
|
+
sudo chown -R node:node /home/node/.local
|
|
167
190
|
```
|
|
168
191
|
|
|
169
|
-
|
|
192
|
+
**Configuration got overwritten?**
|
|
193
|
+
Look in `.devcontainer/config/backups/` - ClaudePod automatically backs up your configs before making changes.
|
|
194
|
+
|
|
195
|
+
## Architecture
|
|
196
|
+
|
|
197
|
+
ClaudePod uses a two-phase setup:
|
|
198
|
+
1. **post-create.sh** - Installs Claude Code, dev tools, and creates base configurations
|
|
199
|
+
2. **post-start.sh** - Installs MCP servers and validates everything works
|
|
200
|
+
|
|
201
|
+
The setup is idempotent - you can rebuild containers without losing your customizations (unless you use override flags).
|
|
170
202
|
|
|
171
|
-
|
|
172
|
-
- `CLAUDE.md` - Complete container documentation
|
|
173
|
-
- `examples/` - Configuration examples
|
|
174
|
-
- `scripts/` - Helper scripts and utilities
|
|
203
|
+
## Team Usage
|
|
175
204
|
|
|
176
|
-
|
|
205
|
+
Perfect for teams who want consistent environments:
|
|
177
206
|
|
|
178
|
-
Each team member runs:
|
|
179
207
|
```bash
|
|
208
|
+
# Team member 1 sets up the project
|
|
180
209
|
cd shared-project
|
|
181
|
-
npx claudepod-devcontainer
|
|
182
|
-
|
|
210
|
+
npx claudepod-devcontainer
|
|
211
|
+
git add .devcontainer/ && git commit -m "Add ClaudePod"
|
|
212
|
+
|
|
213
|
+
# Everyone else just runs
|
|
214
|
+
devpod up .
|
|
183
215
|
```
|
|
184
216
|
|
|
185
|
-
|
|
217
|
+
Each developer gets an identical environment with the same Claude configuration, MCP servers, and tools.
|
|
218
|
+
|
|
219
|
+
## What Gets Added
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
your-project/
|
|
223
|
+
├── .devcontainer/
|
|
224
|
+
│ ├── devcontainer.json # Main container config
|
|
225
|
+
│ ├── post-create.sh # Tool installation
|
|
226
|
+
│ ├── post-start.sh # MCP server setup
|
|
227
|
+
│ ├── .env.example # API key template
|
|
228
|
+
│ ├── config/
|
|
229
|
+
│ │ ├── claude/ # Claude Code templates
|
|
230
|
+
│ │ ├── serena/ # Serena config
|
|
231
|
+
│ │ └── taskmaster/ # TaskMaster config
|
|
232
|
+
│ └── scripts/ # Modular setup scripts
|
|
233
|
+
└── (your files stay exactly the same)
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
## License
|
|
237
|
+
|
|
238
|
+
This project is licensed under the GNU General Public License v3.0 (GPL-3.0). See the [full license text](https://www.gnu.org/licenses/gpl-3.0.txt) for details.
|
|
239
|
+
|
|
240
|
+
The GPL-3.0 is a copyleft license that ensures this software remains free and open source, requiring any modifications or derivative works to be released under the same license terms.
|
|
186
241
|
|
|
187
242
|
---
|
|
188
243
|
|
|
189
|
-
**Ready to
|
|
244
|
+
**Ready to code with AI superpowers?** ClaudePod turns any project into an AI-native development environment.
|
package/package.json
CHANGED
|
@@ -1,25 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claudepod",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.1.1",
|
|
4
|
+
"description": "Complete development container that sets up Claude Code with 8 powerful MCP servers, modern dev tools, and persistent configurations. Drop it into any project and get a production-ready AI development environment in minutes.",
|
|
5
5
|
"main": "setup.js",
|
|
6
6
|
"bin": {
|
|
7
|
-
"claudepod-
|
|
7
|
+
"claudepod-devcontainer": "setup.js"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
|
-
"test": "node test.js"
|
|
10
|
+
"test": "node test.js",
|
|
11
|
+
"validate-mcp": "node .devcontainer/scripts/generate-mcp-config.js"
|
|
11
12
|
},
|
|
12
13
|
"keywords": [
|
|
13
14
|
"devcontainer",
|
|
14
15
|
"claude",
|
|
15
16
|
"claude-code",
|
|
16
17
|
"mcp",
|
|
18
|
+
"mcp-server",
|
|
19
|
+
"ai",
|
|
17
20
|
"development-environment",
|
|
18
21
|
"devpod",
|
|
19
|
-
"vscode"
|
|
22
|
+
"vscode",
|
|
23
|
+
"container",
|
|
24
|
+
"serena",
|
|
25
|
+
"taskmaster",
|
|
26
|
+
"ai-development"
|
|
20
27
|
],
|
|
21
28
|
"author": "AnExiledDev",
|
|
22
|
-
"license": "
|
|
29
|
+
"license": "GPL-3.0",
|
|
23
30
|
"files": [
|
|
24
31
|
".devcontainer/**/*",
|
|
25
32
|
"setup.js",
|
|
@@ -30,10 +37,13 @@
|
|
|
30
37
|
},
|
|
31
38
|
"repository": {
|
|
32
39
|
"type": "git",
|
|
33
|
-
"url": "https://github.com/AnExiledDev/ClaudePod.git"
|
|
40
|
+
"url": "git+https://github.com/AnExiledDev/ClaudePod.git"
|
|
34
41
|
},
|
|
35
42
|
"homepage": "https://github.com/AnExiledDev/ClaudePod#readme",
|
|
36
43
|
"bugs": {
|
|
37
44
|
"url": "https://github.com/AnExiledDev/ClaudePod/issues"
|
|
45
|
+
},
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"dotenv": "^17.2.1"
|
|
38
48
|
}
|
|
39
49
|
}
|