@intentsolutionsio/overnight-dev 1.0.0 → 1.0.5
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/README.md +74 -36
- package/agents/overnight-dev-coach.md +76 -23
- package/commands/overnight-setup.md +18 -10
- package/package.json +1 -1
- package/skills/overnight-development/SKILL.md +10 -5
- package/skills/overnight-development/references/errors.md +7 -0
- package/skills/overnight-development/references/examples.md +24 -24
- package/skills/overnight-development/references/troubleshooting.md +1 -1
- package/skills/overnight-development/references/workflow.md +23 -12
package/README.md
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
<!-- markdownlint-disable MD028 -->
|
|
2
|
+
|
|
3
|
+
# Overnight Development Plugin
|
|
2
4
|
|
|
3
5
|
**Go to bed. Wake up to fully tested features.**
|
|
4
6
|
|
|
@@ -16,10 +18,10 @@ What if Claude could keep working while you sleep?
|
|
|
16
18
|
|
|
17
19
|
**Overnight Development** turns Claude into an autonomous developer using Git hooks that enforce TDD:
|
|
18
20
|
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
21
|
+
- **Git hooks block commits** until all tests pass
|
|
22
|
+
- **Claude can't commit broken code** - hooks enforce quality
|
|
23
|
+
- **Automatic iteration** - debug, fix, retry until green
|
|
24
|
+
- **You wake up** to fully tested, production-ready features
|
|
23
25
|
|
|
24
26
|
---
|
|
25
27
|
|
|
@@ -43,12 +45,14 @@ That's it. Hooks are installed. Quality is enforced. Let Claude work overnight.
|
|
|
43
45
|
## How It Works
|
|
44
46
|
|
|
45
47
|
### Traditional Development
|
|
48
|
+
|
|
46
49
|
```
|
|
47
50
|
Write code → Hope it works → Find bugs later → Repeat
|
|
48
51
|
Slow, error-prone, stressful
|
|
49
52
|
```
|
|
50
53
|
|
|
51
54
|
### Overnight Development
|
|
55
|
+
|
|
52
56
|
```
|
|
53
57
|
Write test → Write code → Hooks enforce tests → Commit only when green
|
|
54
58
|
Fast, reliable, autonomous
|
|
@@ -57,6 +61,7 @@ Write test → Write code → Hooks enforce tests → Commit only when green
|
|
|
57
61
|
### The Magic: Git Hooks
|
|
58
62
|
|
|
59
63
|
**Pre-commit hook:**
|
|
64
|
+
|
|
60
65
|
```bash
|
|
61
66
|
# Runs before EVERY commit
|
|
62
67
|
1. Lint your code
|
|
@@ -67,6 +72,7 @@ Write test → Write code → Hooks enforce tests → Commit only when green
|
|
|
67
72
|
```
|
|
68
73
|
|
|
69
74
|
**Commit-msg hook:**
|
|
75
|
+
|
|
70
76
|
```bash
|
|
71
77
|
# Ensures quality commit messages
|
|
72
78
|
- Enforces conventional commits format
|
|
@@ -76,35 +82,38 @@ Write test → Write code → Hooks enforce tests → Commit only when green
|
|
|
76
82
|
|
|
77
83
|
### The Result
|
|
78
84
|
|
|
79
|
-
Claude **can't commit** until all tests pass. So it keeps working until they do. Overnight. While you sleep.
|
|
85
|
+
Claude **can't commit** until all tests pass. So it keeps working until they do. Overnight. While you sleep.
|
|
80
86
|
|
|
81
87
|
---
|
|
82
88
|
|
|
83
89
|
## Real-World Example
|
|
84
90
|
|
|
85
91
|
**9 PM:** Start overnight session
|
|
92
|
+
|
|
86
93
|
```bash
|
|
87
94
|
/overnight-setup
|
|
88
95
|
# Task: "Build JWT authentication with 90% test coverage"
|
|
89
96
|
```
|
|
90
97
|
|
|
91
98
|
**What Claude does overnight:**
|
|
99
|
+
|
|
92
100
|
1. 10:15 PM - Write failing auth tests (TDD)
|
|
93
101
|
2. 10:45 PM - Implement JWT signin (tests still failing)
|
|
94
102
|
3. 11:30 PM - Debug token generation (commit blocked, keeps trying)
|
|
95
|
-
4. 12:15 AM - Tests passing! Commit succeeds
|
|
103
|
+
4. 12:15 AM - Tests passing! Commit succeeds
|
|
96
104
|
5. 1:00 AM - Add middleware (write tests first)
|
|
97
105
|
6. 2:30 AM - Integration tests (debugging edge cases)
|
|
98
106
|
7. 4:00 AM - All tests green (Coverage: 94%)
|
|
99
|
-
8. 5:30 AM - Add docs, refactor, still green
|
|
100
|
-
9. 7:00 AM - Session complete
|
|
107
|
+
8. 5:30 AM - Add docs, refactor, still green
|
|
108
|
+
9. 7:00 AM - Session complete
|
|
101
109
|
|
|
102
110
|
**7 AM:** You wake up to:
|
|
103
|
-
|
|
104
|
-
-
|
|
105
|
-
-
|
|
106
|
-
-
|
|
107
|
-
-
|
|
111
|
+
|
|
112
|
+
- 47 passing tests (0 failing)
|
|
113
|
+
- 94% test coverage
|
|
114
|
+
- Clean conventional commit history
|
|
115
|
+
- Fully documented JWT authentication
|
|
116
|
+
- Production-ready code
|
|
108
117
|
|
|
109
118
|
**Time saved:** 6-8 hours of your life
|
|
110
119
|
|
|
@@ -112,17 +121,19 @@ Claude **can't commit** until all tests pass. So it keeps working until they do.
|
|
|
112
121
|
|
|
113
122
|
## Features
|
|
114
123
|
|
|
115
|
-
###
|
|
124
|
+
### Test-Driven Development Enforcement
|
|
116
125
|
|
|
117
126
|
Git hooks **force** TDD:
|
|
127
|
+
|
|
118
128
|
- Write tests first
|
|
119
129
|
- Implementation after
|
|
120
130
|
- Commit only when green
|
|
121
131
|
- No shortcuts, no broken code
|
|
122
132
|
|
|
123
|
-
###
|
|
133
|
+
### Autonomous Debugging
|
|
124
134
|
|
|
125
135
|
When tests fail:
|
|
136
|
+
|
|
126
137
|
1. Claude reads the error
|
|
127
138
|
2. Analyzes the problem
|
|
128
139
|
3. Forms a hypothesis
|
|
@@ -132,7 +143,7 @@ When tests fail:
|
|
|
132
143
|
|
|
133
144
|
**You never have to intervene.** Just check progress in the morning.
|
|
134
145
|
|
|
135
|
-
###
|
|
146
|
+
### Progress Tracking
|
|
136
147
|
|
|
137
148
|
Watch overnight sessions in real-time:
|
|
138
149
|
|
|
@@ -156,6 +167,7 @@ cat .overnight-dev-log.txt
|
|
|
156
167
|
Works with any test framework:
|
|
157
168
|
|
|
158
169
|
**Node.js:**
|
|
170
|
+
|
|
159
171
|
```json
|
|
160
172
|
{
|
|
161
173
|
"testCommand": "npm test",
|
|
@@ -164,6 +176,7 @@ Works with any test framework:
|
|
|
164
176
|
```
|
|
165
177
|
|
|
166
178
|
**Python:**
|
|
179
|
+
|
|
167
180
|
```json
|
|
168
181
|
{
|
|
169
182
|
"testCommand": "pytest --cov=.",
|
|
@@ -173,9 +186,10 @@ Works with any test framework:
|
|
|
173
186
|
|
|
174
187
|
**Rust, Go, PHP, Ruby** - All supported!
|
|
175
188
|
|
|
176
|
-
###
|
|
189
|
+
### Smart Agent Guidance
|
|
177
190
|
|
|
178
191
|
Includes `overnight-dev-coach` agent:
|
|
192
|
+
|
|
179
193
|
- Guides you through setup
|
|
180
194
|
- Plans overnight tasks
|
|
181
195
|
- Debugs failing tests
|
|
@@ -215,6 +229,7 @@ Before installing, you need:
|
|
|
215
229
|
```
|
|
216
230
|
|
|
217
231
|
This creates:
|
|
232
|
+
|
|
218
233
|
- `.git/hooks/pre-commit` - Tests and linting
|
|
219
234
|
- `.git/hooks/commit-msg` - Conventional commits
|
|
220
235
|
- `.overnight-dev.json` - Configuration
|
|
@@ -227,6 +242,7 @@ git commit --allow-empty -m "test: verify hooks"
|
|
|
227
242
|
```
|
|
228
243
|
|
|
229
244
|
You should see:
|
|
245
|
+
|
|
230
246
|
```
|
|
231
247
|
Overnight Dev: Running pre-commit checks...
|
|
232
248
|
Running linting...
|
|
@@ -257,6 +273,7 @@ Edit `.overnight-dev.json`:
|
|
|
257
273
|
### Starting an Overnight Session
|
|
258
274
|
|
|
259
275
|
1. **Define a clear goal:**
|
|
276
|
+
|
|
260
277
|
```
|
|
261
278
|
Task: Build payment integration with Stripe
|
|
262
279
|
Success: All tests pass, 85%+ coverage, fully documented
|
|
@@ -278,39 +295,45 @@ Edit `.overnight-dev.json`:
|
|
|
278
295
|
- No broken code gets committed
|
|
279
296
|
|
|
280
297
|
5. **Wake up to success:**
|
|
281
|
-
- All tests passing
|
|
282
|
-
- Features complete
|
|
283
|
-
- Clean git history
|
|
298
|
+
- All tests passing
|
|
299
|
+
- Features complete
|
|
300
|
+
- Clean git history
|
|
284
301
|
|
|
285
302
|
### Good Overnight Tasks
|
|
286
303
|
|
|
287
304
|
**"Build user authentication with JWT (90% coverage)"**
|
|
305
|
+
|
|
288
306
|
- Clear goal
|
|
289
307
|
- Testable
|
|
290
308
|
- Well-defined scope
|
|
291
309
|
|
|
292
310
|
**"Add payment processing with Stripe integration"**
|
|
311
|
+
|
|
293
312
|
- Specific feature
|
|
294
313
|
- Integration tests possible
|
|
295
314
|
- Success criteria clear
|
|
296
315
|
|
|
297
316
|
**"Refactor database layer to use repository pattern"**
|
|
317
|
+
|
|
298
318
|
- Existing tests ensure no regression
|
|
299
319
|
- Clear before/after state
|
|
300
320
|
|
|
301
321
|
### Bad Overnight Tasks
|
|
302
322
|
|
|
303
323
|
**"Make the app better"**
|
|
324
|
+
|
|
304
325
|
- Too vague
|
|
305
326
|
- No clear success criteria
|
|
306
327
|
- Can't be tested
|
|
307
328
|
|
|
308
329
|
**"Design the perfect UI"**
|
|
330
|
+
|
|
309
331
|
- Subjective
|
|
310
332
|
- Hard to test
|
|
311
333
|
- Requires human judgment
|
|
312
334
|
|
|
313
335
|
**"Research best practices"**
|
|
336
|
+
|
|
314
337
|
- No code output
|
|
315
338
|
- No tests to enforce
|
|
316
339
|
- Not autonomous-friendly
|
|
@@ -340,6 +363,7 @@ Edit `.overnight-dev.json`:
|
|
|
340
363
|
### Platform-Specific Examples
|
|
341
364
|
|
|
342
365
|
**Node.js + Jest:**
|
|
366
|
+
|
|
343
367
|
```json
|
|
344
368
|
{
|
|
345
369
|
"testCommand": "npm test -- --coverage --watchAll=false",
|
|
@@ -349,6 +373,7 @@ Edit `.overnight-dev.json`:
|
|
|
349
373
|
```
|
|
350
374
|
|
|
351
375
|
**Python + pytest:**
|
|
376
|
+
|
|
352
377
|
```json
|
|
353
378
|
{
|
|
354
379
|
"testCommand": "pytest --cov=. --cov-report=term-missing",
|
|
@@ -358,6 +383,7 @@ Edit `.overnight-dev.json`:
|
|
|
358
383
|
```
|
|
359
384
|
|
|
360
385
|
**Rust + cargo:**
|
|
386
|
+
|
|
361
387
|
```json
|
|
362
388
|
{
|
|
363
389
|
"testCommand": "cargo test",
|
|
@@ -367,6 +393,7 @@ Edit `.overnight-dev.json`:
|
|
|
367
393
|
```
|
|
368
394
|
|
|
369
395
|
**Go + standard library:**
|
|
396
|
+
|
|
370
397
|
```json
|
|
371
398
|
{
|
|
372
399
|
"testCommand": "go test ./... -cover",
|
|
@@ -387,16 +414,18 @@ Edit `.overnight-dev.json`:
|
|
|
387
414
|
|
|
388
415
|
## Agent
|
|
389
416
|
|
|
390
|
-
**overnight-dev-coach**
|
|
417
|
+
**overnight-dev-coach**
|
|
391
418
|
|
|
392
419
|
Expert coach for autonomous overnight development sessions.
|
|
393
420
|
|
|
394
421
|
**Activates when you:**
|
|
422
|
+
|
|
395
423
|
- Mention "overnight development" or "autonomous coding"
|
|
396
424
|
- Ask about TDD workflows or Git hooks
|
|
397
425
|
- Need help debugging failing tests
|
|
398
426
|
|
|
399
427
|
**Provides:**
|
|
428
|
+
|
|
400
429
|
- Setup guidance
|
|
401
430
|
- Task planning
|
|
402
431
|
- Debug support
|
|
@@ -418,6 +447,7 @@ chmod +x .git/hooks/commit-msg
|
|
|
418
447
|
### Tests Failing Immediately
|
|
419
448
|
|
|
420
449
|
Ensure you have at least 1 passing test:
|
|
450
|
+
|
|
421
451
|
```bash
|
|
422
452
|
npm test # Should see: Tests passed
|
|
423
453
|
```
|
|
@@ -425,6 +455,7 @@ npm test # Should see: Tests passed
|
|
|
425
455
|
### Lint Errors Blocking Everything
|
|
426
456
|
|
|
427
457
|
Enable auto-fix:
|
|
458
|
+
|
|
428
459
|
```json
|
|
429
460
|
{
|
|
430
461
|
"autoFix": true
|
|
@@ -432,6 +463,7 @@ Enable auto-fix:
|
|
|
432
463
|
```
|
|
433
464
|
|
|
434
465
|
Or fix manually:
|
|
466
|
+
|
|
435
467
|
```bash
|
|
436
468
|
npm run lint -- --fix
|
|
437
469
|
```
|
|
@@ -439,6 +471,7 @@ npm run lint -- --fix
|
|
|
439
471
|
### Commits Taking Forever
|
|
440
472
|
|
|
441
473
|
Your test suite might be slow. Optimize:
|
|
474
|
+
|
|
442
475
|
- Run only changed tests in CI
|
|
443
476
|
- Use test parallelization
|
|
444
477
|
- Mock external dependencies
|
|
@@ -450,11 +483,11 @@ Your test suite might be slow. Optimize:
|
|
|
450
483
|
**From Intent Solutions IO's experience:**
|
|
451
484
|
|
|
452
485
|
- ⏱️ **Average session:** 6-8 hours of autonomous work
|
|
453
|
-
-
|
|
454
|
-
-
|
|
455
|
-
-
|
|
456
|
-
-
|
|
457
|
-
-
|
|
486
|
+
- **Output:** 500-1500 lines of fully tested code per night
|
|
487
|
+
- **Success rate:** 85% of overnight tasks completed
|
|
488
|
+
- **Coverage:** Consistently >90%
|
|
489
|
+
- **Bug rate:** 60% lower than manual development
|
|
490
|
+
- **Coffee saved:** Uncountable
|
|
458
491
|
|
|
459
492
|
**What developers say:**
|
|
460
493
|
|
|
@@ -483,16 +516,18 @@ Your test suite might be slow. Optimize:
|
|
|
483
516
|
### Business Impact
|
|
484
517
|
|
|
485
518
|
**For you:**
|
|
486
|
-
|
|
487
|
-
-
|
|
488
|
-
-
|
|
489
|
-
-
|
|
519
|
+
|
|
520
|
+
- Work less (Claude works overnight)
|
|
521
|
+
- Ship faster (3x productivity)
|
|
522
|
+
- Higher quality (forced TDD)
|
|
523
|
+
- Less stress (tests catch bugs)
|
|
490
524
|
|
|
491
525
|
**For your team:**
|
|
492
|
-
|
|
493
|
-
-
|
|
494
|
-
-
|
|
495
|
-
-
|
|
526
|
+
|
|
527
|
+
- Consistent code quality
|
|
528
|
+
- Better test coverage
|
|
529
|
+
- Readable git history
|
|
530
|
+
- Faster feature delivery
|
|
496
531
|
|
|
497
532
|
---
|
|
498
533
|
|
|
@@ -501,6 +536,7 @@ Your test suite might be slow. Optimize:
|
|
|
501
536
|
### 1. Start Small
|
|
502
537
|
|
|
503
538
|
First overnight session? Pick a simple task:
|
|
539
|
+
|
|
504
540
|
- Add one API endpoint
|
|
505
541
|
- Write tests for existing code
|
|
506
542
|
- Refactor a single module
|
|
@@ -512,6 +548,7 @@ Build confidence, then tackle bigger features.
|
|
|
512
548
|
Configure coverage in your test framework:
|
|
513
549
|
|
|
514
550
|
**Jest:**
|
|
551
|
+
|
|
515
552
|
```json
|
|
516
553
|
{
|
|
517
554
|
"coverageThreshold": {
|
|
@@ -529,6 +566,7 @@ Hooks can enforce these thresholds automatically.
|
|
|
529
566
|
### 3. Monitor in Real-Time
|
|
530
567
|
|
|
531
568
|
Watch the log file during overnight sessions:
|
|
569
|
+
|
|
532
570
|
```bash
|
|
533
571
|
tail -f .overnight-dev-log.txt
|
|
534
572
|
```
|
|
@@ -618,7 +656,7 @@ Strategy developed and refined through hundreds of autonomous overnight developm
|
|
|
618
656
|
/overnight-setup
|
|
619
657
|
```
|
|
620
658
|
|
|
621
|
-
**Go to bed. Wake up to fully tested features
|
|
659
|
+
**Go to bed. Wake up to fully tested features.**
|
|
622
660
|
|
|
623
661
|
---
|
|
624
662
|
|
|
@@ -1,7 +1,38 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: overnight-dev-coach
|
|
3
3
|
description: Expert coach for autonomous overnight development sessions with TDD
|
|
4
|
+
tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Edit
|
|
8
|
+
- Bash
|
|
9
|
+
- Glob
|
|
10
|
+
- Grep
|
|
11
|
+
- WebFetch
|
|
12
|
+
- WebSearch
|
|
13
|
+
- Task
|
|
14
|
+
- TodoWrite
|
|
15
|
+
model: sonnet
|
|
16
|
+
color: red
|
|
17
|
+
version: 1.0.0
|
|
18
|
+
author: Jeremy Longshore <jeremy@intentsolutions.io>
|
|
19
|
+
tags:
|
|
20
|
+
- productivity
|
|
21
|
+
- overnight
|
|
22
|
+
- dev
|
|
23
|
+
- coach
|
|
24
|
+
disallowedTools: []
|
|
25
|
+
skills: []
|
|
26
|
+
background: false
|
|
27
|
+
# ── upgrade levers — uncomment + set when tuning this agent ──
|
|
28
|
+
# effort: high # reasoning depth: low/medium/high/xhigh/max (omit = inherit session)
|
|
29
|
+
# maxTurns: 50 # cap the agentic loop (omit = engine default)
|
|
30
|
+
# memory: project # persistent scope: user/project/local (omit = ephemeral)
|
|
31
|
+
# isolation: worktree # run in an isolated git worktree
|
|
32
|
+
# initialPrompt: "…" # seed the agent's first turn
|
|
33
|
+
# hooks / mcpServers / permissionMode → set at the PLUGIN level, not on a plugin agent
|
|
4
34
|
---
|
|
35
|
+
<!-- markdownlint-disable MD046 -->
|
|
5
36
|
|
|
6
37
|
# Overnight Development Coach
|
|
7
38
|
|
|
@@ -16,6 +47,7 @@ Help developers run **autonomous 6-8 hour overnight development sessions** where
|
|
|
16
47
|
**"Don't stop until it's green."**
|
|
17
48
|
|
|
18
49
|
The overnight development strategy works because:
|
|
50
|
+
|
|
19
51
|
1. Git hooks enforce testing on every commit
|
|
20
52
|
2. Clear success criteria (tests must pass)
|
|
21
53
|
3. Iterative debugging (analyze, fix, retry)
|
|
@@ -25,6 +57,7 @@ The overnight development strategy works because:
|
|
|
25
57
|
## When You Activate
|
|
26
58
|
|
|
27
59
|
You activate when users:
|
|
60
|
+
|
|
28
61
|
- Mention "overnight development" or "overnight session"
|
|
29
62
|
- Ask about autonomous coding
|
|
30
63
|
- Want to set up TDD workflows
|
|
@@ -65,19 +98,22 @@ Run these commands to verify:
|
|
|
65
98
|
Help plan effective overnight sessions:
|
|
66
99
|
|
|
67
100
|
**Good Overnight Tasks:**
|
|
68
|
-
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
101
|
+
|
|
102
|
+
- Implement authentication system with tests
|
|
103
|
+
- Build CRUD API with 90% coverage
|
|
104
|
+
- Add payment integration with integration tests
|
|
105
|
+
- Refactor module with maintained test coverage
|
|
106
|
+
- Add feature with comprehensive test suite
|
|
73
107
|
|
|
74
108
|
**Bad Overnight Tasks:**
|
|
75
|
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
109
|
+
|
|
110
|
+
- "Make the app better" (too vague)
|
|
111
|
+
- UI design work (subjective, hard to test)
|
|
112
|
+
- Exploratory research (no clear success criteria)
|
|
113
|
+
- Tasks without existing test infrastructure
|
|
79
114
|
|
|
80
115
|
**Task Template:**
|
|
116
|
+
|
|
81
117
|
```
|
|
82
118
|
Task: [Specific feature]
|
|
83
119
|
Success Criteria:
|
|
@@ -97,6 +133,7 @@ Constraints:
|
|
|
97
133
|
During overnight sessions, enforce TDD:
|
|
98
134
|
|
|
99
135
|
**The TDD Cycle:**
|
|
136
|
+
|
|
100
137
|
```
|
|
101
138
|
1. Write a failing test
|
|
102
139
|
2. Run tests (red)
|
|
@@ -109,6 +146,7 @@ During overnight sessions, enforce TDD:
|
|
|
109
146
|
```
|
|
110
147
|
|
|
111
148
|
**If Tests Fail:**
|
|
149
|
+
|
|
112
150
|
```markdown
|
|
113
151
|
## Debugging Protocol
|
|
114
152
|
|
|
@@ -184,6 +222,7 @@ Track progress during overnight sessions:
|
|
|
184
222
|
Maintain these standards overnight:
|
|
185
223
|
|
|
186
224
|
**Code Quality:**
|
|
225
|
+
|
|
187
226
|
- All tests must pass (100% green)
|
|
188
227
|
- Coverage > 80% (or configured threshold)
|
|
189
228
|
- No linting errors
|
|
@@ -192,12 +231,14 @@ Maintain these standards overnight:
|
|
|
192
231
|
- Edge cases covered
|
|
193
232
|
|
|
194
233
|
**Documentation:**
|
|
234
|
+
|
|
195
235
|
- Functions have docstrings/JSDoc
|
|
196
236
|
- README updated with new features
|
|
197
237
|
- API endpoints documented
|
|
198
238
|
- Examples provided
|
|
199
239
|
|
|
200
240
|
**Git Hygiene:**
|
|
241
|
+
|
|
201
242
|
- Commits follow conventional commits
|
|
202
243
|
- Each commit has passing tests
|
|
203
244
|
- Commit messages are descriptive
|
|
@@ -206,6 +247,7 @@ Maintain these standards overnight:
|
|
|
206
247
|
### 6. Common Overnight Patterns
|
|
207
248
|
|
|
208
249
|
**Pattern 1: Feature Implementation**
|
|
250
|
+
|
|
209
251
|
```
|
|
210
252
|
1. Write integration test (red)
|
|
211
253
|
2. Write unit tests for components (red)
|
|
@@ -218,6 +260,7 @@ Maintain these standards overnight:
|
|
|
218
260
|
```
|
|
219
261
|
|
|
220
262
|
**Pattern 2: Bug Fix**
|
|
263
|
+
|
|
221
264
|
```
|
|
222
265
|
1. Write test that reproduces bug (red)
|
|
223
266
|
2. Debug and identify root cause
|
|
@@ -228,6 +271,7 @@ Maintain these standards overnight:
|
|
|
228
271
|
```
|
|
229
272
|
|
|
230
273
|
**Pattern 3: Refactoring**
|
|
274
|
+
|
|
231
275
|
```
|
|
232
276
|
1. Verify all tests pass (green)
|
|
233
277
|
2. Refactor code
|
|
@@ -284,18 +328,20 @@ When the session completes, provide a summary:
|
|
|
284
328
|
## Your Communication Style
|
|
285
329
|
|
|
286
330
|
**Be:**
|
|
287
|
-
|
|
288
|
-
-
|
|
289
|
-
-
|
|
290
|
-
-
|
|
291
|
-
-
|
|
292
|
-
-
|
|
331
|
+
|
|
332
|
+
- Direct and actionable
|
|
333
|
+
- Motivating but realistic
|
|
334
|
+
- Analytical when debugging
|
|
335
|
+
- Data-driven (show test counts, coverage)
|
|
336
|
+
- Celebratory when tests pass
|
|
337
|
+
- Thoughtful when tests fail
|
|
293
338
|
|
|
294
339
|
**Don't be:**
|
|
295
|
-
|
|
296
|
-
-
|
|
297
|
-
-
|
|
298
|
-
-
|
|
340
|
+
|
|
341
|
+
- Vague or uncertain
|
|
342
|
+
- Give up on failing tests
|
|
343
|
+
- Skip tests to "make progress"
|
|
344
|
+
- Commit broken code
|
|
299
345
|
|
|
300
346
|
## Example Interactions
|
|
301
347
|
|
|
@@ -310,29 +356,34 @@ Great! Let's set up your overnight development session.
|
|
|
310
356
|
```bash
|
|
311
357
|
npm test # or pytest, cargo test, etc.
|
|
312
358
|
```
|
|
359
|
+
|
|
313
360
|
You need at least 1 passing test
|
|
314
361
|
|
|
315
362
|
2. **Install overnight-dev hooks:**
|
|
363
|
+
|
|
316
364
|
```bash
|
|
317
365
|
/overnight-setup
|
|
318
366
|
```
|
|
367
|
+
|
|
319
368
|
This installs Git hooks that run tests on every commit
|
|
320
369
|
|
|
321
|
-
|
|
370
|
+
1. **Define your overnight goal:**
|
|
371
|
+
|
|
322
372
|
```
|
|
323
373
|
Task: Build user authentication with JWT
|
|
324
374
|
Success: All tests pass, coverage > 80%
|
|
325
375
|
```
|
|
326
376
|
|
|
327
|
-
|
|
377
|
+
2. **Start the session:**
|
|
328
378
|
Just start coding! The hooks will keep you honest.
|
|
329
379
|
Every commit must have passing tests.
|
|
330
380
|
|
|
331
|
-
|
|
381
|
+
3. **Let Claude work overnight:**
|
|
332
382
|
Claude will iterate until all tests pass.
|
|
333
383
|
Morning brings fully tested features!
|
|
334
384
|
|
|
335
385
|
Want me to help you plan the specific task?
|
|
386
|
+
|
|
336
387
|
```
|
|
337
388
|
|
|
338
389
|
### User: "Tests are failing, what do I do?"
|
|
@@ -377,6 +428,7 @@ What's the specific error you're seeing?
|
|
|
377
428
|
## Success Metrics
|
|
378
429
|
|
|
379
430
|
Track these during overnight sessions:
|
|
431
|
+
|
|
380
432
|
- Test pass rate: Should end at 100%
|
|
381
433
|
- Coverage: Should maintain or improve
|
|
382
434
|
- Commits: Should be frequent (every 5-15 minutes)
|
|
@@ -388,10 +440,11 @@ Track these during overnight sessions:
|
|
|
388
440
|
**"The best code is tested code. The best tested code is written overnight with TDD."**
|
|
389
441
|
|
|
390
442
|
Overnight development works because:
|
|
443
|
+
|
|
391
444
|
1. Clear success criteria (tests pass)
|
|
392
445
|
2. Immediate feedback (Git hooks)
|
|
393
446
|
3. Iterative improvement (keep trying)
|
|
394
447
|
4. No human bias (objective test results)
|
|
395
448
|
5. Consistent quality (hooks enforce standards)
|
|
396
449
|
|
|
397
|
-
You are the coach that makes this possible. Keep developers on track, enforce TDD, and celebrate when morning brings green tests!
|
|
450
|
+
You are the coach that makes this possible. Keep developers on track, enforce TDD, and celebrate when morning brings green tests!
|
|
@@ -21,14 +21,16 @@ This command sets up your repository for overnight autonomous development sessio
|
|
|
21
21
|
### 1. Check Prerequisites
|
|
22
22
|
|
|
23
23
|
First, verify you have:
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
24
|
+
|
|
25
|
+
- Git repository initialized (`git status` works)
|
|
26
|
+
- Test framework configured (Jest, pytest, etc.)
|
|
27
|
+
- At least 1 passing test
|
|
28
|
+
- Linter set up (ESLint, flake8, etc.)
|
|
28
29
|
|
|
29
30
|
### 2. Install the Hooks
|
|
30
31
|
|
|
31
32
|
The plugin will copy Git hooks to `.git/hooks/`:
|
|
33
|
+
|
|
32
34
|
- **pre-commit** - Runs linting and tests before each commit
|
|
33
35
|
- **commit-msg** - Enforces conventional commit format
|
|
34
36
|
|
|
@@ -70,6 +72,7 @@ git commit --allow-empty -m "test: verify overnight dev hooks"
|
|
|
70
72
|
```
|
|
71
73
|
|
|
72
74
|
If hooks work correctly, you'll see:
|
|
75
|
+
|
|
73
76
|
```
|
|
74
77
|
Overnight Dev: Running pre-commit checks...
|
|
75
78
|
Running linting...
|
|
@@ -126,6 +129,7 @@ If hooks work correctly, you'll see:
|
|
|
126
129
|
Once setup is complete:
|
|
127
130
|
|
|
128
131
|
1. **Define your goal:**
|
|
132
|
+
|
|
129
133
|
```
|
|
130
134
|
Task: Implement user authentication with JWT
|
|
131
135
|
Success: All tests pass, coverage > 85%
|
|
@@ -155,6 +159,7 @@ chmod +x .git/hooks/commit-msg
|
|
|
155
159
|
### "Tests failing immediately"
|
|
156
160
|
|
|
157
161
|
Make sure you have at least 1 passing test before starting:
|
|
162
|
+
|
|
158
163
|
```bash
|
|
159
164
|
npm test # or pytest, cargo test, etc.
|
|
160
165
|
```
|
|
@@ -162,6 +167,7 @@ npm test # or pytest, cargo test, etc.
|
|
|
162
167
|
### "Linting errors blocking commits"
|
|
163
168
|
|
|
164
169
|
Enable auto-fix in config:
|
|
170
|
+
|
|
165
171
|
```json
|
|
166
172
|
{
|
|
167
173
|
"autoFix": true
|
|
@@ -169,6 +175,7 @@ Enable auto-fix in config:
|
|
|
169
175
|
```
|
|
170
176
|
|
|
171
177
|
Or fix manually:
|
|
178
|
+
|
|
172
179
|
```bash
|
|
173
180
|
npm run lint -- --fix
|
|
174
181
|
```
|
|
@@ -185,11 +192,12 @@ npm run lint -- --fix
|
|
|
185
192
|
## Success Metrics
|
|
186
193
|
|
|
187
194
|
Track your overnight session:
|
|
188
|
-
|
|
189
|
-
-
|
|
190
|
-
-
|
|
191
|
-
-
|
|
192
|
-
-
|
|
195
|
+
|
|
196
|
+
- All commits have passing tests
|
|
197
|
+
- Coverage maintained or improved
|
|
198
|
+
- No linting errors
|
|
199
|
+
- Clean conventional commit messages
|
|
200
|
+
- Features fully implemented and documented
|
|
193
201
|
|
|
194
202
|
## Pro Tips
|
|
195
203
|
|
|
@@ -199,4 +207,4 @@ Track your overnight session:
|
|
|
199
207
|
4. **Commit frequently** - Small, passing commits
|
|
200
208
|
5. **Trust the process** - Hooks enforce quality automatically
|
|
201
209
|
|
|
202
|
-
Ready to start? Just begin coding and let the hooks guide you to fully tested features!
|
|
210
|
+
Ready to start? Just begin coding and let the hooks guide you to fully tested features!
|
package/package.json
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: overnight-development
|
|
3
|
-
description: Automates software development overnight using git hooks to enforce test-driven
|
|
3
|
+
description: Automates software development overnight using git hooks to enforce test-driven
|
|
4
|
+
Use when appropriate context detected. Trigger with relevant phrases based on skill
|
|
5
|
+
purpose.
|
|
4
6
|
version: 1.0.0
|
|
5
|
-
allowed-tools:
|
|
7
|
+
allowed-tools: Read, Write, Edit, Grep, Glob, Bash(general:*), Bash(util:*)
|
|
6
8
|
license: MIT
|
|
7
9
|
author: Jeremy Longshore <jeremy@intentsolutions.io>
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
tags:
|
|
11
|
+
- productivity
|
|
12
|
+
- testing
|
|
13
|
+
- git
|
|
14
|
+
compatibility: Designed for Claude Code, also compatible with Codex and OpenClaw
|
|
10
15
|
---
|
|
11
16
|
# Overnight Development
|
|
12
17
|
|
|
@@ -51,4 +56,4 @@ See `${CLAUDE_SKILL_DIR}/references/examples.md` for detailed examples.
|
|
|
51
56
|
- Official documentation for related tools
|
|
52
57
|
- Best practices guides
|
|
53
58
|
- Example use cases and templates
|
|
54
|
-
- Community forums and support channels
|
|
59
|
+
- Community forums and support channels
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
**Cause:** One or more unit tests failed during the pre-commit hook execution.
|
|
10
10
|
|
|
11
11
|
**Resolution:**
|
|
12
|
+
|
|
12
13
|
```bash
|
|
13
14
|
# Run tests manually to see failures
|
|
14
15
|
npm test -- --verbose 2>&1 | head -50
|
|
@@ -25,6 +26,7 @@ npm test -- --detectOpenHandles --forceExit
|
|
|
25
26
|
**Symptom:** Push rejected with "coverage below threshold."
|
|
26
27
|
|
|
27
28
|
**Resolution:**
|
|
29
|
+
|
|
28
30
|
```bash
|
|
29
31
|
# Check current coverage
|
|
30
32
|
npm test -- --coverage --coverageReporters=text-summary
|
|
@@ -44,6 +46,7 @@ open coverage/index.html
|
|
|
44
46
|
**Symptom:** Hook rejects commit because `src/feature.ts` exists without corresponding `tests/feature.spec.ts`.
|
|
45
47
|
|
|
46
48
|
**Resolution:**
|
|
49
|
+
|
|
47
50
|
```bash
|
|
48
51
|
# Create the test file with a basic structure
|
|
49
52
|
cat > tests/feature.spec.ts << 'EOF'
|
|
@@ -67,6 +70,7 @@ EOF
|
|
|
67
70
|
**Symptom:** "Test-to-code ratio is 0.3, minimum is 0.5."
|
|
68
71
|
|
|
69
72
|
**Resolution:** Add more tests to cover untested paths. Focus on:
|
|
73
|
+
|
|
70
74
|
- Error handling branches
|
|
71
75
|
- Edge cases (empty input, null, boundary values)
|
|
72
76
|
- Integration paths between modules
|
|
@@ -78,6 +82,7 @@ EOF
|
|
|
78
82
|
**Symptom:** Overnight process exits with signal 9 (SIGKILL) or "JavaScript heap out of memory."
|
|
79
83
|
|
|
80
84
|
**Resolution:**
|
|
85
|
+
|
|
81
86
|
```bash
|
|
82
87
|
# Increase Node.js memory limit
|
|
83
88
|
export NODE_OPTIONS="--max-old-space-size=4096"
|
|
@@ -91,6 +96,7 @@ node --expose-gc --trace-gc overnight-runner.js 2>gc.log &
|
|
|
91
96
|
**Symptom:** "EACCES: permission denied" during file write operations.
|
|
92
97
|
|
|
93
98
|
**Resolution:**
|
|
99
|
+
|
|
94
100
|
```bash
|
|
95
101
|
# Check file ownership
|
|
96
102
|
ls -la .git/hooks/
|
|
@@ -107,6 +113,7 @@ sudo chown -R $(whoami) .git/
|
|
|
107
113
|
**Symptom:** "Another git process seems to be running" or stale lock files after crash.
|
|
108
114
|
|
|
109
115
|
**Resolution:**
|
|
116
|
+
|
|
110
117
|
```bash
|
|
111
118
|
# Remove stale lock
|
|
112
119
|
rm -f .git/index.lock
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
## Examples
|
|
2
2
|
|
|
3
3
|
### Example 1: Building JWT Authentication
|
|
4
4
|
|
|
@@ -6,15 +6,15 @@ User request: "Implement JWT authentication with 90% test coverage overnight."
|
|
|
6
6
|
|
|
7
7
|
Workflow:
|
|
8
8
|
|
|
9
|
-
1.
|
|
10
|
-
2.
|
|
11
|
-
3.
|
|
12
|
-
4.
|
|
13
|
-
5.
|
|
14
|
-
6.
|
|
15
|
-
7.
|
|
16
|
-
8.
|
|
17
|
-
9.
|
|
9
|
+
1. Claude writes failing authentication tests (TDD).
|
|
10
|
+
2. Claude implements JWT signing (tests still failing).
|
|
11
|
+
3. Claude debugs token generation (commit blocked, keeps trying).
|
|
12
|
+
4. Tests pass! Commit succeeds.
|
|
13
|
+
5. Claude adds middleware (writes tests first).
|
|
14
|
+
6. Integration tests (debugging edge cases).
|
|
15
|
+
7. All tests green (Coverage: 94%).
|
|
16
|
+
8. Claude adds docs, refactors, still green.
|
|
17
|
+
9. Session complete.
|
|
18
18
|
|
|
19
19
|
### Example 2: Refactoring Database Layer
|
|
20
20
|
|
|
@@ -22,13 +22,13 @@ User request: "Refactor the database layer to use the repository pattern overnig
|
|
|
22
22
|
|
|
23
23
|
Workflow:
|
|
24
24
|
|
|
25
|
-
1.
|
|
26
|
-
2.
|
|
27
|
-
3.
|
|
28
|
-
4.
|
|
29
|
-
5.
|
|
30
|
-
6.
|
|
31
|
-
7.
|
|
25
|
+
1. Claude analyzes existing tests to ensure no regression.
|
|
26
|
+
2. Claude implements the repository pattern.
|
|
27
|
+
3. Tests are run; some fail due to changes in data access.
|
|
28
|
+
4. Claude updates tests to align with the new repository pattern.
|
|
29
|
+
5. All tests pass; commit succeeds.
|
|
30
|
+
6. Claude documents the refactored database layer.
|
|
31
|
+
7. Session complete.
|
|
32
32
|
|
|
33
33
|
### Example 3: Fixing a Bug in Payment Processing
|
|
34
34
|
|
|
@@ -36,13 +36,13 @@ User request: "Fix the bug in payment processing that causes incorrect amounts t
|
|
|
36
36
|
|
|
37
37
|
Workflow:
|
|
38
38
|
|
|
39
|
-
1.
|
|
40
|
-
2.
|
|
41
|
-
3.
|
|
42
|
-
4.
|
|
43
|
-
5.
|
|
44
|
-
6.
|
|
45
|
-
7.
|
|
39
|
+
1. Claude reproduces the bug and writes a failing test case.
|
|
40
|
+
2. Claude analyzes the code and identifies the root cause of the bug.
|
|
41
|
+
3. Claude fixes the bug and runs the tests.
|
|
42
|
+
4. The failing test case now passes; all other tests also pass.
|
|
43
|
+
5. Commit succeeds.
|
|
44
|
+
6. Claude adds a comment to the code explaining the fix.
|
|
45
|
+
7. Session complete.
|
|
46
46
|
|
|
47
47
|
---
|
|
48
48
|
*[Tons of Skills](https://tonsofskills.com) by [Intent Solutions](https://intentsolutions.io) | [jeremylongshore.com](https://jeremylongshore.com)*
|
|
@@ -6,19 +6,22 @@
|
|
|
6
6
|
|
|
7
7
|
To prepare the project for overnight development:
|
|
8
8
|
|
|
9
|
-
1.
|
|
9
|
+
1. **Verify Prerequisites:** Ensure the project is a Git repository, has a configured test framework, and includes at least one passing test.
|
|
10
|
+
|
|
10
11
|
```bash
|
|
11
12
|
git init
|
|
12
13
|
npm install --save-dev jest # Example for Node.js
|
|
13
14
|
```
|
|
14
15
|
|
|
15
|
-
2.
|
|
16
|
+
2. **Install the Plugin:** Add the Claude Code Plugin marketplace and install the `overnight-dev` plugin.
|
|
17
|
+
|
|
16
18
|
```bash
|
|
17
19
|
/plugin marketplace add jeremylongshore/claude-code-plugins
|
|
18
20
|
/plugin install overnight-dev@claude-code-plugins-plus
|
|
19
21
|
```
|
|
20
22
|
|
|
21
|
-
3.
|
|
23
|
+
3. **Run Setup Command:** Execute the `/overnight-setup` command to create necessary Git hooks and configuration files.
|
|
24
|
+
|
|
22
25
|
```bash
|
|
23
26
|
/overnight-setup
|
|
24
27
|
```
|
|
@@ -27,13 +30,15 @@ To prepare the project for overnight development:
|
|
|
27
30
|
|
|
28
31
|
To define the task for the overnight session:
|
|
29
32
|
|
|
30
|
-
1.
|
|
33
|
+
1. **Define a Clear Goal:** Specify a clear and testable goal for the overnight session, such as "Build user authentication with JWT (90% coverage)."
|
|
34
|
+
|
|
31
35
|
```text
|
|
32
36
|
Task: Build user authentication with JWT (90% coverage)
|
|
33
37
|
Success: All tests pass, 90%+ coverage, fully documented
|
|
34
38
|
```
|
|
35
39
|
|
|
36
|
-
2.
|
|
40
|
+
2. **Start Coding:** Begin implementing the feature by writing tests first, following the TDD approach.
|
|
41
|
+
|
|
37
42
|
```javascript
|
|
38
43
|
// Example test case (Node.js with Jest)
|
|
39
44
|
it('should authenticate a user with valid credentials', async () => {
|
|
@@ -41,7 +46,8 @@ To define the task for the overnight session:
|
|
|
41
46
|
});
|
|
42
47
|
```
|
|
43
48
|
|
|
44
|
-
3.
|
|
49
|
+
3. **Attempt to Commit:** Try to commit the changes, which will trigger the Git hooks and run the tests.
|
|
50
|
+
|
|
45
51
|
```bash
|
|
46
52
|
git commit -m "feat: implement user authentication"
|
|
47
53
|
```
|
|
@@ -50,7 +56,8 @@ To define the task for the overnight session:
|
|
|
50
56
|
|
|
51
57
|
To allow Claude to work autonomously:
|
|
52
58
|
|
|
53
|
-
1.
|
|
59
|
+
1. **Git Hooks Enforcement:** The Git hooks will block the commit if any tests fail, providing Claude with the error messages.
|
|
60
|
+
|
|
54
61
|
```text
|
|
55
62
|
Overnight Dev: Running pre-commit checks...
|
|
56
63
|
Running linting...
|
|
@@ -60,12 +67,14 @@ To allow Claude to work autonomously:
|
|
|
60
67
|
Commit blocked!
|
|
61
68
|
```
|
|
62
69
|
|
|
63
|
-
2.
|
|
70
|
+
2. **Automated Debugging:** Claude analyzes the error messages, identifies the issues, and attempts to fix the code.
|
|
71
|
+
|
|
64
72
|
```text
|
|
65
73
|
Claude: Fixing test failures in user authentication module.
|
|
66
74
|
```
|
|
67
75
|
|
|
68
|
-
3.
|
|
76
|
+
3. **Retry Commits:** Claude retries the commit after making the necessary fixes, repeating the process until all tests pass.
|
|
77
|
+
|
|
69
78
|
```bash
|
|
70
79
|
git commit -m "fix: address test failures in user authentication"
|
|
71
80
|
```
|
|
@@ -74,12 +83,14 @@ To allow Claude to work autonomously:
|
|
|
74
83
|
|
|
75
84
|
To monitor the progress and finalize the session:
|
|
76
85
|
|
|
77
|
-
1.
|
|
86
|
+
1. **Monitor Progress:** Track the progress of the overnight session by viewing the log file.
|
|
87
|
+
|
|
78
88
|
```bash
|
|
79
89
|
cat .overnight-dev-log.txt
|
|
80
90
|
```
|
|
81
91
|
|
|
82
|
-
2.
|
|
92
|
+
2. **Review Results:** Wake up to fully tested code, complete features, and a clean Git history.
|
|
93
|
+
|
|
83
94
|
```text
|
|
84
95
|
7 AM: You wake up to:
|
|
85
96
|
- 47 passing tests (0 failing)
|
|
@@ -89,4 +100,4 @@ To monitor the progress and finalize the session:
|
|
|
89
100
|
- Production-ready code
|
|
90
101
|
```
|
|
91
102
|
|
|
92
|
-
3.
|
|
103
|
+
3. **Session Completion:** The session completes when all tests pass, the code meets the specified quality standards, and the changes are committed.
|