@claude-code-mastery/starter-kit 1.0.0 → 1.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/.claude/.starter-kit/profiles/clean.md +7 -1
- package/.claude/.starter-kit/profiles/go.md +1 -1
- package/.claude/.starter-kit/profiles/node.md +13 -4
- package/.claude/.starter-kit/profiles/python.md +1 -1
- package/.claude/commands/show-user-guide.md +22 -20
- package/.dockerignore +39 -0
- package/.env.example +74 -0
- package/.gitignore +70 -0
- package/CLAUDE.md +838 -0
- package/README.md +111 -2073
- package/README.npm.md +190 -0
- package/bin/cli.js +22 -0
- package/package.json +14 -4
- package/playwright.config.ts +79 -0
- package/scripts/.gitkeep +0 -0
- package/scripts/build-content.ts +108 -0
- package/scripts/content/html-template.ts +144 -0
- package/scripts/content/markdown-processor.ts +261 -0
- package/scripts/content/seo-generator.ts +42 -0
- package/scripts/content/sidebar-generator.ts +71 -0
- package/scripts/content/types.ts +72 -0
- package/scripts/content.config.json +49 -0
- package/scripts/db-query.ts +143 -0
- package/scripts/queries/example-count-docs.ts +25 -0
- package/scripts/queries/example-find-user.ts +32 -0
- package/scripts/scaffold-clean.sh +591 -0
- package/scripts/scaffold-default.sh +1251 -0
- package/tsconfig.json +25 -0
- package/vitest.config.ts +15 -0
|
@@ -74,7 +74,13 @@ project/
|
|
|
74
74
|
2. **Run the batch scaffold script** — this replaces all individual file creation with a single command:
|
|
75
75
|
|
|
76
76
|
```bash
|
|
77
|
-
|
|
77
|
+
# Resolve the kit source: npm global install takes priority over CWD
|
|
78
|
+
if [ -f ~/.claude/starter-kit-source-path ]; then
|
|
79
|
+
KIT=$(cat ~/.claude/starter-kit-source-path)
|
|
80
|
+
else
|
|
81
|
+
KIT="$(pwd)"
|
|
82
|
+
fi
|
|
83
|
+
bash "$KIT/scripts/scaffold-clean.sh" "$PROJECT_PATH" "$PROJECT_NAME" "$KIT"
|
|
78
84
|
```
|
|
79
85
|
|
|
80
86
|
The script handles ALL of the following in one execution (~100ms) with a progress indicator:
|
|
@@ -394,7 +394,7 @@ When creating a Go project, the CLAUDE.md MUST include these Go-specific rules:
|
|
|
394
394
|
8. Create `Dockerfile` (multi-stage with scratch, using template above)
|
|
395
395
|
9. Create `.golangci.yml` (using template above)
|
|
396
396
|
10. Create Go-specific `CLAUDE.md` (with Go rules above + universal security rules)
|
|
397
|
-
11. Copy `.claude/` contents from starter kit
|
|
397
|
+
11. **If NOT using npm global install** (`~/.claude/starter-kit-source-path` does not exist): Copy `.claude/` contents from starter kit - only commands with `scope: project` in frontmatter (skills, hooks, settings.json copied in full). **If npm global install is active**: skip this step - commands/skills/hooks already live in `~/.claude/` globally.
|
|
398
398
|
12. Create `project-docs/` templates (ARCHITECTURE.md, INFRASTRUCTURE.md, DECISIONS.md)
|
|
399
399
|
13. Create `.env`, `.env.example`, `.gitignore` (Go-specific), `.dockerignore`
|
|
400
400
|
14. Create `CLAUDE.local.md` template
|
|
@@ -81,13 +81,22 @@ Based on answers, scaffold the project.
|
|
|
81
81
|
**If the resolved choices exactly match the default profile** (fullstack + next + mongo + tailwind + docker + pnpm), use the batch scaffold script for maximum speed:
|
|
82
82
|
|
|
83
83
|
```bash
|
|
84
|
-
|
|
84
|
+
# Resolve the kit source: npm global install takes priority over CWD
|
|
85
|
+
if [ -f ~/.claude/starter-kit-source-path ]; then
|
|
86
|
+
KIT=$(cat ~/.claude/starter-kit-source-path)
|
|
87
|
+
else
|
|
88
|
+
KIT="$(pwd)"
|
|
89
|
+
fi
|
|
90
|
+
bash "$KIT/scripts/scaffold-default.sh" "$PROJECT_PATH" "$PROJECT_NAME" "$KIT"
|
|
85
91
|
```
|
|
86
92
|
|
|
87
93
|
The script handles ALL of the following in one execution with progress indicators:
|
|
88
|
-
- Creates all directories (src/,
|
|
89
|
-
-
|
|
90
|
-
-
|
|
94
|
+
- Creates all directories (src/, project-docs/, tests/, scripts/, .github/)
|
|
95
|
+
- For clone users: copies project-scoped commands, all skills, and all hooks into the project's .claude/
|
|
96
|
+
- For npm users: skips local .claude/ copy (commands/skills/hooks already live globally in ~/.claude/)
|
|
97
|
+
- Writes settings.json (10-hook config) for clone users only
|
|
98
|
+
- Installs StrictDB (npm package) + query system
|
|
99
|
+
- Creates Next.js app structure (layout, page, API health route, instrumentation)
|
|
91
100
|
- Installs StrictDB (npm package) + query system
|
|
92
101
|
- Creates Next.js app structure (layout, page, API health route, instrumentation)
|
|
93
102
|
- Creates TypeScript, Next.js, Tailwind, PostCSS, Vitest, Playwright configs
|
|
@@ -415,7 +415,7 @@ When creating a Python project, the CLAUDE.md MUST include these Python-specific
|
|
|
415
415
|
10. Create `Makefile` with dev, test, lint, format, run targets
|
|
416
416
|
11. Create `Dockerfile` (multi-stage with python:3.12-slim)
|
|
417
417
|
12. Create Python-specific CLAUDE.md (with Python rules + universal security rules)
|
|
418
|
-
13. Copy `.claude/` contents from starter kit
|
|
418
|
+
13. **If NOT using npm global install** (`~/.claude/starter-kit-source-path` does not exist): Copy `.claude/` contents from starter kit - only commands with `scope: project` in frontmatter (skills, hooks, settings.json copied in full). **If npm global install is active**: skip this step - commands/skills/hooks already live in `~/.claude/` globally.
|
|
419
419
|
14. Create `project-docs/` templates (ARCHITECTURE.md, INFRASTRUCTURE.md, DECISIONS.md)
|
|
420
420
|
15. Create `.env`, `.env.example`, `.gitignore` (Python-specific), `.dockerignore`
|
|
421
421
|
16. Create `CLAUDE.local.md` template
|
|
@@ -8,43 +8,46 @@ Open the User Guide for the Claude Code Mastery Project Starter Kit.
|
|
|
8
8
|
|
|
9
9
|
## Steps
|
|
10
10
|
|
|
11
|
-
1. **
|
|
12
|
-
|
|
13
|
-
2. **Open in browser** — try the GitHub Pages URL first, fall back to local file:
|
|
11
|
+
1. **Open the User Guide** — try the GitHub Pages URL first, then fall back to a local copy if one exists:
|
|
14
12
|
|
|
15
13
|
**Primary (online):**
|
|
16
14
|
```
|
|
17
15
|
https://thedecipherist.github.io/claude-code-mastery-project-starter-kit/user-guide.html
|
|
18
16
|
```
|
|
19
17
|
|
|
20
|
-
**
|
|
18
|
+
**Local fallback** (only if the repo was cloned):
|
|
21
19
|
```
|
|
22
20
|
docs/user-guide.html
|
|
23
21
|
```
|
|
24
22
|
|
|
25
|
-
|
|
23
|
+
2. **Detect the environment** and use the correct open command:
|
|
26
24
|
- **WSL:** `wslview <url>`
|
|
27
25
|
- **macOS:** `open <url>`
|
|
28
26
|
- **Linux:** `xdg-open <url>`
|
|
29
27
|
|
|
30
|
-
4. **Also mention** the markdown version is available at `USER_GUIDE.md` in the project root for reading directly in GitHub or a text editor.
|
|
31
|
-
|
|
32
28
|
## Detection Logic
|
|
33
29
|
|
|
34
30
|
```bash
|
|
35
|
-
# Detect platform and open URL
|
|
36
31
|
URL="https://thedecipherist.github.io/claude-code-mastery-project-starter-kit/user-guide.html"
|
|
37
|
-
LOCAL="docs/user-guide.html"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
|
43
|
-
|
|
44
|
-
|
|
32
|
+
LOCAL="$(pwd)/docs/user-guide.html"
|
|
33
|
+
|
|
34
|
+
open_url() {
|
|
35
|
+
if grep -qi microsoft /proc/version 2>/dev/null; then
|
|
36
|
+
wslview "$1" 2>/dev/null
|
|
37
|
+
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
|
38
|
+
open "$1" 2>/dev/null
|
|
39
|
+
else
|
|
40
|
+
xdg-open "$1" 2>/dev/null
|
|
41
|
+
fi
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
# Always try online first
|
|
45
|
+
if open_url "$URL"; then
|
|
46
|
+
echo "Opened online User Guide."
|
|
47
|
+
elif [ -f "$LOCAL" ] && open_url "$LOCAL"; then
|
|
48
|
+
echo "Opened local User Guide."
|
|
45
49
|
else
|
|
46
|
-
|
|
47
|
-
xdg-open "$URL" 2>/dev/null || xdg-open "$LOCAL" 2>/dev/null || echo "Could not open browser. Visit: $URL"
|
|
50
|
+
echo "Could not open browser. Visit: $URL"
|
|
48
51
|
fi
|
|
49
52
|
```
|
|
50
53
|
|
|
@@ -52,7 +55,6 @@ fi
|
|
|
52
55
|
|
|
53
56
|
After opening, tell the user:
|
|
54
57
|
|
|
55
|
-
> User Guide opened
|
|
58
|
+
> User Guide opened.
|
|
56
59
|
> - **Online:** https://thedecipherist.github.io/claude-code-mastery-project-starter-kit/user-guide.html
|
|
57
|
-
> - **Markdown:** `USER_GUIDE.md` (project root)
|
|
58
60
|
> - **Tip:** Use `/help` to see all available commands at any time.
|
package/.dockerignore
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Environment & Secrets
|
|
2
|
+
.env
|
|
3
|
+
.env.*
|
|
4
|
+
.env.local
|
|
5
|
+
secrets.json
|
|
6
|
+
credentials.json
|
|
7
|
+
|
|
8
|
+
# Git
|
|
9
|
+
.git/
|
|
10
|
+
.gitignore
|
|
11
|
+
|
|
12
|
+
# Dependencies
|
|
13
|
+
node_modules/
|
|
14
|
+
|
|
15
|
+
# Build & IDE
|
|
16
|
+
dist/
|
|
17
|
+
.next/
|
|
18
|
+
.vscode/
|
|
19
|
+
.idea/
|
|
20
|
+
|
|
21
|
+
# Claude Code
|
|
22
|
+
.claude/
|
|
23
|
+
CLAUDE.md
|
|
24
|
+
CLAUDE.local.md
|
|
25
|
+
|
|
26
|
+
# Testing
|
|
27
|
+
coverage/
|
|
28
|
+
test-results/
|
|
29
|
+
playwright-report/
|
|
30
|
+
|
|
31
|
+
# Documentation (not needed in container)
|
|
32
|
+
project-docs/
|
|
33
|
+
docs/
|
|
34
|
+
*.md
|
|
35
|
+
!README.md
|
|
36
|
+
|
|
37
|
+
# OS
|
|
38
|
+
.DS_Store
|
|
39
|
+
Thumbs.db
|
package/.env.example
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# ==========================================
|
|
2
|
+
# Environment Variables
|
|
3
|
+
# ==========================================
|
|
4
|
+
# Copy this to .env and fill in real values
|
|
5
|
+
# NEVER commit .env to git
|
|
6
|
+
#
|
|
7
|
+
# Run /setup for interactive configuration
|
|
8
|
+
# ==========================================
|
|
9
|
+
|
|
10
|
+
# ------------------------------------------
|
|
11
|
+
# Application
|
|
12
|
+
# ------------------------------------------
|
|
13
|
+
NODE_ENV=development
|
|
14
|
+
# Port assignment: Website=3000, API=3001, Dashboard=3002 (see CLAUDE.md port table)
|
|
15
|
+
PORT=3000
|
|
16
|
+
|
|
17
|
+
# ------------------------------------------
|
|
18
|
+
# Database (StrictDB — auto-detects backend from URI scheme)
|
|
19
|
+
# ------------------------------------------
|
|
20
|
+
STRICTDB_URI=YOUR_DATABASE_CONNECTION_STRING_HERE
|
|
21
|
+
|
|
22
|
+
# Multi-region database (uncomment if using /setup with multi-region)
|
|
23
|
+
# STRICTDB_URI_US=YOUR_US_DATABASE_URI_HERE
|
|
24
|
+
# STRICTDB_URI_EU=YOUR_EU_DATABASE_URI_HERE
|
|
25
|
+
|
|
26
|
+
# ------------------------------------------
|
|
27
|
+
# Authentication
|
|
28
|
+
# ------------------------------------------
|
|
29
|
+
JWT_SECRET=YOUR_JWT_SECRET_HERE
|
|
30
|
+
|
|
31
|
+
# ------------------------------------------
|
|
32
|
+
# GitHub
|
|
33
|
+
# ------------------------------------------
|
|
34
|
+
GITHUB_USERNAME=YOUR_GITHUB_USERNAME_HERE
|
|
35
|
+
|
|
36
|
+
# ------------------------------------------
|
|
37
|
+
# Analytics (Rybbit)
|
|
38
|
+
# ------------------------------------------
|
|
39
|
+
NEXT_PUBLIC_RYBBIT_SITE_ID=YOUR_RYBBIT_SITE_ID_HERE
|
|
40
|
+
NEXT_PUBLIC_RYBBIT_URL=https://app.rybbit.io
|
|
41
|
+
|
|
42
|
+
# ------------------------------------------
|
|
43
|
+
# Docker
|
|
44
|
+
# ------------------------------------------
|
|
45
|
+
DOCKER_HUB_USER=YOUR_DOCKER_HUB_USERNAME_HERE
|
|
46
|
+
DOCKER_IMAGE_NAME=YOUR_DOCKER_HUB_USER/YOUR_PROJECT_NAME
|
|
47
|
+
|
|
48
|
+
# ------------------------------------------
|
|
49
|
+
# Deployment (single-server)
|
|
50
|
+
# ------------------------------------------
|
|
51
|
+
VPS_IP=YOUR_VPS_IP_HERE
|
|
52
|
+
DOKPLOY_URL=YOUR_DOKPLOY_URL_HERE
|
|
53
|
+
DOKPLOY_API_KEY=YOUR_DOKPLOY_API_KEY_HERE
|
|
54
|
+
DOKPLOY_APP_ID=YOUR_DOKPLOY_APP_ID_HERE
|
|
55
|
+
DOKPLOY_REFRESH_TOKEN=YOUR_DOKPLOY_REFRESH_TOKEN_HERE
|
|
56
|
+
|
|
57
|
+
# Multi-region deployment (uncomment if using /setup with multi-region)
|
|
58
|
+
# VPS_IP_US=YOUR_US_VPS_IP_HERE
|
|
59
|
+
# VPS_IP_EU=YOUR_EU_VPS_IP_HERE
|
|
60
|
+
# DOKPLOY_URL_US=YOUR_US_DOKPLOY_URL_HERE
|
|
61
|
+
# DOKPLOY_URL_EU=YOUR_EU_DOKPLOY_URL_HERE
|
|
62
|
+
# DOKPLOY_API_KEY_US=YOUR_US_DOKPLOY_API_KEY_HERE
|
|
63
|
+
# DOKPLOY_API_KEY_EU=YOUR_EU_DOKPLOY_API_KEY_HERE
|
|
64
|
+
# DOKPLOY_APP_ID_US=YOUR_US_DOKPLOY_APP_ID_HERE
|
|
65
|
+
# DOKPLOY_APP_ID_EU=YOUR_EU_DOKPLOY_APP_ID_HERE
|
|
66
|
+
# DOKPLOY_REFRESH_TOKEN_US=YOUR_US_DOKPLOY_REFRESH_TOKEN_HERE
|
|
67
|
+
# DOKPLOY_REFRESH_TOKEN_EU=YOUR_EU_DOKPLOY_REFRESH_TOKEN_HERE
|
|
68
|
+
# DEPLOY_REGION=us
|
|
69
|
+
|
|
70
|
+
# ------------------------------------------
|
|
71
|
+
# Monitoring (RuleCatch)
|
|
72
|
+
# ------------------------------------------
|
|
73
|
+
RULECATCH_API_KEY=YOUR_RULECATCH_API_KEY_HERE
|
|
74
|
+
RULECATCH_REGION=us
|
package/.gitignore
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Environment & Secrets
|
|
2
|
+
.env
|
|
3
|
+
.env.local
|
|
4
|
+
.env.production
|
|
5
|
+
.env.staging
|
|
6
|
+
secrets.json
|
|
7
|
+
credentials.json
|
|
8
|
+
service-account.json
|
|
9
|
+
|
|
10
|
+
# Claude Code personal overrides
|
|
11
|
+
CLAUDE.local.md
|
|
12
|
+
.claude/settings.local.json
|
|
13
|
+
|
|
14
|
+
# Dependencies
|
|
15
|
+
node_modules/
|
|
16
|
+
|
|
17
|
+
# Build output
|
|
18
|
+
dist/
|
|
19
|
+
build/
|
|
20
|
+
.next/
|
|
21
|
+
out/
|
|
22
|
+
|
|
23
|
+
# TypeScript
|
|
24
|
+
*.tsbuildinfo
|
|
25
|
+
|
|
26
|
+
# Testing
|
|
27
|
+
coverage/
|
|
28
|
+
.nyc_output/
|
|
29
|
+
test-results/
|
|
30
|
+
playwright-report/
|
|
31
|
+
|
|
32
|
+
# IDE
|
|
33
|
+
.vscode/settings.json
|
|
34
|
+
.idea/
|
|
35
|
+
*.swp
|
|
36
|
+
*.swo
|
|
37
|
+
*~
|
|
38
|
+
|
|
39
|
+
# OS
|
|
40
|
+
.DS_Store
|
|
41
|
+
Thumbs.db
|
|
42
|
+
|
|
43
|
+
# Logs
|
|
44
|
+
*.log
|
|
45
|
+
npm-debug.log*
|
|
46
|
+
yarn-debug.log*
|
|
47
|
+
yarn-error.log*
|
|
48
|
+
|
|
49
|
+
# Temporary AI research files
|
|
50
|
+
_ai_temp/
|
|
51
|
+
|
|
52
|
+
# MDD working directory (docs, audit notes, reports)
|
|
53
|
+
.mdd/
|
|
54
|
+
|
|
55
|
+
# Misc
|
|
56
|
+
*.bak
|
|
57
|
+
*.tmp
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
.code-workspace
|
|
61
|
+
|
|
62
|
+
mdd_dashboard_prompt.md
|
|
63
|
+
# MDD audit reports (ephemeral — regenerated by /mdd audit)
|
|
64
|
+
.mdd/audits/
|
|
65
|
+
# MDD active jobs (ephemeral — deleted on completion)
|
|
66
|
+
.mdd/jobs/
|
|
67
|
+
|
|
68
|
+
*.Zone.Identifier
|
|
69
|
+
_.claude/
|
|
70
|
+
_gh_readme.md
|