tlc-claude-code 1.2.11 → 1.2.12
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/deploy.md +99 -1
- package/help.md +1 -0
- package/init.md +22 -0
- package/new-project.md +32 -0
- package/package.json +1 -1
- package/tlc.md +108 -0
package/deploy.md
CHANGED
|
@@ -9,12 +9,110 @@ Deploy your TLC project to a remote dev server for team collaboration.
|
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
Commands:
|
|
12
|
-
- `setup` -
|
|
12
|
+
- `setup` - Generate server config and setup instructions
|
|
13
13
|
- `push` - Deploy current branch
|
|
14
14
|
- `status` - Check deployment status
|
|
15
15
|
- `logs` - View deployment logs
|
|
16
16
|
- `users` - Manage server users
|
|
17
17
|
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Quick Setup (Terminal)
|
|
21
|
+
|
|
22
|
+
Run `/tlc:deploy setup` to generate your server config:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
TLC Dev Server Setup
|
|
26
|
+
════════════════════════════════════════════════════════════════════
|
|
27
|
+
|
|
28
|
+
Project Configuration
|
|
29
|
+
─────────────────────
|
|
30
|
+
Name: my-awesome-app
|
|
31
|
+
Repo: git@github.com:myorg/my-awesome-app.git
|
|
32
|
+
Domain: (enter your domain)
|
|
33
|
+
|
|
34
|
+
Domain for dev server: myapp.example.com
|
|
35
|
+
|
|
36
|
+
Generating config...
|
|
37
|
+
|
|
38
|
+
════════════════════════════════════════════════════════════════════
|
|
39
|
+
STEP 1: Run this on your Ubuntu server
|
|
40
|
+
════════════════════════════════════════════════════════════════════
|
|
41
|
+
|
|
42
|
+
┌────────────────────────────────────────────────────────────────────┐
|
|
43
|
+
│ │
|
|
44
|
+
│ curl -fsSL https://tlc.dev/install | bash -s -- \ │
|
|
45
|
+
│ --project "my-awesome-app" \ │
|
|
46
|
+
│ --repo "git@github.com:myorg/my-awesome-app.git" \ │
|
|
47
|
+
│ --domain "myapp.example.com" \ │
|
|
48
|
+
│ --webhook-secret "a1b2c3d4e5f6g7h8" │
|
|
49
|
+
│ │
|
|
50
|
+
└────────────────────────────────────────────────────────────────────┘
|
|
51
|
+
[Copy to clipboard]
|
|
52
|
+
|
|
53
|
+
════════════════════════════════════════════════════════════════════
|
|
54
|
+
STEP 2: Configure DNS
|
|
55
|
+
════════════════════════════════════════════════════════════════════
|
|
56
|
+
|
|
57
|
+
Add these DNS records pointing to your server IP:
|
|
58
|
+
|
|
59
|
+
*.myapp.example.com → YOUR_SERVER_IP
|
|
60
|
+
dashboard.myapp.example.com → YOUR_SERVER_IP
|
|
61
|
+
|
|
62
|
+
════════════════════════════════════════════════════════════════════
|
|
63
|
+
STEP 3: Add GitHub Webhook
|
|
64
|
+
════════════════════════════════════════════════════════════════════
|
|
65
|
+
|
|
66
|
+
Go to: https://github.com/myorg/my-awesome-app/settings/hooks/new
|
|
67
|
+
|
|
68
|
+
Payload URL: https://dashboard.myapp.example.com/api/webhook
|
|
69
|
+
Content type: application/json
|
|
70
|
+
Secret: a1b2c3d4e5f6g7h8
|
|
71
|
+
Events: Just the push event
|
|
72
|
+
|
|
73
|
+
════════════════════════════════════════════════════════════════════
|
|
74
|
+
STEP 4: Done!
|
|
75
|
+
════════════════════════════════════════════════════════════════════
|
|
76
|
+
|
|
77
|
+
Once server setup completes, you'll get:
|
|
78
|
+
|
|
79
|
+
Dashboard: https://dashboard.myapp.example.com
|
|
80
|
+
Main branch: https://main.myapp.example.com
|
|
81
|
+
Feature branches: https://{branch}.myapp.example.com
|
|
82
|
+
|
|
83
|
+
Admin credentials will be shown after server setup.
|
|
84
|
+
|
|
85
|
+
────────────────────────────────────────────────────────────────────
|
|
86
|
+
Config saved to .tlc.json
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Process
|
|
90
|
+
|
|
91
|
+
1. **Read project info** from `.tlc.json` or `package.json`
|
|
92
|
+
2. **Ask for domain** if not configured
|
|
93
|
+
3. **Generate webhook secret** (random 16 chars)
|
|
94
|
+
4. **Output setup command** with all config embedded
|
|
95
|
+
5. **Save config** to `.tlc.json`
|
|
96
|
+
|
|
97
|
+
```javascript
|
|
98
|
+
// Config generation
|
|
99
|
+
const config = {
|
|
100
|
+
project: packageJson.name,
|
|
101
|
+
repo: getGitRemoteUrl(),
|
|
102
|
+
domain: userInput.domain,
|
|
103
|
+
webhookSecret: crypto.randomBytes(16).toString('hex')
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
// Generate one-liner
|
|
107
|
+
const command = `curl -fsSL https://tlc.dev/install | bash -s -- \\
|
|
108
|
+
--project "${config.project}" \\
|
|
109
|
+
--repo "${config.repo}" \\
|
|
110
|
+
--domain "${config.domain}" \\
|
|
111
|
+
--webhook-secret "${config.webhookSecret}"`;
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
18
116
|
## Architecture
|
|
19
117
|
|
|
20
118
|
```
|
package/help.md
CHANGED
|
@@ -92,6 +92,7 @@ Launches the visual dashboard. Detects where you are, shows what's next.
|
|
|
92
92
|
| `/tlc:export --list` | Show all supported AI tools |
|
|
93
93
|
| `/tlc:export --detect` | Detect which AI tool is running |
|
|
94
94
|
| `/tlc:deploy` | Show deployment status |
|
|
95
|
+
| `/tlc:deploy setup` | Generate server config + copy-paste install command |
|
|
95
96
|
| `/tlc:deploy start <branch>` | Deploy branch to dev server |
|
|
96
97
|
| `/tlc:deploy stop <branch>` | Stop branch deployment |
|
|
97
98
|
| `/tlc:deploy logs <branch>` | View deployment logs |
|
package/init.md
CHANGED
|
@@ -388,6 +388,28 @@ Next steps:
|
|
|
388
388
|
- Run /tlc:quick for ad-hoc tasks with tests
|
|
389
389
|
```
|
|
390
390
|
|
|
391
|
+
### Step 13: Offer Dev Server Setup
|
|
392
|
+
|
|
393
|
+
After initialization, offer remote dev server:
|
|
394
|
+
|
|
395
|
+
```
|
|
396
|
+
───────────────────────────────────────────────────────────────
|
|
397
|
+
Dev Server (Optional)
|
|
398
|
+
───────────────────────────────────────────────────────────────
|
|
399
|
+
|
|
400
|
+
Set up a shared dev server for team collaboration?
|
|
401
|
+
• Each branch gets its own preview URL
|
|
402
|
+
• QA and PO can access without local setup
|
|
403
|
+
• Slack notifications for deployments
|
|
404
|
+
|
|
405
|
+
[1] Yes, set up dev server
|
|
406
|
+
[2] Skip for now
|
|
407
|
+
|
|
408
|
+
Choice [1/2]: _
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
**If [1] selected:** Run the dev server setup flow from `/tlc:deploy setup`.
|
|
412
|
+
|
|
391
413
|
## Usage
|
|
392
414
|
|
|
393
415
|
```
|
package/new-project.md
CHANGED
|
@@ -380,6 +380,37 @@ npx cypress open
|
|
|
380
380
|
Ready to build. Run /tlc:plan to create your first phase.
|
|
381
381
|
```
|
|
382
382
|
|
|
383
|
+
### Step 10: Offer Dev Server Setup
|
|
384
|
+
|
|
385
|
+
After project is configured, offer remote dev server:
|
|
386
|
+
|
|
387
|
+
```
|
|
388
|
+
───────────────────────────────────────────────────────────────
|
|
389
|
+
Dev Server (Optional)
|
|
390
|
+
───────────────────────────────────────────────────────────────
|
|
391
|
+
|
|
392
|
+
Set up a shared dev server for team collaboration?
|
|
393
|
+
• Each branch gets its own preview URL
|
|
394
|
+
• QA and PO can access without local setup
|
|
395
|
+
• Slack notifications for deployments
|
|
396
|
+
|
|
397
|
+
[1] Yes, set up dev server
|
|
398
|
+
[2] Skip for now
|
|
399
|
+
|
|
400
|
+
Choice [1/2]: _
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
**If [1] selected:**
|
|
404
|
+
|
|
405
|
+
1. Ask for server domain
|
|
406
|
+
2. Generate webhook secret
|
|
407
|
+
3. Show setup command for server
|
|
408
|
+
4. Show DNS instructions
|
|
409
|
+
5. Show GitHub webhook config
|
|
410
|
+
6. Save config to `.tlc.json`
|
|
411
|
+
|
|
412
|
+
See `/tlc:deploy setup` for full output format.
|
|
413
|
+
|
|
383
414
|
## Usage
|
|
384
415
|
|
|
385
416
|
```
|
|
@@ -392,3 +423,4 @@ Interactive flow that:
|
|
|
392
423
|
3. Lets you adjust
|
|
393
424
|
4. Creates roadmap
|
|
394
425
|
5. Sets up tests
|
|
426
|
+
6. Offers dev server setup
|
package/package.json
CHANGED
package/tlc.md
CHANGED
|
@@ -256,6 +256,114 @@ Options:
|
|
|
256
256
|
Choice [1/2]: _
|
|
257
257
|
```
|
|
258
258
|
|
|
259
|
+
## After Project Setup (First Time)
|
|
260
|
+
|
|
261
|
+
After `/tlc:new-project` or `/tlc:init` completes, show dev server option:
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
TLC v{{VERSION}}
|
|
265
|
+
═══════════════════════════════════════════════════════════════
|
|
266
|
+
|
|
267
|
+
✓ Project configured: my-awesome-app
|
|
268
|
+
|
|
269
|
+
───────────────────────────────────────────────────────────────
|
|
270
|
+
Dev Server Setup (Optional)
|
|
271
|
+
───────────────────────────────────────────────────────────────
|
|
272
|
+
|
|
273
|
+
Deploy to a shared dev server for team collaboration?
|
|
274
|
+
Each branch gets its own preview URL.
|
|
275
|
+
|
|
276
|
+
[1] Yes, set up dev server → Shows setup instructions
|
|
277
|
+
[2] Skip for now → Continue to project
|
|
278
|
+
|
|
279
|
+
Choice [1/2]: _
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
**If [1] selected**, show inline setup panel:
|
|
283
|
+
|
|
284
|
+
```
|
|
285
|
+
═══════════════════════════════════════════════════════════════
|
|
286
|
+
TLC Dev Server Setup
|
|
287
|
+
═══════════════════════════════════════════════════════════════
|
|
288
|
+
|
|
289
|
+
Project: my-awesome-app
|
|
290
|
+
Repo: git@github.com:myorg/my-awesome-app.git
|
|
291
|
+
|
|
292
|
+
Enter your server domain: myapp.example.com
|
|
293
|
+
|
|
294
|
+
───────────────────────────────────────────────────────────────
|
|
295
|
+
STEP 1: Run on Ubuntu Server
|
|
296
|
+
───────────────────────────────────────────────────────────────
|
|
297
|
+
|
|
298
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
299
|
+
│ curl -fsSL https://tlc.dev/install | bash -s -- \ │
|
|
300
|
+
│ --project "my-awesome-app" \ │
|
|
301
|
+
│ --repo "git@github.com:myorg/my-awesome-app.git" \ │
|
|
302
|
+
│ --domain "myapp.example.com" \ │
|
|
303
|
+
│ --webhook-secret "x7k9m2p4q8r1s5t3" │
|
|
304
|
+
└─────────────────────────────────────────────────────────────┘
|
|
305
|
+
|
|
306
|
+
───────────────────────────────────────────────────────────────
|
|
307
|
+
STEP 2: Configure DNS
|
|
308
|
+
───────────────────────────────────────────────────────────────
|
|
309
|
+
|
|
310
|
+
Point these to your server:
|
|
311
|
+
*.myapp.example.com → SERVER_IP
|
|
312
|
+
dashboard.myapp.example.com → SERVER_IP
|
|
313
|
+
|
|
314
|
+
───────────────────────────────────────────────────────────────
|
|
315
|
+
STEP 3: Add Webhook to GitHub
|
|
316
|
+
───────────────────────────────────────────────────────────────
|
|
317
|
+
|
|
318
|
+
URL: https://dashboard.myapp.example.com/api/webhook
|
|
319
|
+
Secret: x7k9m2p4q8r1s5t3
|
|
320
|
+
|
|
321
|
+
───────────────────────────────────────────────────────────────
|
|
322
|
+
What You Get
|
|
323
|
+
───────────────────────────────────────────────────────────────
|
|
324
|
+
|
|
325
|
+
Dashboard: https://dashboard.myapp.example.com
|
|
326
|
+
Main branch: https://main.myapp.example.com
|
|
327
|
+
Feature branches: https://{branch}.myapp.example.com
|
|
328
|
+
|
|
329
|
+
───────────────────────────────────────────────────────────────
|
|
330
|
+
|
|
331
|
+
Config saved to .tlc.json
|
|
332
|
+
|
|
333
|
+
Press Enter to continue...
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
### Config Generation
|
|
337
|
+
|
|
338
|
+
When generating the setup command:
|
|
339
|
+
|
|
340
|
+
```javascript
|
|
341
|
+
// Read from project
|
|
342
|
+
const projectName = tlcJson.project || packageJson.name;
|
|
343
|
+
const repoUrl = execSync('git remote get-url origin').toString().trim();
|
|
344
|
+
|
|
345
|
+
// Ask user for domain
|
|
346
|
+
const domain = await prompt('Enter your server domain:');
|
|
347
|
+
|
|
348
|
+
// Generate secure webhook secret
|
|
349
|
+
const webhookSecret = crypto.randomBytes(8).toString('hex');
|
|
350
|
+
|
|
351
|
+
// Save to .tlc.json
|
|
352
|
+
tlcJson.deploy = {
|
|
353
|
+
domain: domain,
|
|
354
|
+
webhookSecret: webhookSecret,
|
|
355
|
+
dashboardUrl: `https://dashboard.${domain}`,
|
|
356
|
+
configured: false // Set to true after server confirms
|
|
357
|
+
};
|
|
358
|
+
|
|
359
|
+
// Generate command
|
|
360
|
+
const setupCommand = `curl -fsSL https://tlc.dev/install | bash -s -- \\
|
|
361
|
+
--project "${projectName}" \\
|
|
362
|
+
--repo "${repoUrl}" \\
|
|
363
|
+
--domain "${domain}" \\
|
|
364
|
+
--webhook-secret "${webhookSecret}"`;
|
|
365
|
+
```
|
|
366
|
+
|
|
259
367
|
## All Phases Complete
|
|
260
368
|
|
|
261
369
|
```
|