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 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` - Configure deployment server
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tlc-claude-code",
3
- "version": "1.2.11",
3
+ "version": "1.2.12",
4
4
  "description": "TLC - Test Led Coding for Claude Code",
5
5
  "bin": {
6
6
  "tlc": "./bin/tlc.js",
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
  ```