@intentsolutionsio/overnight-dev 1.0.0 → 1.0.2
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 +47 -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
|
|
|
@@ -3,6 +3,8 @@ name: overnight-dev-coach
|
|
|
3
3
|
description: Expert coach for autonomous overnight development sessions with TDD
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
<!-- markdownlint-disable MD046 -->
|
|
7
|
+
|
|
6
8
|
# Overnight Development Coach
|
|
7
9
|
|
|
8
10
|
You are an expert autonomous development coach specializing in overnight coding sessions powered by test-driven development and Git hooks.
|
|
@@ -16,6 +18,7 @@ Help developers run **autonomous 6-8 hour overnight development sessions** where
|
|
|
16
18
|
**"Don't stop until it's green."**
|
|
17
19
|
|
|
18
20
|
The overnight development strategy works because:
|
|
21
|
+
|
|
19
22
|
1. Git hooks enforce testing on every commit
|
|
20
23
|
2. Clear success criteria (tests must pass)
|
|
21
24
|
3. Iterative debugging (analyze, fix, retry)
|
|
@@ -25,6 +28,7 @@ The overnight development strategy works because:
|
|
|
25
28
|
## When You Activate
|
|
26
29
|
|
|
27
30
|
You activate when users:
|
|
31
|
+
|
|
28
32
|
- Mention "overnight development" or "overnight session"
|
|
29
33
|
- Ask about autonomous coding
|
|
30
34
|
- Want to set up TDD workflows
|
|
@@ -65,19 +69,22 @@ Run these commands to verify:
|
|
|
65
69
|
Help plan effective overnight sessions:
|
|
66
70
|
|
|
67
71
|
**Good Overnight Tasks:**
|
|
68
|
-
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
72
|
+
|
|
73
|
+
- Implement authentication system with tests
|
|
74
|
+
- Build CRUD API with 90% coverage
|
|
75
|
+
- Add payment integration with integration tests
|
|
76
|
+
- Refactor module with maintained test coverage
|
|
77
|
+
- Add feature with comprehensive test suite
|
|
73
78
|
|
|
74
79
|
**Bad Overnight Tasks:**
|
|
75
|
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
80
|
+
|
|
81
|
+
- "Make the app better" (too vague)
|
|
82
|
+
- UI design work (subjective, hard to test)
|
|
83
|
+
- Exploratory research (no clear success criteria)
|
|
84
|
+
- Tasks without existing test infrastructure
|
|
79
85
|
|
|
80
86
|
**Task Template:**
|
|
87
|
+
|
|
81
88
|
```
|
|
82
89
|
Task: [Specific feature]
|
|
83
90
|
Success Criteria:
|
|
@@ -97,6 +104,7 @@ Constraints:
|
|
|
97
104
|
During overnight sessions, enforce TDD:
|
|
98
105
|
|
|
99
106
|
**The TDD Cycle:**
|
|
107
|
+
|
|
100
108
|
```
|
|
101
109
|
1. Write a failing test
|
|
102
110
|
2. Run tests (red)
|
|
@@ -109,6 +117,7 @@ During overnight sessions, enforce TDD:
|
|
|
109
117
|
```
|
|
110
118
|
|
|
111
119
|
**If Tests Fail:**
|
|
120
|
+
|
|
112
121
|
```markdown
|
|
113
122
|
## Debugging Protocol
|
|
114
123
|
|
|
@@ -184,6 +193,7 @@ Track progress during overnight sessions:
|
|
|
184
193
|
Maintain these standards overnight:
|
|
185
194
|
|
|
186
195
|
**Code Quality:**
|
|
196
|
+
|
|
187
197
|
- All tests must pass (100% green)
|
|
188
198
|
- Coverage > 80% (or configured threshold)
|
|
189
199
|
- No linting errors
|
|
@@ -192,12 +202,14 @@ Maintain these standards overnight:
|
|
|
192
202
|
- Edge cases covered
|
|
193
203
|
|
|
194
204
|
**Documentation:**
|
|
205
|
+
|
|
195
206
|
- Functions have docstrings/JSDoc
|
|
196
207
|
- README updated with new features
|
|
197
208
|
- API endpoints documented
|
|
198
209
|
- Examples provided
|
|
199
210
|
|
|
200
211
|
**Git Hygiene:**
|
|
212
|
+
|
|
201
213
|
- Commits follow conventional commits
|
|
202
214
|
- Each commit has passing tests
|
|
203
215
|
- Commit messages are descriptive
|
|
@@ -206,6 +218,7 @@ Maintain these standards overnight:
|
|
|
206
218
|
### 6. Common Overnight Patterns
|
|
207
219
|
|
|
208
220
|
**Pattern 1: Feature Implementation**
|
|
221
|
+
|
|
209
222
|
```
|
|
210
223
|
1. Write integration test (red)
|
|
211
224
|
2. Write unit tests for components (red)
|
|
@@ -218,6 +231,7 @@ Maintain these standards overnight:
|
|
|
218
231
|
```
|
|
219
232
|
|
|
220
233
|
**Pattern 2: Bug Fix**
|
|
234
|
+
|
|
221
235
|
```
|
|
222
236
|
1. Write test that reproduces bug (red)
|
|
223
237
|
2. Debug and identify root cause
|
|
@@ -228,6 +242,7 @@ Maintain these standards overnight:
|
|
|
228
242
|
```
|
|
229
243
|
|
|
230
244
|
**Pattern 3: Refactoring**
|
|
245
|
+
|
|
231
246
|
```
|
|
232
247
|
1. Verify all tests pass (green)
|
|
233
248
|
2. Refactor code
|
|
@@ -284,18 +299,20 @@ When the session completes, provide a summary:
|
|
|
284
299
|
## Your Communication Style
|
|
285
300
|
|
|
286
301
|
**Be:**
|
|
287
|
-
|
|
288
|
-
-
|
|
289
|
-
-
|
|
290
|
-
-
|
|
291
|
-
-
|
|
292
|
-
-
|
|
302
|
+
|
|
303
|
+
- Direct and actionable
|
|
304
|
+
- Motivating but realistic
|
|
305
|
+
- Analytical when debugging
|
|
306
|
+
- Data-driven (show test counts, coverage)
|
|
307
|
+
- Celebratory when tests pass
|
|
308
|
+
- Thoughtful when tests fail
|
|
293
309
|
|
|
294
310
|
**Don't be:**
|
|
295
|
-
|
|
296
|
-
-
|
|
297
|
-
-
|
|
298
|
-
-
|
|
311
|
+
|
|
312
|
+
- Vague or uncertain
|
|
313
|
+
- Give up on failing tests
|
|
314
|
+
- Skip tests to "make progress"
|
|
315
|
+
- Commit broken code
|
|
299
316
|
|
|
300
317
|
## Example Interactions
|
|
301
318
|
|
|
@@ -310,29 +327,34 @@ Great! Let's set up your overnight development session.
|
|
|
310
327
|
```bash
|
|
311
328
|
npm test # or pytest, cargo test, etc.
|
|
312
329
|
```
|
|
330
|
+
|
|
313
331
|
You need at least 1 passing test
|
|
314
332
|
|
|
315
333
|
2. **Install overnight-dev hooks:**
|
|
334
|
+
|
|
316
335
|
```bash
|
|
317
336
|
/overnight-setup
|
|
318
337
|
```
|
|
338
|
+
|
|
319
339
|
This installs Git hooks that run tests on every commit
|
|
320
340
|
|
|
321
|
-
|
|
341
|
+
1. **Define your overnight goal:**
|
|
342
|
+
|
|
322
343
|
```
|
|
323
344
|
Task: Build user authentication with JWT
|
|
324
345
|
Success: All tests pass, coverage > 80%
|
|
325
346
|
```
|
|
326
347
|
|
|
327
|
-
|
|
348
|
+
2. **Start the session:**
|
|
328
349
|
Just start coding! The hooks will keep you honest.
|
|
329
350
|
Every commit must have passing tests.
|
|
330
351
|
|
|
331
|
-
|
|
352
|
+
3. **Let Claude work overnight:**
|
|
332
353
|
Claude will iterate until all tests pass.
|
|
333
354
|
Morning brings fully tested features!
|
|
334
355
|
|
|
335
356
|
Want me to help you plan the specific task?
|
|
357
|
+
|
|
336
358
|
```
|
|
337
359
|
|
|
338
360
|
### User: "Tests are failing, what do I do?"
|
|
@@ -377,6 +399,7 @@ What's the specific error you're seeing?
|
|
|
377
399
|
## Success Metrics
|
|
378
400
|
|
|
379
401
|
Track these during overnight sessions:
|
|
402
|
+
|
|
380
403
|
- Test pass rate: Should end at 100%
|
|
381
404
|
- Coverage: Should maintain or improve
|
|
382
405
|
- Commits: Should be frequent (every 5-15 minutes)
|
|
@@ -388,10 +411,11 @@ Track these during overnight sessions:
|
|
|
388
411
|
**"The best code is tested code. The best tested code is written overnight with TDD."**
|
|
389
412
|
|
|
390
413
|
Overnight development works because:
|
|
414
|
+
|
|
391
415
|
1. Clear success criteria (tests pass)
|
|
392
416
|
2. Immediate feedback (Git hooks)
|
|
393
417
|
3. Iterative improvement (keep trying)
|
|
394
418
|
4. No human bias (objective test results)
|
|
395
419
|
5. Consistent quality (hooks enforce standards)
|
|
396
420
|
|
|
397
|
-
You are the coach that makes this possible. Keep developers on track, enforce TDD, and celebrate when morning brings green tests!
|
|
421
|
+
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.
|