claude-cli-advanced-starter-pack 1.0.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.
Files changed (67) hide show
  1. package/LICENSE +21 -0
  2. package/OVERVIEW.md +597 -0
  3. package/README.md +439 -0
  4. package/bin/gtask.js +282 -0
  5. package/bin/postinstall.js +53 -0
  6. package/package.json +69 -0
  7. package/src/agents/phase-dev-templates.js +1011 -0
  8. package/src/agents/templates.js +668 -0
  9. package/src/analysis/checklist-parser.js +414 -0
  10. package/src/analysis/codebase.js +481 -0
  11. package/src/cli/menu.js +958 -0
  12. package/src/commands/claude-audit.js +1482 -0
  13. package/src/commands/claude-settings.js +2243 -0
  14. package/src/commands/create-agent.js +681 -0
  15. package/src/commands/create-command.js +337 -0
  16. package/src/commands/create-hook.js +262 -0
  17. package/src/commands/create-phase-dev/codebase-analyzer.js +813 -0
  18. package/src/commands/create-phase-dev/documentation-generator.js +352 -0
  19. package/src/commands/create-phase-dev/post-completion.js +404 -0
  20. package/src/commands/create-phase-dev/scale-calculator.js +344 -0
  21. package/src/commands/create-phase-dev/wizard.js +492 -0
  22. package/src/commands/create-phase-dev.js +481 -0
  23. package/src/commands/create-skill.js +313 -0
  24. package/src/commands/create.js +446 -0
  25. package/src/commands/decompose.js +392 -0
  26. package/src/commands/detect-tech-stack.js +768 -0
  27. package/src/commands/explore-mcp/claude-md-updater.js +252 -0
  28. package/src/commands/explore-mcp/mcp-installer.js +346 -0
  29. package/src/commands/explore-mcp/mcp-registry.js +438 -0
  30. package/src/commands/explore-mcp.js +638 -0
  31. package/src/commands/gtask-init.js +641 -0
  32. package/src/commands/help.js +128 -0
  33. package/src/commands/init.js +1890 -0
  34. package/src/commands/install.js +250 -0
  35. package/src/commands/list.js +116 -0
  36. package/src/commands/roadmap.js +750 -0
  37. package/src/commands/setup-wizard.js +482 -0
  38. package/src/commands/setup.js +351 -0
  39. package/src/commands/sync.js +534 -0
  40. package/src/commands/test-run.js +456 -0
  41. package/src/commands/test-setup.js +456 -0
  42. package/src/commands/validate.js +67 -0
  43. package/src/config/tech-stack.defaults.json +182 -0
  44. package/src/config/tech-stack.schema.json +502 -0
  45. package/src/github/client.js +359 -0
  46. package/src/index.js +84 -0
  47. package/src/templates/claude-command.js +244 -0
  48. package/src/templates/issue-body.js +284 -0
  49. package/src/testing/config.js +411 -0
  50. package/src/utils/template-engine.js +398 -0
  51. package/src/utils/validate-templates.js +223 -0
  52. package/src/utils.js +396 -0
  53. package/templates/commands/ccasp-setup.template.md +113 -0
  54. package/templates/commands/context-audit.template.md +97 -0
  55. package/templates/commands/create-task-list.template.md +382 -0
  56. package/templates/commands/deploy-full.template.md +261 -0
  57. package/templates/commands/github-task-start.template.md +99 -0
  58. package/templates/commands/github-update.template.md +69 -0
  59. package/templates/commands/happy-start.template.md +117 -0
  60. package/templates/commands/phase-track.template.md +142 -0
  61. package/templates/commands/tunnel-start.template.md +127 -0
  62. package/templates/commands/tunnel-stop.template.md +106 -0
  63. package/templates/hooks/context-guardian.template.js +173 -0
  64. package/templates/hooks/deployment-orchestrator.template.js +219 -0
  65. package/templates/hooks/github-progress-hook.template.js +197 -0
  66. package/templates/hooks/happy-checkpoint-manager.template.js +222 -0
  67. package/templates/hooks/phase-dev-enforcer.template.js +183 -0
package/bin/gtask.js ADDED
@@ -0,0 +1,282 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Claude CLI Advanced Starter Pack - CLI Entry Point
5
+ *
6
+ * Advanced Claude Code CLI toolkit - agents, hooks, skills, MCP servers,
7
+ * phased development, and GitHub integration
8
+ */
9
+
10
+ import { program } from 'commander';
11
+ import { showMainMenu } from '../src/cli/menu.js';
12
+ import { runSetup } from '../src/commands/setup.js';
13
+ import { runCreate } from '../src/commands/create.js';
14
+ import { runList } from '../src/commands/list.js';
15
+ import { runInstall } from '../src/commands/install.js';
16
+ import { runDecompose } from '../src/commands/decompose.js';
17
+ import { runSync } from '../src/commands/sync.js';
18
+ import { runTestSetup } from '../src/commands/test-setup.js';
19
+ import { runTest } from '../src/commands/test-run.js';
20
+ import { runCreateAgent } from '../src/commands/create-agent.js';
21
+ import { runCreateHook } from '../src/commands/create-hook.js';
22
+ import { runCreateCommand } from '../src/commands/create-command.js';
23
+ import { runCreateSkill } from '../src/commands/create-skill.js';
24
+ import { runClaudeSettings } from '../src/commands/claude-settings.js';
25
+ import { runCreatePhaseDev } from '../src/commands/create-phase-dev.js';
26
+ import { runGtaskInit } from '../src/commands/gtask-init.js';
27
+ import { runDetection } from '../src/commands/detect-tech-stack.js';
28
+ import { runExploreMcp } from '../src/commands/explore-mcp.js';
29
+ import { runClaudeAudit } from '../src/commands/claude-audit.js';
30
+ import { runRoadmap } from '../src/commands/roadmap.js';
31
+ import { runInit } from '../src/commands/init.js';
32
+ import { showHelp } from '../src/commands/help.js';
33
+ import { runSetupWizard } from '../src/commands/setup-wizard.js';
34
+ import { getVersion, checkPrerequisites } from '../src/utils.js';
35
+
36
+ program
37
+ .name('ccasp')
38
+ .description('Claude CLI Advanced Starter Pack - Complete toolkit for Claude Code CLI')
39
+ .version(getVersion());
40
+
41
+ // Init command - deploy to project
42
+ program
43
+ .command('init')
44
+ .description('Deploy Claude CLI Advanced Starter Pack to current project')
45
+ .option('--force', 'Overwrite existing commands')
46
+ .action(async (options) => {
47
+ await runInit(options);
48
+ });
49
+
50
+ // Interactive menu (default when no command)
51
+ program
52
+ .command('menu', { isDefault: true })
53
+ .description('Show interactive menu')
54
+ .action(async () => {
55
+ await checkPrerequisites();
56
+ await showMainMenu();
57
+ });
58
+
59
+ // Setup command
60
+ program
61
+ .command('setup')
62
+ .description('Configure GitHub project connection')
63
+ .option('-o, --owner <owner>', 'GitHub username or organization')
64
+ .option('-r, --repo <repo>', 'Repository name')
65
+ .option('-p, --project <number>', 'Project board number')
66
+ .option('--global', 'Save config globally (~/.gtaskrc)')
67
+ .action(async (options) => {
68
+ await checkPrerequisites();
69
+ await runSetup(options);
70
+ });
71
+
72
+ // Create command
73
+ program
74
+ .command('create')
75
+ .description('Create a new GitHub issue with codebase analysis')
76
+ .option('-t, --title <title>', 'Issue title')
77
+ .option('-d, --description <desc>', 'Issue description')
78
+ .option('-p, --priority <priority>', 'Priority (P0, P1, P2, P3)')
79
+ .option('-l, --labels <labels>', 'Comma-separated labels')
80
+ .option('--qa', 'Requires QA validation')
81
+ .option('--no-qa', 'Skip QA validation')
82
+ .option('--batch', 'Batch mode (no interactive prompts)')
83
+ .option('--from-file <file>', 'Read task details from YAML file')
84
+ .option('--skip-analysis', 'Skip codebase analysis')
85
+ .action(async (options) => {
86
+ await checkPrerequisites();
87
+ await runCreate(options);
88
+ });
89
+
90
+ // List command
91
+ program
92
+ .command('list')
93
+ .description('List recent tasks/issues')
94
+ .option('-n, --limit <number>', 'Number of issues to show', '10')
95
+ .option('--mine', 'Only show issues assigned to me')
96
+ .option('--status <status>', 'Filter by status (open, closed, all)')
97
+ .action(async (options) => {
98
+ await checkPrerequisites();
99
+ await runList(options);
100
+ });
101
+
102
+ // Install Claude Code integration
103
+ program
104
+ .command('install')
105
+ .description('Install Claude Code command integration')
106
+ .option('--path <path>', 'Path to .claude/commands/ directory')
107
+ .option('--force', 'Overwrite existing command')
108
+ .action(async (options) => {
109
+ await runInstall(options);
110
+ });
111
+
112
+ // Decompose command - break down issue into tasks
113
+ program
114
+ .command('decompose [issue]')
115
+ .description('Decompose a GitHub issue into granular tasks')
116
+ .option('-i, --issue <number>', 'Issue number')
117
+ .action(async (issue, options) => {
118
+ await checkPrerequisites();
119
+ await runDecompose({ issue: issue || options.issue, ...options });
120
+ });
121
+
122
+ // Sync command - synchronize with GitHub
123
+ program
124
+ .command('sync [subcommand] [issue]')
125
+ .description('Sync task progress with GitHub (pull/push/watch/status)')
126
+ .option('-i, --issue <number>', 'Issue number')
127
+ .action(async (subcommand, issue, options) => {
128
+ await checkPrerequisites();
129
+ await runSync({
130
+ subcommand: subcommand || 'status',
131
+ issue: issue || options.issue,
132
+ ...options,
133
+ });
134
+ });
135
+
136
+ // Test setup command
137
+ program
138
+ .command('test-setup')
139
+ .description('Configure testing environment (Ralph Loop, credentials, Playwright)')
140
+ .option('--force', 'Overwrite existing testing configuration')
141
+ .action(async (options) => {
142
+ await runTestSetup(options);
143
+ });
144
+
145
+ // Test run command
146
+ program
147
+ .command('test')
148
+ .description('Run tests with configured mode (ralph/manual/watch)')
149
+ .option('-m, --mode <mode>', 'Testing mode: ralph, manual, or watch')
150
+ .option('-f, --file <file>', 'Specific test file to run')
151
+ .option('--headed', 'Run in headed mode (show browser)')
152
+ .option('--ui', 'Open Playwright UI mode')
153
+ .option('--max <iterations>', 'Max iterations for Ralph loop')
154
+ .option('-c, --command <command>', 'Custom test command')
155
+ .action(async (options) => {
156
+ await runTest(options);
157
+ });
158
+
159
+ // Agent creation - master command
160
+ program
161
+ .command('create-agent')
162
+ .description('Create Claude Code agents (interactive menu)')
163
+ .option('-n, --name <name>', 'Agent name')
164
+ .action(async (options) => {
165
+ await runCreateAgent(options);
166
+ });
167
+
168
+ // Create hook
169
+ program
170
+ .command('create-hook')
171
+ .description('Create enforcement hook (PreToolUse, UserPromptSubmit, etc.)')
172
+ .option('-n, --name <name>', 'Hook name')
173
+ .option('-e, --event <type>', 'Event type (PreToolUse, PostToolUse, UserPromptSubmit)')
174
+ .option('-t, --tools <tools>', 'Target tools (comma-separated)')
175
+ .action(async (options) => {
176
+ await runCreateHook(options);
177
+ });
178
+
179
+ // Create command
180
+ program
181
+ .command('create-command')
182
+ .description('Create slash command for Claude Code')
183
+ .option('-n, --name <name>', 'Command name')
184
+ .option('-d, --delegates-to <target>', 'Skill or agent to delegate to')
185
+ .action(async (options) => {
186
+ await runCreateCommand(options);
187
+ });
188
+
189
+ // Create skill
190
+ program
191
+ .command('create-skill')
192
+ .description('Create RAG-enhanced skill package')
193
+ .option('-n, --name <name>', 'Skill name')
194
+ .action(async (options) => {
195
+ await runCreateSkill(options);
196
+ });
197
+
198
+ // Claude settings
199
+ program
200
+ .command('claude-settings')
201
+ .description('Configure Claude CLI settings (permissions, agent-only mode, tech stack)')
202
+ .action(async () => {
203
+ await runClaudeSettings({});
204
+ });
205
+
206
+ // Tech stack detection
207
+ program
208
+ .command('detect-stack')
209
+ .description('Auto-detect project tech stack (frontend, backend, testing, etc.)')
210
+ .option('--silent', 'Minimal output')
211
+ .option('--json', 'Output as JSON')
212
+ .action(async (options) => {
213
+ await runDetection(options);
214
+ });
215
+
216
+ // Full project initialization
217
+ program
218
+ .command('project-init')
219
+ .description('Complete project setup wizard (detect stack, configure integrations, generate templates)')
220
+ .option('--force', 'Overwrite existing configuration')
221
+ .action(async (options) => {
222
+ await runGtaskInit(options);
223
+ });
224
+
225
+ // Phased development plan generator
226
+ program
227
+ .command('create-phase-dev')
228
+ .description('Create phased development plan (95%+ success probability)')
229
+ .option('-n, --name <name>', 'Project name')
230
+ .option('-s, --scale <scale>', 'Force scale: S, M, or L')
231
+ .option('--autonomous', 'Autonomous mode (use defaults)')
232
+ .action(async (options) => {
233
+ await runCreatePhaseDev(options);
234
+ });
235
+
236
+ // MCP Explorer
237
+ program
238
+ .command('explore-mcp')
239
+ .description('Discover and install MCP servers based on your tech stack')
240
+ .option('--recommend', 'Auto-recommend based on codebase analysis')
241
+ .option('--testing', 'Quick install testing MCPs (Playwright/Puppeteer)')
242
+ .action(async (options) => {
243
+ await runExploreMcp(options);
244
+ });
245
+
246
+ // Claude Audit
247
+ program
248
+ .command('claude-audit')
249
+ .description('Audit CLAUDE.md and .claude/ folder against Anthropic best practices')
250
+ .option('--mode <mode>', 'Audit mode: full, claudemd, or folder')
251
+ .action(async (options) => {
252
+ await runClaudeAudit(options);
253
+ });
254
+
255
+ // Roadmap Integration
256
+ program
257
+ .command('roadmap [subcommand]')
258
+ .description('Sync roadmaps with GitHub Project Board (import/sync/create/status)')
259
+ .option('-f, --file <file>', 'Path to ROADMAP.json file')
260
+ .action(async (subcommand, options) => {
261
+ await runRoadmap({ subcommand, ...options });
262
+ });
263
+
264
+ // Help with examples
265
+ program
266
+ .command('help-examples')
267
+ .description('Show detailed help with examples')
268
+ .action(() => {
269
+ showHelp();
270
+ });
271
+
272
+ // Setup Wizard - vibe-code friendly
273
+ program
274
+ .command('wizard')
275
+ .alias('w')
276
+ .description('Interactive setup wizard (vibe-code friendly, mobile-ready)')
277
+ .action(async () => {
278
+ await runSetupWizard();
279
+ });
280
+
281
+ // Parse and run
282
+ program.parse();
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * CCASP Postinstall Script
5
+ *
6
+ * Automatically runs after npm install to guide users through setup.
7
+ * Designed for "vibe coding" - minimal typing, mobile-friendly.
8
+ */
9
+
10
+ import chalk from 'chalk';
11
+ import boxen from 'boxen';
12
+
13
+ const SETUP_MESSAGE = `
14
+ ${chalk.bold.cyan('🚀 Claude CLI Advanced Starter Pack')}
15
+
16
+ ${chalk.green('✓')} Installation complete!
17
+
18
+ ${chalk.bold('Step 1: Run Setup')} ${chalk.dim('(one-time, in terminal)')}
19
+
20
+ ${chalk.dim('$')} ${chalk.white('ccasp wizard')} ${chalk.dim('← recommended')}
21
+ ${chalk.dim('$')} ${chalk.white('ccasp init')} ${chalk.dim('← quick mode')}
22
+
23
+ ${chalk.dim('This deploys slash commands to your .claude/ folder.')}
24
+
25
+ ${chalk.dim('─────────────────────────────────────')}
26
+
27
+ ${chalk.bold('Step 2: Restart Claude Code CLI')}
28
+
29
+ ${chalk.dim('─────────────────────────────────────')}
30
+
31
+ ${chalk.bold('Step 3: Use Slash Commands')} ${chalk.dim('(inside Claude)')}
32
+
33
+ ${chalk.cyan('/menu')} - All commands menu
34
+ ${chalk.cyan('/create-agent')} - Create L1/L2/L3 agents
35
+ ${chalk.cyan('/create-hook')} - Build enforcement hooks
36
+ ${chalk.cyan('/explore-mcp')} - Discover MCP servers
37
+ ${chalk.cyan('/phase-dev-plan')} - Create dev plans
38
+ ${chalk.cyan('/github-update')} - GitHub Project Board
39
+ `;
40
+
41
+ console.log(
42
+ boxen(SETUP_MESSAGE, {
43
+ padding: 1,
44
+ margin: 1,
45
+ borderStyle: 'round',
46
+ borderColor: 'cyan',
47
+ })
48
+ );
49
+
50
+ // Check if running interactively and offer to start setup
51
+ if (process.stdout.isTTY && !process.env.CI && !process.env.CCASP_SKIP_POSTINSTALL) {
52
+ console.log(chalk.dim('\nTip: Set CCASP_SKIP_POSTINSTALL=1 to skip this message\n'));
53
+ }
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "claude-cli-advanced-starter-pack",
3
+ "version": "1.0.0",
4
+ "description": "Advanced Claude Code CLI toolkit - agents, hooks, skills, MCP servers, phased development, and GitHub integration",
5
+ "main": "src/index.js",
6
+ "bin": {
7
+ "ccasp": "./bin/gtask.js",
8
+ "claude-advanced": "./bin/gtask.js",
9
+ "claude-cli-advanced-starter-pack": "./bin/gtask.js"
10
+ },
11
+ "type": "module",
12
+ "scripts": {
13
+ "start": "node bin/gtask.js",
14
+ "setup": "node bin/gtask.js setup",
15
+ "postinstall": "node bin/postinstall.js",
16
+ "test": "node --check bin/gtask.js && node --check bin/postinstall.js && echo 'Syntax OK'",
17
+ "lint": "eslint src/",
18
+ "prepublishOnly": "npm run test"
19
+ },
20
+ "keywords": [
21
+ "claude",
22
+ "claude-code",
23
+ "anthropic",
24
+ "cli",
25
+ "ai-tools",
26
+ "mcp",
27
+ "agents",
28
+ "hooks",
29
+ "skills",
30
+ "github",
31
+ "developer-tools",
32
+ "automation",
33
+ "codebase-analysis"
34
+ ],
35
+ "author": "evan043",
36
+ "license": "MIT",
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "git+https://github.com/evan043/claude-cli-advanced-starter-pack.git"
40
+ },
41
+ "bugs": {
42
+ "url": "https://github.com/evan043/claude-cli-advanced-starter-pack/issues"
43
+ },
44
+ "homepage": "https://github.com/evan043/claude-cli-advanced-starter-pack#readme",
45
+ "engines": {
46
+ "node": ">=18.0.0"
47
+ },
48
+ "dependencies": {
49
+ "chalk": "^5.3.0",
50
+ "commander": "^12.1.0",
51
+ "inquirer": "^9.2.23",
52
+ "ora": "^8.0.1",
53
+ "boxen": "^7.1.1",
54
+ "yaml": "^2.4.1",
55
+ "glob": "^10.3.10",
56
+ "figures": "^6.0.1"
57
+ },
58
+ "devDependencies": {
59
+ "eslint": "^9.0.0"
60
+ },
61
+ "files": [
62
+ "bin/",
63
+ "src/",
64
+ "templates/",
65
+ "README.md",
66
+ "OVERVIEW.md",
67
+ "LICENSE"
68
+ ]
69
+ }