sinapse-ai 7.0.5 → 7.2.0
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/.sinapse-ai/core-config.yaml +2 -26
- package/.sinapse-ai/data/entity-registry.yaml +742 -917
- package/.sinapse-ai/data/registry-update-log.jsonl +22 -0
- package/.sinapse-ai/infrastructure/scripts/ide-sync/index.js +1 -49
- package/.sinapse-ai/infrastructure/scripts/validate-parity.js +0 -7
- package/.sinapse-ai/install-manifest.yaml +11 -43
- package/README.en.md +6 -11
- package/README.md +6 -11
- package/bin/cli.js +116 -75
- package/bin/modules/env-config.js +1 -2
- package/bin/sinapse-init.js +23 -188
- package/docs/ide-integration.md +22 -263
- package/docs/installation/README.md +4 -6
- package/docs/installation/faq.md +10 -33
- package/docs/installation/linux.md +0 -23
- package/docs/installation/macos.md +0 -10
- package/docs/installation/troubleshooting.md +5 -9
- package/docs/installation/v4-quick-start.md +1 -1
- package/docs/installation/windows.md +0 -18
- package/package.json +2 -9
- package/packages/installer/src/config/ide-configs.js +3 -49
- package/squads/claude-code-mastery/CHANGELOG.md +22 -0
- package/squads/claude-code-mastery/README.md +146 -0
- package/squads/claude-code-mastery/agents/claude-mastery-chief.md +554 -0
- package/squads/claude-code-mastery/agents/config-engineer.md +865 -0
- package/squads/claude-code-mastery/agents/hooks-architect.md +1013 -0
- package/squads/claude-code-mastery/agents/mcp-integrator.md +791 -0
- package/squads/claude-code-mastery/agents/project-integrator.md +1196 -0
- package/squads/claude-code-mastery/agents/roadmap-sentinel.md +931 -0
- package/squads/claude-code-mastery/agents/skill-craftsman.md +1250 -0
- package/squads/claude-code-mastery/agents/swarm-orqx.md +1008 -0
- package/squads/claude-code-mastery/checklists/agent-team-readiness-checklist.md +88 -0
- package/squads/claude-code-mastery/checklists/brownfield-readiness-checklist.md +91 -0
- package/squads/claude-code-mastery/checklists/change-checklist.md +75 -0
- package/squads/claude-code-mastery/checklists/context-rot-checklist.md +114 -0
- package/squads/claude-code-mastery/checklists/integration-audit-checklist.md +104 -0
- package/squads/claude-code-mastery/checklists/multi-agent-review-checklist.md +77 -0
- package/squads/claude-code-mastery/checklists/pre-push-checklist.md +79 -0
- package/squads/claude-code-mastery/data/ci-cd-patterns.yaml +412 -0
- package/squads/claude-code-mastery/data/claude-code-quick-ref.yaml +314 -0
- package/squads/claude-code-mastery/data/hook-patterns.yaml +512 -0
- package/squads/claude-code-mastery/data/mcp-integration-catalog.yaml +323 -0
- package/squads/claude-code-mastery/data/project-type-signatures.yaml +335 -0
- package/squads/claude-code-mastery/scripts/validate-setup.js +163 -0
- package/squads/claude-code-mastery/squad.yaml +205 -0
- package/squads/claude-code-mastery/tasks/audit-integration.md +219 -0
- package/squads/claude-code-mastery/tasks/audit-settings.md +206 -0
- package/squads/claude-code-mastery/tasks/audit-setup.md +225 -0
- package/squads/claude-code-mastery/tasks/brownfield-setup.md +322 -0
- package/squads/claude-code-mastery/tasks/ci-cd-setup.md +335 -0
- package/squads/claude-code-mastery/tasks/claude-md-engineer.md +334 -0
- package/squads/claude-code-mastery/tasks/configure-claude-code.md +215 -0
- package/squads/claude-code-mastery/tasks/context-rot-audit.md +329 -0
- package/squads/claude-code-mastery/tasks/create-agent-definition.md +278 -0
- package/squads/claude-code-mastery/tasks/create-rules.md +206 -0
- package/squads/claude-code-mastery/tasks/create-team-topology.md +258 -0
- package/squads/claude-code-mastery/tasks/diagnose.md +166 -0
- package/squads/claude-code-mastery/tasks/enterprise-config.md +346 -0
- package/squads/claude-code-mastery/tasks/hook-designer.md +272 -0
- package/squads/claude-code-mastery/tasks/integrate-project.md +304 -0
- package/squads/claude-code-mastery/tasks/mcp-integration-plan.md +229 -0
- package/squads/claude-code-mastery/tasks/mcp-workflow.md +285 -0
- package/squads/claude-code-mastery/tasks/multi-project-setup.md +228 -0
- package/squads/claude-code-mastery/tasks/optimize-context.md +217 -0
- package/squads/claude-code-mastery/tasks/optimize-workflow.md +226 -0
- package/squads/claude-code-mastery/tasks/parallel-decomposition.md +293 -0
- package/squads/claude-code-mastery/tasks/permission-strategy.md +266 -0
- package/squads/claude-code-mastery/tasks/sandbox-setup.md +279 -0
- package/squads/claude-code-mastery/tasks/setup-repository.md +230 -0
- package/squads/claude-code-mastery/tasks/setup-wizard.md +236 -0
- package/squads/claude-code-mastery/tasks/worktree-strategy.md +320 -0
- package/squads/claude-code-mastery/templates/claude-md-fullstack.md +147 -0
- package/squads/claude-code-mastery/templates/claude-md-library.md +175 -0
- package/squads/claude-code-mastery/templates/claude-md-microservices.md +186 -0
- package/squads/claude-code-mastery/templates/claude-md-mobile.md +198 -0
- package/squads/claude-code-mastery/templates/claude-md-monorepo.md +139 -0
- package/squads/claude-code-mastery/templates/github-actions-claude-ci.yml +348 -0
- package/squads/claude-code-mastery/templates/github-actions-claude-review.yml +179 -0
- package/squads/claude-code-mastery/workflows/wf-audit-complete.yaml +140 -0
- package/squads/claude-code-mastery/workflows/wf-knowledge-update.yaml +165 -0
- package/squads/claude-code-mastery/workflows/wf-project-setup.yaml +192 -0
- package/.sinapse-ai/infrastructure/scripts/ide-sync/transformers/antigravity.js +0 -105
- package/.sinapse-ai/infrastructure/scripts/ide-sync/transformers/cursor.js +0 -94
- package/.sinapse-ai/infrastructure/scripts/ide-sync/transformers/github-copilot.js +0 -184
- package/.sinapse-ai/infrastructure/scripts/validate-gemini-integration.js +0 -151
- package/.sinapse-ai/product/templates/ide-rules/antigravity-rules.md +0 -115
- package/.sinapse-ai/product/templates/ide-rules/copilot-rules.md +0 -92
- package/.sinapse-ai/product/templates/ide-rules/cursor-rules.md +0 -115
- package/.sinapse-ai/product/templates/ide-rules/gemini-rules.md +0 -87
- package/docs/pt/platforms/antigravity.md +0 -508
- package/docs/pt/platforms/cursor.md +0 -633
- package/docs/pt/platforms/gemini-cli.md +0 -481
- package/docs/pt/platforms/github-copilot.md +0 -478
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
# Task: Configure Sandbox Environment
|
|
2
|
+
|
|
3
|
+
**Task ID:** CCM-CONFIG-006
|
|
4
|
+
**Version:** 1.0.0
|
|
5
|
+
**Command:** `*sandbox-setup`
|
|
6
|
+
**Orchestrator:** Sigil (config-engineer)
|
|
7
|
+
**Purpose:** Configure Claude Code's sandbox environment for filesystem isolation, network restrictions, and process boundaries to ensure safe command execution with minimal friction.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
+------------------+ +------------------+ +------------------+
|
|
15
|
+
| 1. Assess | --> | 2. Configure | --> | 3. Set Up |
|
|
16
|
+
| Isolation | | Sandbox Mode | | Network |
|
|
17
|
+
| Needs | | in Settings | | Restrictions |
|
|
18
|
+
+------------------+ +------------------+ +------------------+
|
|
19
|
+
| |
|
|
20
|
+
v v
|
|
21
|
+
+------------------+ +------------------+
|
|
22
|
+
| 4. Configure | --> | 5. Test Sandbox |
|
|
23
|
+
| File System | | Isolation |
|
|
24
|
+
| Boundaries | | |
|
|
25
|
+
+------------------+ +------------------+
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Inputs
|
|
31
|
+
|
|
32
|
+
| Field | Type | Source | Required | Validation |
|
|
33
|
+
|-------|------|--------|----------|------------|
|
|
34
|
+
| project_root | string | Working directory | Yes | Valid project directory |
|
|
35
|
+
| platform | string | Auto-detected | No | `macos`, `linux`, `wsl2`, `windows` |
|
|
36
|
+
| isolation_level | string | User parameter | No | `standard` (default), `strict`, `airgapped` |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Preconditions
|
|
41
|
+
|
|
42
|
+
- Claude Code installed and operational
|
|
43
|
+
- Understanding of the project's required filesystem access and network needs
|
|
44
|
+
- Platform supports sandboxing (macOS, Linux, WSL2 -- Windows has limited support)
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Execution Phases
|
|
49
|
+
|
|
50
|
+
### Phase 1: Assess Isolation Needs
|
|
51
|
+
|
|
52
|
+
1. Determine the platform and available sandbox features:
|
|
53
|
+
|
|
54
|
+
| Platform | Sandbox Technology | Filesystem | Network | Status |
|
|
55
|
+
|----------|--------------------|------------|---------|--------|
|
|
56
|
+
| macOS | Apple Sandbox (Seatbelt) | Full support | Full support | Production |
|
|
57
|
+
| Linux | Landlock + Seccomp | Full support | Full support | Production |
|
|
58
|
+
| WSL2 | Linux sandbox in WSL | Full support | Full support | Production |
|
|
59
|
+
| Windows (native) | Limited | Partial | Limited | Limited |
|
|
60
|
+
|
|
61
|
+
2. Survey project requirements:
|
|
62
|
+
- Which directories need write access? (src/, tests/, docs/, node_modules/)
|
|
63
|
+
- Which directories should be read-only? (.sinapse-ai/, config files)
|
|
64
|
+
- Which directories should be invisible? (secrets/, .env files)
|
|
65
|
+
- What external network access is needed? (npm registry, API servers, CDN)
|
|
66
|
+
- Are any system commands needed outside sandbox? (git, docker)
|
|
67
|
+
|
|
68
|
+
3. Choose isolation level:
|
|
69
|
+
|
|
70
|
+
| Level | Filesystem | Network | Use Case |
|
|
71
|
+
|-------|-----------|---------|----------|
|
|
72
|
+
| standard | Write to project, read home | Allow known domains | General development |
|
|
73
|
+
| strict | Write to src/ only | Allow only essential | Sensitive projects |
|
|
74
|
+
| airgapped | Write to src/ only | No external network | Regulated/offline |
|
|
75
|
+
|
|
76
|
+
### Phase 2: Configure Sandbox Mode in Settings
|
|
77
|
+
|
|
78
|
+
Generate the sandbox configuration in settings.json:
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"sandbox": {
|
|
83
|
+
"enabled": true,
|
|
84
|
+
"autoAllowBashIfSandboxed": true,
|
|
85
|
+
"excludedCommands": ["git", "docker"],
|
|
86
|
+
"allowUnsandboxedCommands": false
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Key settings explained:**
|
|
92
|
+
|
|
93
|
+
| Setting | Purpose | Recommendation |
|
|
94
|
+
|---------|---------|----------------|
|
|
95
|
+
| `enabled` | Enable sandbox for bash commands | `true` for all shared projects |
|
|
96
|
+
| `autoAllowBashIfSandboxed` | Skip permission prompts for sandboxed bash | `true` -- sandbox provides safety |
|
|
97
|
+
| `excludedCommands` | Commands that bypass sandbox | Only git, docker if needed |
|
|
98
|
+
| `allowUnsandboxedCommands` | Allow `dangerouslyDisableSandbox` | `false` unless explicit need |
|
|
99
|
+
|
|
100
|
+
### Phase 3: Set Up Network Restrictions
|
|
101
|
+
|
|
102
|
+
Configure network access using the `network` section:
|
|
103
|
+
|
|
104
|
+
```json
|
|
105
|
+
{
|
|
106
|
+
"sandbox": {
|
|
107
|
+
"network": {
|
|
108
|
+
"allowedDomains": [
|
|
109
|
+
"registry.npmjs.org",
|
|
110
|
+
"api.github.com",
|
|
111
|
+
"raw.githubusercontent.com"
|
|
112
|
+
],
|
|
113
|
+
"allowUnixSockets": [],
|
|
114
|
+
"allowAllUnixSockets": false,
|
|
115
|
+
"allowLocalBinding": false,
|
|
116
|
+
"httpProxyPort": 0,
|
|
117
|
+
"socksProxyPort": 0
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Common domain allowlists by project type:**
|
|
124
|
+
|
|
125
|
+
| Project Type | Domains to Allow |
|
|
126
|
+
|-------------|-----------------|
|
|
127
|
+
| Node.js | registry.npmjs.org, nodejs.org |
|
|
128
|
+
| Python | pypi.org, files.pythonhosted.org |
|
|
129
|
+
| Frontend | unpkg.com, cdn.jsdelivr.net, fonts.googleapis.com |
|
|
130
|
+
| Supabase | *.supabase.co, *.supabase.in |
|
|
131
|
+
| GitHub | api.github.com, raw.githubusercontent.com |
|
|
132
|
+
| Docker | registry.docker.io, auth.docker.io |
|
|
133
|
+
| General API | (project-specific API domains) |
|
|
134
|
+
|
|
135
|
+
**Isolation levels:**
|
|
136
|
+
- **standard**: Allow package registries + project APIs
|
|
137
|
+
- **strict**: Allow only package registries
|
|
138
|
+
- **airgapped**: Empty allowedDomains (no external network)
|
|
139
|
+
|
|
140
|
+
### Phase 4: Configure File System Boundaries
|
|
141
|
+
|
|
142
|
+
Set filesystem access controls:
|
|
143
|
+
|
|
144
|
+
```json
|
|
145
|
+
{
|
|
146
|
+
"sandbox": {
|
|
147
|
+
"filesystem": {
|
|
148
|
+
"allowWrite": [
|
|
149
|
+
"/src",
|
|
150
|
+
"/tests",
|
|
151
|
+
"/docs",
|
|
152
|
+
"//tmp"
|
|
153
|
+
],
|
|
154
|
+
"denyWrite": [
|
|
155
|
+
"/.sinapse-ai/core",
|
|
156
|
+
"/node_modules",
|
|
157
|
+
"/.git"
|
|
158
|
+
],
|
|
159
|
+
"denyRead": [
|
|
160
|
+
"/.env",
|
|
161
|
+
"/.env.*",
|
|
162
|
+
"/secrets"
|
|
163
|
+
]
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
**Path prefix reference:**
|
|
170
|
+
|
|
171
|
+
| Prefix | Meaning | Example |
|
|
172
|
+
|--------|---------|---------|
|
|
173
|
+
| `//` | Filesystem root | `//tmp/build` |
|
|
174
|
+
| `~/` | Home directory | `~/.ssh`, `~/.kube` |
|
|
175
|
+
| `/` | Relative to settings file directory | `/src`, `/tests` |
|
|
176
|
+
| `./` | Runtime-resolved relative path | `./output` |
|
|
177
|
+
|
|
178
|
+
**Standard write access:**
|
|
179
|
+
|
|
180
|
+
| Level | Write Allowed | Write Denied |
|
|
181
|
+
|-------|---------------|--------------|
|
|
182
|
+
| standard | src/, tests/, docs/, tmp/ | node_modules/, .git/, .sinapse-ai/core/ |
|
|
183
|
+
| strict | src/ only | Everything else |
|
|
184
|
+
| airgapped | src/ with review | Everything else |
|
|
185
|
+
|
|
186
|
+
**Read restrictions (always deny):**
|
|
187
|
+
- `.env`, `.env.*` -- environment variables
|
|
188
|
+
- `secrets/`, `private/` -- secret directories
|
|
189
|
+
- `~/.ssh/` -- SSH keys
|
|
190
|
+
- `~/.aws/` -- AWS credentials
|
|
191
|
+
- `~/.kube/` -- Kubernetes configs
|
|
192
|
+
|
|
193
|
+
### Phase 5: Test Sandbox Isolation
|
|
194
|
+
|
|
195
|
+
1. Verify sandbox is active:
|
|
196
|
+
- Run a bash command and check for sandbox indicators
|
|
197
|
+
- Attempt to read a denied path (should fail gracefully)
|
|
198
|
+
- Attempt to write to a denied path (should fail gracefully)
|
|
199
|
+
|
|
200
|
+
2. Test network restrictions:
|
|
201
|
+
- Attempt to fetch from an allowed domain (should succeed)
|
|
202
|
+
- Attempt to fetch from a non-allowed domain (should be blocked)
|
|
203
|
+
|
|
204
|
+
3. Test filesystem boundaries:
|
|
205
|
+
- Write to an allowed path (should succeed)
|
|
206
|
+
- Write to a denied path (should be blocked)
|
|
207
|
+
- Read from a denied path (should be blocked)
|
|
208
|
+
|
|
209
|
+
4. Document test results:
|
|
210
|
+
|
|
211
|
+
| Test | Expected | Actual | Status |
|
|
212
|
+
|------|----------|--------|--------|
|
|
213
|
+
| Read .env | BLOCKED | {result} | {PASS/FAIL} |
|
|
214
|
+
| Write to src/ | ALLOWED | {result} | {PASS/FAIL} |
|
|
215
|
+
| Fetch npm registry | ALLOWED | {result} | {PASS/FAIL} |
|
|
216
|
+
| Fetch random domain | BLOCKED | {result} | {PASS/FAIL} |
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Output Format
|
|
221
|
+
|
|
222
|
+
```markdown
|
|
223
|
+
## Sandbox Configuration
|
|
224
|
+
|
|
225
|
+
**Platform:** {platform}
|
|
226
|
+
**Isolation Level:** {standard | strict | airgapped}
|
|
227
|
+
|
|
228
|
+
### Settings Applied
|
|
229
|
+
|
|
230
|
+
```json
|
|
231
|
+
{complete sandbox section of settings.json}
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Filesystem Policy
|
|
235
|
+
|
|
236
|
+
| Path | Read | Write | Rationale |
|
|
237
|
+
|------|------|-------|-----------|
|
|
238
|
+
| src/ | Yes | Yes | Source code development |
|
|
239
|
+
| .env | No | No | Sensitive environment variables |
|
|
240
|
+
| node_modules/ | Yes | No | Dependencies (managed by npm) |
|
|
241
|
+
| ... | ... | ... | ... |
|
|
242
|
+
|
|
243
|
+
### Network Policy
|
|
244
|
+
|
|
245
|
+
| Domain | Allowed | Rationale |
|
|
246
|
+
|--------|---------|-----------|
|
|
247
|
+
| registry.npmjs.org | Yes | Package installation |
|
|
248
|
+
| *.supabase.co | Yes | Database access |
|
|
249
|
+
| * (all others) | No | Default deny |
|
|
250
|
+
|
|
251
|
+
### Test Results
|
|
252
|
+
|
|
253
|
+
{Test table from Phase 5}
|
|
254
|
+
|
|
255
|
+
### Excluded Commands
|
|
256
|
+
|
|
257
|
+
{List of commands that bypass sandbox with justification}
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Veto Conditions
|
|
263
|
+
|
|
264
|
+
- **NEVER** disable the sandbox without explicit user confirmation and documented justification.
|
|
265
|
+
- **NEVER** add `allowAllUnixSockets: true` in production or team environments -- it bypasses network restrictions.
|
|
266
|
+
- **NEVER** add home directory (`~/`) to write-allowed paths. Only specific subdirectories if absolutely needed.
|
|
267
|
+
- **NEVER** set `allowUnsandboxedCommands: true` in enterprise or team settings -- it allows bypassing all sandbox protections.
|
|
268
|
+
- **NEVER** add wildcard domains (`*`) to the allowedDomains list. Be specific about which domains need access.
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
272
|
+
## Completion Criteria
|
|
273
|
+
|
|
274
|
+
- [ ] Platform detected and sandbox support verified
|
|
275
|
+
- [ ] Isolation level selected based on security assessment
|
|
276
|
+
- [ ] Sandbox enabled in settings with appropriate flags
|
|
277
|
+
- [ ] Network restrictions configured with specific domain allowlist
|
|
278
|
+
- [ ] Filesystem boundaries set with write/read controls
|
|
279
|
+
- [ ] Sandbox isolation tested with documented results
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
# Task: Set Up Repository with Claude Code Integration
|
|
2
|
+
|
|
3
|
+
**Task ID:** CCM-PI-001
|
|
4
|
+
**Version:** 1.0.0
|
|
5
|
+
**Command:** `*setup-repository`
|
|
6
|
+
**Agent:** Conduit (project-integrator)
|
|
7
|
+
**Purpose:** Set up a new repository with complete Claude Code integration from scratch, creating the .claude/ directory structure, CLAUDE.md, settings, rules, and hooks.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Project Directory
|
|
15
|
+
|
|
|
16
|
+
v
|
|
17
|
+
+------------------+
|
|
18
|
+
| 1. Initialize Git |
|
|
19
|
+
| (if needed) |
|
|
20
|
+
+------------------+
|
|
21
|
+
|
|
|
22
|
+
v
|
|
23
|
+
+------------------+
|
|
24
|
+
| 2. Create .claude/|
|
|
25
|
+
| Directory Tree |
|
|
26
|
+
+------------------+
|
|
27
|
+
|
|
|
28
|
+
v
|
|
29
|
+
+------------------+
|
|
30
|
+
| 3. Generate |
|
|
31
|
+
| CLAUDE.md |
|
|
32
|
+
+------------------+
|
|
33
|
+
|
|
|
34
|
+
v
|
|
35
|
+
+------------------+
|
|
36
|
+
| 4. Configure |
|
|
37
|
+
| settings.json |
|
|
38
|
+
+------------------+
|
|
39
|
+
|
|
|
40
|
+
v
|
|
41
|
+
+------------------+
|
|
42
|
+
| 5. Set Up Rules |
|
|
43
|
+
| (.claude/rules)|
|
|
44
|
+
+------------------+
|
|
45
|
+
|
|
|
46
|
+
v
|
|
47
|
+
+------------------+
|
|
48
|
+
| 6. Configure Hooks|
|
|
49
|
+
| (optional) |
|
|
50
|
+
+------------------+
|
|
51
|
+
|
|
|
52
|
+
v
|
|
53
|
+
+------------------+
|
|
54
|
+
| 7. Verify Setup |
|
|
55
|
+
+------------------+
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Inputs
|
|
61
|
+
|
|
62
|
+
| Field | Type | Source | Required | Validation |
|
|
63
|
+
|-------|------|--------|----------|------------|
|
|
64
|
+
| project_path | string | User | Yes | Must be valid directory path |
|
|
65
|
+
| project_type | enum | User | Yes | `monorepo`, `fullstack`, `frontend`, `backend`, `library`, `mobile` |
|
|
66
|
+
| team_size | enum | User | No | `solo`, `small` (2-5), `medium` (6-15), `enterprise` (15+) |
|
|
67
|
+
| existing_git | boolean | Detection | No | Auto-detected from .git/ presence |
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Preconditions
|
|
72
|
+
|
|
73
|
+
- Target directory exists and is writable
|
|
74
|
+
- Node.js 18+ available on PATH
|
|
75
|
+
- Git installed and configured with user.name and user.email
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Execution Phases
|
|
80
|
+
|
|
81
|
+
### Phase 1: Initialize Git Repository
|
|
82
|
+
|
|
83
|
+
1. Check if `.git/` directory exists in target path
|
|
84
|
+
2. If missing, run `git init` and create initial `.gitignore`
|
|
85
|
+
3. If present, note current branch and recent history for context
|
|
86
|
+
4. Validate git config has user.name and user.email set
|
|
87
|
+
|
|
88
|
+
**Skip condition:** Git already initialized.
|
|
89
|
+
|
|
90
|
+
### Phase 2: Create .claude/ Directory Structure
|
|
91
|
+
|
|
92
|
+
Create the complete directory tree:
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
.claude/
|
|
96
|
+
CLAUDE.md
|
|
97
|
+
settings.json
|
|
98
|
+
settings.local.json # gitignored template
|
|
99
|
+
rules/ # contextual rules
|
|
100
|
+
commands/ # slash commands (optional)
|
|
101
|
+
skills/ # skill definitions (optional)
|
|
102
|
+
agent-memory/ # persistent memory (optional)
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
For each directory:
|
|
106
|
+
1. Create directory if not present
|
|
107
|
+
2. Add `.gitkeep` for empty optional directories
|
|
108
|
+
3. Record creation in output log
|
|
109
|
+
|
|
110
|
+
### Phase 3: Generate CLAUDE.md
|
|
111
|
+
|
|
112
|
+
Generate a project-specific CLAUDE.md following best practices:
|
|
113
|
+
|
|
114
|
+
1. **Project Context** (1-2 lines): what the project is, primary language/framework
|
|
115
|
+
2. **Build & Test Commands**: exact commands for `dev`, `build`, `test`, `lint`, `typecheck`
|
|
116
|
+
3. **Code Standards**: naming conventions, import style, error handling pattern
|
|
117
|
+
4. **File Structure**: key directories and their purpose (5-10 entries)
|
|
118
|
+
5. **Protected Files**: files that should never be modified by AI
|
|
119
|
+
6. **Common Patterns**: 2-3 code snippets showing project conventions
|
|
120
|
+
|
|
121
|
+
**Constraints:**
|
|
122
|
+
- Keep under 150 lines total
|
|
123
|
+
- Only universally applicable content
|
|
124
|
+
- Domain-specific knowledge goes in rules/ or skills/
|
|
125
|
+
|
|
126
|
+
### Phase 4: Configure settings.json
|
|
127
|
+
|
|
128
|
+
Create `.claude/settings.json` with:
|
|
129
|
+
|
|
130
|
+
1. **permissions.allow**: safe operations for the project type
|
|
131
|
+
- Build commands, test commands, lint commands
|
|
132
|
+
- File read/write within project scope
|
|
133
|
+
2. **permissions.deny**: dangerous operations
|
|
134
|
+
- `rm -rf /`, `git push --force`, production database access
|
|
135
|
+
- Framework-protected paths if using SINAPSE
|
|
136
|
+
3. **rules**: path-based rule loading configuration
|
|
137
|
+
|
|
138
|
+
Adapt permissions based on `project_type`:
|
|
139
|
+
- `monorepo`: include workspace-aware commands
|
|
140
|
+
- `fullstack`: include both frontend and backend build tools
|
|
141
|
+
- `library`: include publish-related deny rules
|
|
142
|
+
|
|
143
|
+
### Phase 5: Set Up Initial Rules
|
|
144
|
+
|
|
145
|
+
Create rule files in `.claude/rules/`:
|
|
146
|
+
|
|
147
|
+
1. **coding-standards.md**: language-specific conventions detected from project
|
|
148
|
+
2. **testing.md**: test patterns and requirements (framework-specific)
|
|
149
|
+
3. **git-workflow.md**: branch naming, commit conventions, PR template guidance
|
|
150
|
+
|
|
151
|
+
Each rule file includes `paths:` frontmatter for contextual loading:
|
|
152
|
+
```yaml
|
|
153
|
+
---
|
|
154
|
+
paths:
|
|
155
|
+
- "src/**/*.ts"
|
|
156
|
+
- "src/**/*.tsx"
|
|
157
|
+
---
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Phase 6: Configure Hooks (Optional)
|
|
161
|
+
|
|
162
|
+
If user wants automation hooks:
|
|
163
|
+
|
|
164
|
+
1. Detect available hook infrastructure (pre-commit, husky, lefthook)
|
|
165
|
+
2. Create `.claude/hooks/` directory if using Claude Code hooks
|
|
166
|
+
3. Suggest hook configurations for:
|
|
167
|
+
- `PreToolUse`: command validation (block dangerous patterns)
|
|
168
|
+
- `PostToolUse`: logging and metrics
|
|
169
|
+
- `Stop`: session summary generation
|
|
170
|
+
4. Provide hook templates, do not force-install
|
|
171
|
+
|
|
172
|
+
### Phase 7: Verify Setup
|
|
173
|
+
|
|
174
|
+
Run verification checks:
|
|
175
|
+
|
|
176
|
+
1. Confirm `.claude/CLAUDE.md` exists and is under 150 lines
|
|
177
|
+
2. Confirm `.claude/settings.json` is valid JSON
|
|
178
|
+
3. Confirm rules/ directory has at least one rule file
|
|
179
|
+
4. Test that git status recognizes new files
|
|
180
|
+
5. Generate setup report with pass/fail per component
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Output Format
|
|
185
|
+
|
|
186
|
+
```markdown
|
|
187
|
+
## Repository Setup Report
|
|
188
|
+
|
|
189
|
+
**Project:** {project_path}
|
|
190
|
+
**Type:** {project_type}
|
|
191
|
+
**Date:** {YYYY-MM-DD}
|
|
192
|
+
|
|
193
|
+
### Components Created
|
|
194
|
+
|
|
195
|
+
| Component | Status | Path |
|
|
196
|
+
|-----------|--------|------|
|
|
197
|
+
| .claude/CLAUDE.md | PASS | .claude/CLAUDE.md |
|
|
198
|
+
| settings.json | PASS | .claude/settings.json |
|
|
199
|
+
| Rules | PASS | .claude/rules/ (N files) |
|
|
200
|
+
| Hooks | SKIP/PASS | .claude/hooks/ |
|
|
201
|
+
|
|
202
|
+
### CLAUDE.md Summary
|
|
203
|
+
- Lines: {N}/150
|
|
204
|
+
- Sections: {list}
|
|
205
|
+
|
|
206
|
+
### Next Steps
|
|
207
|
+
1. Review CLAUDE.md and adjust project context
|
|
208
|
+
2. Run `claude` to test the integration
|
|
209
|
+
3. Consider adding skills with `*create-skill`
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Veto Conditions
|
|
215
|
+
|
|
216
|
+
- **NEVER** overwrite an existing CLAUDE.md without user confirmation
|
|
217
|
+
- **NEVER** add allow rules for destructive commands (rm -rf, drop database)
|
|
218
|
+
- **NEVER** configure hooks that block workflow without explicit opt-in
|
|
219
|
+
- **NEVER** commit generated files automatically -- let user review first
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Completion Criteria
|
|
224
|
+
|
|
225
|
+
- [ ] .claude/ directory structure created
|
|
226
|
+
- [ ] CLAUDE.md generated under 150 lines with project-specific content
|
|
227
|
+
- [ ] settings.json configured with appropriate permissions
|
|
228
|
+
- [ ] At least one rule file created in .claude/rules/
|
|
229
|
+
- [ ] Verification checks all pass
|
|
230
|
+
- [ ] Setup report presented to user
|