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.
- package/LICENSE +21 -0
- package/OVERVIEW.md +597 -0
- package/README.md +439 -0
- package/bin/gtask.js +282 -0
- package/bin/postinstall.js +53 -0
- package/package.json +69 -0
- package/src/agents/phase-dev-templates.js +1011 -0
- package/src/agents/templates.js +668 -0
- package/src/analysis/checklist-parser.js +414 -0
- package/src/analysis/codebase.js +481 -0
- package/src/cli/menu.js +958 -0
- package/src/commands/claude-audit.js +1482 -0
- package/src/commands/claude-settings.js +2243 -0
- package/src/commands/create-agent.js +681 -0
- package/src/commands/create-command.js +337 -0
- package/src/commands/create-hook.js +262 -0
- package/src/commands/create-phase-dev/codebase-analyzer.js +813 -0
- package/src/commands/create-phase-dev/documentation-generator.js +352 -0
- package/src/commands/create-phase-dev/post-completion.js +404 -0
- package/src/commands/create-phase-dev/scale-calculator.js +344 -0
- package/src/commands/create-phase-dev/wizard.js +492 -0
- package/src/commands/create-phase-dev.js +481 -0
- package/src/commands/create-skill.js +313 -0
- package/src/commands/create.js +446 -0
- package/src/commands/decompose.js +392 -0
- package/src/commands/detect-tech-stack.js +768 -0
- package/src/commands/explore-mcp/claude-md-updater.js +252 -0
- package/src/commands/explore-mcp/mcp-installer.js +346 -0
- package/src/commands/explore-mcp/mcp-registry.js +438 -0
- package/src/commands/explore-mcp.js +638 -0
- package/src/commands/gtask-init.js +641 -0
- package/src/commands/help.js +128 -0
- package/src/commands/init.js +1890 -0
- package/src/commands/install.js +250 -0
- package/src/commands/list.js +116 -0
- package/src/commands/roadmap.js +750 -0
- package/src/commands/setup-wizard.js +482 -0
- package/src/commands/setup.js +351 -0
- package/src/commands/sync.js +534 -0
- package/src/commands/test-run.js +456 -0
- package/src/commands/test-setup.js +456 -0
- package/src/commands/validate.js +67 -0
- package/src/config/tech-stack.defaults.json +182 -0
- package/src/config/tech-stack.schema.json +502 -0
- package/src/github/client.js +359 -0
- package/src/index.js +84 -0
- package/src/templates/claude-command.js +244 -0
- package/src/templates/issue-body.js +284 -0
- package/src/testing/config.js +411 -0
- package/src/utils/template-engine.js +398 -0
- package/src/utils/validate-templates.js +223 -0
- package/src/utils.js +396 -0
- package/templates/commands/ccasp-setup.template.md +113 -0
- package/templates/commands/context-audit.template.md +97 -0
- package/templates/commands/create-task-list.template.md +382 -0
- package/templates/commands/deploy-full.template.md +261 -0
- package/templates/commands/github-task-start.template.md +99 -0
- package/templates/commands/github-update.template.md +69 -0
- package/templates/commands/happy-start.template.md +117 -0
- package/templates/commands/phase-track.template.md +142 -0
- package/templates/commands/tunnel-start.template.md +127 -0
- package/templates/commands/tunnel-stop.template.md +106 -0
- package/templates/hooks/context-guardian.template.js +173 -0
- package/templates/hooks/deployment-orchestrator.template.js +219 -0
- package/templates/hooks/github-progress-hook.template.js +197 -0
- package/templates/hooks/happy-checkpoint-manager.template.js +222 -0
- package/templates/hooks/phase-dev-enforcer.template.js +183 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Start or complete a task from GitHub Project Board
|
|
3
|
+
model: sonnet
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /github-task-start - Start GitHub Task
|
|
7
|
+
|
|
8
|
+
Start working on a task from your GitHub Project Board or mark it complete.
|
|
9
|
+
|
|
10
|
+
{{#if versionControl.projectBoard.number}}
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/github-task-start <issue-number> # Start working on issue
|
|
16
|
+
/github-task-start <issue-number> --complete # Complete the issue
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Workflow
|
|
20
|
+
|
|
21
|
+
### Starting a Task
|
|
22
|
+
|
|
23
|
+
1. **Fetch Issue Details**
|
|
24
|
+
```bash
|
|
25
|
+
gh issue view <number> --repo {{versionControl.owner}}/{{versionControl.repo}} --json title,body,labels,assignees
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
2. **Create Branch** (optional)
|
|
29
|
+
```bash
|
|
30
|
+
git checkout -b feature/<issue-number>-<slug>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
3. **Update Project Board Status**
|
|
34
|
+
```bash
|
|
35
|
+
# Move to "In Progress" status
|
|
36
|
+
gh project item-edit --id <item-id> --project-id {{versionControl.projectBoard.id}} --field-id <status-field-id> --single-select-option-id <in-progress-id>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
4. **Create Task List**
|
|
40
|
+
- Analyze issue requirements
|
|
41
|
+
- Create TodoWrite tasks based on acceptance criteria
|
|
42
|
+
- Begin implementation
|
|
43
|
+
|
|
44
|
+
### Completing a Task
|
|
45
|
+
|
|
46
|
+
1. **Verify All Tests Pass**
|
|
47
|
+
```bash
|
|
48
|
+
{{#if testing.e2e.testCommand}}
|
|
49
|
+
{{testing.e2e.testCommand}}
|
|
50
|
+
{{else}}
|
|
51
|
+
npm test
|
|
52
|
+
{{/if}}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
2. **Create Commit**
|
|
56
|
+
```bash
|
|
57
|
+
git add .
|
|
58
|
+
git commit -m "feat: <description>
|
|
59
|
+
|
|
60
|
+
Closes #<issue-number>"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
3. **Create PR**
|
|
64
|
+
```bash
|
|
65
|
+
gh pr create --title "<title>" --body "Closes #<issue-number>" --repo {{versionControl.owner}}/{{versionControl.repo}}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
4. **Update Project Board Status**
|
|
69
|
+
- Move to "Done" status
|
|
70
|
+
- Add completion comment
|
|
71
|
+
|
|
72
|
+
## Instructions for Claude
|
|
73
|
+
|
|
74
|
+
When invoked with an issue number:
|
|
75
|
+
|
|
76
|
+
1. Parse arguments for issue number and --complete flag
|
|
77
|
+
2. Fetch issue details from GitHub
|
|
78
|
+
3. If starting:
|
|
79
|
+
- Display issue summary
|
|
80
|
+
- Ask about branch creation
|
|
81
|
+
- Update project board status
|
|
82
|
+
- Generate task list from requirements
|
|
83
|
+
4. If completing:
|
|
84
|
+
- Verify tests pass
|
|
85
|
+
- Create PR if not exists
|
|
86
|
+
- Update project board status
|
|
87
|
+
- Add completion comment
|
|
88
|
+
|
|
89
|
+
{{else}}
|
|
90
|
+
|
|
91
|
+
## Configuration Required
|
|
92
|
+
|
|
93
|
+
GitHub Project Board is not configured. Run `/menu` → Project Settings → GitHub Project Board.
|
|
94
|
+
|
|
95
|
+
{{/if}}
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
*Generated from tech-stack.json template*
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: View and sync GitHub Project Board status
|
|
3
|
+
model: haiku
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /github-update - GitHub Project Board Sync
|
|
7
|
+
|
|
8
|
+
View current status of your GitHub Project Board and sync progress.
|
|
9
|
+
|
|
10
|
+
{{#if versionControl.projectBoard.number}}
|
|
11
|
+
|
|
12
|
+
## Project Board Configuration
|
|
13
|
+
|
|
14
|
+
| Setting | Value |
|
|
15
|
+
|---------|-------|
|
|
16
|
+
| Owner | {{versionControl.owner}} |
|
|
17
|
+
| Repository | {{versionControl.repo}} |
|
|
18
|
+
| Project # | {{versionControl.projectBoard.number}} |
|
|
19
|
+
| URL | {{versionControl.projectBoard.url}} |
|
|
20
|
+
|
|
21
|
+
## Commands
|
|
22
|
+
|
|
23
|
+
### View Board Status
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# View all items on the project board
|
|
27
|
+
gh project item-list {{versionControl.projectBoard.number}} --owner {{versionControl.owner}} --format json | jq '.items'
|
|
28
|
+
|
|
29
|
+
# View issues only
|
|
30
|
+
gh issue list --repo {{versionControl.owner}}/{{versionControl.repo}} --state open --json number,title,state,labels
|
|
31
|
+
|
|
32
|
+
# View PRs
|
|
33
|
+
gh pr list --repo {{versionControl.owner}}/{{versionControl.repo}} --state open --json number,title,state,headRefName
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Sync Tasks
|
|
37
|
+
|
|
38
|
+
1. **Pull from GitHub** - Fetch latest status from Project Board
|
|
39
|
+
2. **Push to GitHub** - Update Project Board with local progress
|
|
40
|
+
3. **Reconcile** - Two-way sync with conflict resolution
|
|
41
|
+
|
|
42
|
+
## Instructions for Claude
|
|
43
|
+
|
|
44
|
+
When this command is invoked:
|
|
45
|
+
|
|
46
|
+
1. Check gh CLI authentication: `gh auth status`
|
|
47
|
+
2. Fetch current board status using the commands above
|
|
48
|
+
3. Display a formatted summary:
|
|
49
|
+
- Total items
|
|
50
|
+
- Items by status (Todo, In Progress, Done)
|
|
51
|
+
- Recent activity
|
|
52
|
+
4. Ask if user wants to sync or view details
|
|
53
|
+
|
|
54
|
+
{{else}}
|
|
55
|
+
|
|
56
|
+
## Configuration Required
|
|
57
|
+
|
|
58
|
+
GitHub Project Board is not configured. Please run `/menu` → Project Settings → GitHub Project Board to configure.
|
|
59
|
+
|
|
60
|
+
Required settings:
|
|
61
|
+
- GitHub owner (username or organization)
|
|
62
|
+
- Repository name
|
|
63
|
+
- Project board number (from URL)
|
|
64
|
+
|
|
65
|
+
{{/if}}
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
*Generated from tech-stack.json template*
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Start a Happy Mode session for mobile app integration
|
|
3
|
+
model: sonnet
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /happy-start - Start Happy Mode Session
|
|
7
|
+
|
|
8
|
+
Initialize Happy Engineering integration for mobile app control and checkpoint management.
|
|
9
|
+
|
|
10
|
+
{{#if happyMode.enabled}}
|
|
11
|
+
|
|
12
|
+
## Configuration
|
|
13
|
+
|
|
14
|
+
| Setting | Value |
|
|
15
|
+
|---------|-------|
|
|
16
|
+
| Dashboard URL | {{happyMode.dashboardUrl}} |
|
|
17
|
+
| Checkpoint Interval | {{happyMode.checkpointInterval}} minutes |
|
|
18
|
+
| Verbosity | {{happyMode.verbosity}} |
|
|
19
|
+
| Notify on Task Complete | {{happyMode.notifications.onTaskComplete}} |
|
|
20
|
+
| Notify on Error | {{happyMode.notifications.onError}} |
|
|
21
|
+
|
|
22
|
+
## Session Modes
|
|
23
|
+
|
|
24
|
+
### 1. Full Verbosity
|
|
25
|
+
Complete responses with all details. Best for desktop use.
|
|
26
|
+
|
|
27
|
+
### 2. Condensed (Recommended for Mobile)
|
|
28
|
+
Summarized responses optimized for mobile viewing:
|
|
29
|
+
- Bullet points instead of paragraphs
|
|
30
|
+
- Collapsed code blocks
|
|
31
|
+
- Status indicators (✓, ⚠, ✗)
|
|
32
|
+
|
|
33
|
+
### 3. Minimal
|
|
34
|
+
Essential information only:
|
|
35
|
+
- Task status
|
|
36
|
+
- Error messages
|
|
37
|
+
- Required user input
|
|
38
|
+
|
|
39
|
+
## Commands During Happy Session
|
|
40
|
+
|
|
41
|
+
| Command | Description |
|
|
42
|
+
|---------|-------------|
|
|
43
|
+
| `happy:checkpoint` | Save current progress checkpoint |
|
|
44
|
+
| `happy:status` | Show session status and metrics |
|
|
45
|
+
| `happy:pause` | Pause and save state |
|
|
46
|
+
| `happy:resume` | Resume from last checkpoint |
|
|
47
|
+
| `happy:end` | End Happy session gracefully |
|
|
48
|
+
|
|
49
|
+
## Checkpoint Structure
|
|
50
|
+
|
|
51
|
+
Checkpoints are saved to: `.claude/self-hosted-happy/checkpoints/`
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"timestamp": "2025-01-30T12:00:00Z",
|
|
56
|
+
"sessionId": "uuid",
|
|
57
|
+
"progress": {
|
|
58
|
+
"tasksCompleted": 3,
|
|
59
|
+
"tasksRemaining": 2,
|
|
60
|
+
"currentTask": "Implement feature X"
|
|
61
|
+
},
|
|
62
|
+
"context": {
|
|
63
|
+
"summary": "Working on...",
|
|
64
|
+
"recentFiles": ["src/...", "..."],
|
|
65
|
+
"pendingActions": []
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Instructions for Claude
|
|
71
|
+
|
|
72
|
+
When this command is invoked:
|
|
73
|
+
|
|
74
|
+
1. **Initialize Session**
|
|
75
|
+
- Generate session ID
|
|
76
|
+
- Create initial checkpoint
|
|
77
|
+
- Set response format to `{{happyMode.verbosity}}`
|
|
78
|
+
|
|
79
|
+
2. **Configure Notifications**
|
|
80
|
+
{{#if happyMode.notifications.onTaskComplete}}
|
|
81
|
+
- Enable task completion notifications
|
|
82
|
+
{{/if}}
|
|
83
|
+
{{#if happyMode.notifications.onError}}
|
|
84
|
+
- Enable error notifications
|
|
85
|
+
{{/if}}
|
|
86
|
+
|
|
87
|
+
3. **Start Checkpoint Timer**
|
|
88
|
+
- Schedule checkpoints every {{happyMode.checkpointInterval}} minutes
|
|
89
|
+
- Auto-save on significant progress
|
|
90
|
+
|
|
91
|
+
4. **Respond with Session Info**
|
|
92
|
+
```
|
|
93
|
+
Happy Mode Started
|
|
94
|
+
─────────────────
|
|
95
|
+
Session: <id>
|
|
96
|
+
Verbosity: {{happyMode.verbosity}}
|
|
97
|
+
Checkpoints: Every {{happyMode.checkpointInterval}} min
|
|
98
|
+
|
|
99
|
+
Ready for tasks. Mobile app can now control this session.
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
{{else}}
|
|
103
|
+
|
|
104
|
+
## Happy Mode Disabled
|
|
105
|
+
|
|
106
|
+
Happy Engineering integration is not enabled for this project.
|
|
107
|
+
|
|
108
|
+
To enable:
|
|
109
|
+
1. Run `/menu` → Project Settings → Happy Mode
|
|
110
|
+
2. Configure dashboard URL and checkpoint interval
|
|
111
|
+
3. Install Happy Coder mobile app
|
|
112
|
+
|
|
113
|
+
{{/if}}
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
*Generated from tech-stack.json template*
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Track progress of phased development plans
|
|
3
|
+
model: haiku
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /phase-track - Phased Development Progress Tracker
|
|
7
|
+
|
|
8
|
+
View and update progress on phased development plans.
|
|
9
|
+
|
|
10
|
+
{{#if phasedDevelopment.enabled}}
|
|
11
|
+
|
|
12
|
+
## Configuration
|
|
13
|
+
|
|
14
|
+
| Setting | Value |
|
|
15
|
+
|---------|-------|
|
|
16
|
+
| Default Scale | {{phasedDevelopment.defaultScale}} |
|
|
17
|
+
| Success Target | {{phasedDevelopment.successTarget}} ({{phasedDevelopment.successTarget * 100}}%) |
|
|
18
|
+
| Progress File | {{phasedDevelopment.progressFile}} |
|
|
19
|
+
|
|
20
|
+
## Available Projects
|
|
21
|
+
|
|
22
|
+
Scan `.claude/docs/` for active phased development projects:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Find all PROGRESS.json files
|
|
26
|
+
find .claude/docs -name "PROGRESS.json" -type f 2>/dev/null
|
|
27
|
+
|
|
28
|
+
# Or on Windows
|
|
29
|
+
dir /s /b .claude\docs\PROGRESS.json
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Progress File Structure
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"projectName": "Feature X",
|
|
37
|
+
"scale": "M",
|
|
38
|
+
"targetSuccess": 0.95,
|
|
39
|
+
"phases": [
|
|
40
|
+
{
|
|
41
|
+
"id": 1,
|
|
42
|
+
"name": "Setup & Foundation",
|
|
43
|
+
"status": "completed",
|
|
44
|
+
"tasks": [
|
|
45
|
+
{ "id": "1.1", "description": "Create database schema", "completed": true },
|
|
46
|
+
{ "id": "1.2", "description": "Set up API endpoints", "completed": true }
|
|
47
|
+
],
|
|
48
|
+
"completedAt": "2025-01-30T10:00:00Z"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": 2,
|
|
52
|
+
"name": "Core Implementation",
|
|
53
|
+
"status": "in_progress",
|
|
54
|
+
"tasks": [
|
|
55
|
+
{ "id": "2.1", "description": "Implement business logic", "completed": true },
|
|
56
|
+
{ "id": "2.2", "description": "Add validation", "completed": false }
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"metrics": {
|
|
61
|
+
"totalTasks": 10,
|
|
62
|
+
"completedTasks": 5,
|
|
63
|
+
"currentPhase": 2,
|
|
64
|
+
"estimatedCompletion": "2025-01-31"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Commands
|
|
70
|
+
|
|
71
|
+
### View Progress
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
/phase-track <project-slug>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Displays:
|
|
78
|
+
- Overall progress percentage
|
|
79
|
+
- Current phase status
|
|
80
|
+
- Remaining tasks
|
|
81
|
+
- Estimated completion
|
|
82
|
+
|
|
83
|
+
### Update Task Status
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
/phase-track <project-slug> --complete <task-id>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Marks a task as completed and updates metrics.
|
|
90
|
+
|
|
91
|
+
### Generate Report
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
/phase-track <project-slug> --report
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Generates a markdown progress report.
|
|
98
|
+
|
|
99
|
+
## Progress Visualization
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Project: Feature X (M scale, 95% target)
|
|
103
|
+
════════════════════════════════════════
|
|
104
|
+
|
|
105
|
+
Phase 1: Setup & Foundation ████████████████████ 100% ✓
|
|
106
|
+
Phase 2: Core Implementation ████████████░░░░░░░░ 60%
|
|
107
|
+
Phase 3: Testing & Validation ░░░░░░░░░░░░░░░░░░░░ 0%
|
|
108
|
+
Phase 4: Documentation ░░░░░░░░░░░░░░░░░░░░ 0%
|
|
109
|
+
|
|
110
|
+
Overall: ████████░░░░░░░░░░░░ 40% (4/10 tasks)
|
|
111
|
+
|
|
112
|
+
Current Task: 2.2 - Add validation
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Instructions for Claude
|
|
116
|
+
|
|
117
|
+
When this command is invoked:
|
|
118
|
+
|
|
119
|
+
1. If no project specified, list all available projects with PROGRESS.json
|
|
120
|
+
2. If project specified:
|
|
121
|
+
- Load PROGRESS.json
|
|
122
|
+
- Display progress visualization
|
|
123
|
+
- Show current phase and task details
|
|
124
|
+
3. If --complete flag, update task status and recalculate metrics
|
|
125
|
+
4. If --report flag, generate markdown report
|
|
126
|
+
|
|
127
|
+
{{else}}
|
|
128
|
+
|
|
129
|
+
## Phased Development Disabled
|
|
130
|
+
|
|
131
|
+
Phased development system is not enabled for this project.
|
|
132
|
+
|
|
133
|
+
To enable:
|
|
134
|
+
1. Run `/menu` → Project Settings (if available)
|
|
135
|
+
2. Or set `phasedDevelopment.enabled: true` in tech-stack.json
|
|
136
|
+
3. Use `/create-phase-dev` to create a new phased plan
|
|
137
|
+
|
|
138
|
+
{{/if}}
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
*Generated from tech-stack.json template*
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Start tunnel service for exposing local development server
|
|
3
|
+
model: haiku
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /tunnel-start - Start Development Tunnel
|
|
7
|
+
|
|
8
|
+
Expose your local development server to the internet for mobile testing or webhooks.
|
|
9
|
+
|
|
10
|
+
{{#if (neq devEnvironment.tunnel.service "none")}}
|
|
11
|
+
|
|
12
|
+
## Configuration
|
|
13
|
+
|
|
14
|
+
| Setting | Value |
|
|
15
|
+
|---------|-------|
|
|
16
|
+
| Service | {{devEnvironment.tunnel.service}} |
|
|
17
|
+
| Subdomain | {{devEnvironment.tunnel.subdomain}} |
|
|
18
|
+
| Start Command | `{{devEnvironment.tunnel.startCommand}}` |
|
|
19
|
+
{{#if devEnvironment.tunnel.adminPort}}
|
|
20
|
+
| Admin Port | {{devEnvironment.tunnel.adminPort}} |
|
|
21
|
+
{{/if}}
|
|
22
|
+
|
|
23
|
+
## Start Tunnel
|
|
24
|
+
|
|
25
|
+
{{#if (eq devEnvironment.tunnel.service "ngrok")}}
|
|
26
|
+
### ngrok
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# Start tunnel
|
|
30
|
+
{{devEnvironment.tunnel.startCommand}}
|
|
31
|
+
|
|
32
|
+
# Check status (in another terminal)
|
|
33
|
+
curl http://localhost:{{devEnvironment.tunnel.adminPort}}/api/tunnels
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
After starting, get the public URL from:
|
|
37
|
+
- Terminal output
|
|
38
|
+
- ngrok dashboard at http://localhost:{{devEnvironment.tunnel.adminPort}}
|
|
39
|
+
{{/if}}
|
|
40
|
+
|
|
41
|
+
{{#if (eq devEnvironment.tunnel.service "localtunnel")}}
|
|
42
|
+
### localtunnel
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Install if needed
|
|
46
|
+
npm install -g localtunnel
|
|
47
|
+
|
|
48
|
+
# Start tunnel
|
|
49
|
+
{{devEnvironment.tunnel.startCommand}}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
The public URL will be displayed in terminal output.
|
|
53
|
+
{{/if}}
|
|
54
|
+
|
|
55
|
+
{{#if (eq devEnvironment.tunnel.service "cloudflare-tunnel")}}
|
|
56
|
+
### Cloudflare Tunnel
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Start tunnel (requires cloudflared installed and authenticated)
|
|
60
|
+
{{devEnvironment.tunnel.startCommand}}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
URL will be displayed in terminal. For persistent URL, configure a named tunnel in Cloudflare dashboard.
|
|
64
|
+
{{/if}}
|
|
65
|
+
|
|
66
|
+
{{#if (eq devEnvironment.tunnel.service "serveo")}}
|
|
67
|
+
### Serveo
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Start tunnel (no installation required)
|
|
71
|
+
{{devEnvironment.tunnel.startCommand}}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
The assigned URL will be displayed. Note: Serveo may be unavailable at times.
|
|
75
|
+
{{/if}}
|
|
76
|
+
|
|
77
|
+
## Usage Notes
|
|
78
|
+
|
|
79
|
+
1. **Mobile Testing**: Use tunnel URL in mobile browser for testing
|
|
80
|
+
2. **Webhooks**: Configure webhook services to use tunnel URL
|
|
81
|
+
3. **Demos**: Share tunnel URL for quick demos
|
|
82
|
+
|
|
83
|
+
## Update tech-stack.json
|
|
84
|
+
|
|
85
|
+
After starting tunnel, update the URL:
|
|
86
|
+
|
|
87
|
+
```json
|
|
88
|
+
{
|
|
89
|
+
"devEnvironment": {
|
|
90
|
+
"tunnel": {
|
|
91
|
+
"url": "<your-tunnel-url>"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Instructions for Claude
|
|
98
|
+
|
|
99
|
+
When this command is invoked:
|
|
100
|
+
|
|
101
|
+
1. Check if tunnel service is installed
|
|
102
|
+
2. Display the start command
|
|
103
|
+
3. Offer to run the command
|
|
104
|
+
4. If run, capture and display the public URL
|
|
105
|
+
5. Update tech-stack.json with tunnel URL
|
|
106
|
+
|
|
107
|
+
{{else}}
|
|
108
|
+
|
|
109
|
+
## Tunnel Service Not Configured
|
|
110
|
+
|
|
111
|
+
No tunnel service is configured for this project.
|
|
112
|
+
|
|
113
|
+
To configure:
|
|
114
|
+
1. Run `/menu` → Project Settings → Tunnel Services
|
|
115
|
+
2. Select a tunnel service:
|
|
116
|
+
- **ngrok** - Popular, reliable, requires account for reserved subdomains
|
|
117
|
+
- **localtunnel** - Free, no signup required
|
|
118
|
+
- **cloudflare-tunnel** - Enterprise-grade, requires Cloudflare account
|
|
119
|
+
- **serveo** - Free SSH-based, may be unreliable
|
|
120
|
+
|
|
121
|
+
3. Optionally set a reserved subdomain
|
|
122
|
+
|
|
123
|
+
{{/if}}
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
*Generated from tech-stack.json template*
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Stop the running tunnel service
|
|
3
|
+
model: haiku
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /tunnel-stop - Stop Development Tunnel
|
|
7
|
+
|
|
8
|
+
Stop the currently running tunnel service and clean up.
|
|
9
|
+
|
|
10
|
+
{{#if (neq devEnvironment.tunnel.service "none")}}
|
|
11
|
+
|
|
12
|
+
## Stop Commands
|
|
13
|
+
|
|
14
|
+
{{#if (eq devEnvironment.tunnel.service "ngrok")}}
|
|
15
|
+
### ngrok
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Find ngrok process
|
|
19
|
+
{{#if (eq process.platform "win32")}}
|
|
20
|
+
tasklist | findstr ngrok
|
|
21
|
+
{{else}}
|
|
22
|
+
pgrep -f ngrok
|
|
23
|
+
{{/if}}
|
|
24
|
+
|
|
25
|
+
# Kill ngrok
|
|
26
|
+
{{#if (eq process.platform "win32")}}
|
|
27
|
+
taskkill /IM ngrok.exe /F
|
|
28
|
+
{{else}}
|
|
29
|
+
pkill ngrok
|
|
30
|
+
{{/if}}
|
|
31
|
+
|
|
32
|
+
# Or use ngrok API
|
|
33
|
+
curl -X DELETE http://localhost:{{devEnvironment.tunnel.adminPort}}/api/tunnels/<tunnel-name>
|
|
34
|
+
```
|
|
35
|
+
{{/if}}
|
|
36
|
+
|
|
37
|
+
{{#if (eq devEnvironment.tunnel.service "localtunnel")}}
|
|
38
|
+
### localtunnel
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Find and kill localtunnel process
|
|
42
|
+
{{#if (eq process.platform "win32")}}
|
|
43
|
+
taskkill /IM node.exe /F # Warning: kills all Node processes
|
|
44
|
+
{{else}}
|
|
45
|
+
pkill -f localtunnel
|
|
46
|
+
{{/if}}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Or simply press Ctrl+C in the terminal running localtunnel.
|
|
50
|
+
{{/if}}
|
|
51
|
+
|
|
52
|
+
{{#if (eq devEnvironment.tunnel.service "cloudflare-tunnel")}}
|
|
53
|
+
### Cloudflare Tunnel
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# Find and kill cloudflared
|
|
57
|
+
{{#if (eq process.platform "win32")}}
|
|
58
|
+
taskkill /IM cloudflared.exe /F
|
|
59
|
+
{{else}}
|
|
60
|
+
pkill cloudflared
|
|
61
|
+
{{/if}}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Or press Ctrl+C in the terminal running cloudflared.
|
|
65
|
+
{{/if}}
|
|
66
|
+
|
|
67
|
+
{{#if (eq devEnvironment.tunnel.service "serveo")}}
|
|
68
|
+
### Serveo
|
|
69
|
+
|
|
70
|
+
Simply close the SSH connection or press Ctrl+C.
|
|
71
|
+
{{/if}}
|
|
72
|
+
|
|
73
|
+
## Clean Up
|
|
74
|
+
|
|
75
|
+
After stopping, clear the tunnel URL from configuration:
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"devEnvironment": {
|
|
80
|
+
"tunnel": {
|
|
81
|
+
"url": null
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Instructions for Claude
|
|
88
|
+
|
|
89
|
+
When this command is invoked:
|
|
90
|
+
|
|
91
|
+
1. Identify running tunnel processes
|
|
92
|
+
2. Offer to kill the process
|
|
93
|
+
3. Clear tunnel URL from tech-stack.json
|
|
94
|
+
4. Confirm tunnel is stopped
|
|
95
|
+
|
|
96
|
+
{{else}}
|
|
97
|
+
|
|
98
|
+
## No Tunnel Configured
|
|
99
|
+
|
|
100
|
+
No tunnel service is configured. Run `/menu` → Project Settings → Tunnel Services to set up.
|
|
101
|
+
|
|
102
|
+
{{/if}}
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
*Generated from tech-stack.json template*
|