Skip to content

Commit c38443c

Browse files
FvdHMBAIFrederikclaude
authored
feat: competitive upgrade - tests, CI, examples, professional README (#2)
- Add 61-test suite covering config, helpers, locks, categories, schema, language - Add GitHub Actions CI with shellcheck, tests, and language enforcement - Rewrite README with architecture diagram, competitor comparison, FAQ - Add examples directory with sample report, scheduling config, multi-repo setup - Add CHANGELOG.md tracking all versions - All code verified English-only Co-authored-by: Frederik <fvdh@gmx.de> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 04d9cfb commit c38443c

7 files changed

Lines changed: 772 additions & 77 deletions

File tree

.github/workflows/ci.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main, develop]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
shellcheck:
11+
name: Shellcheck
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
- name: Install shellcheck
16+
run: sudo apt-get install -y shellcheck
17+
- name: Run shellcheck
18+
run: |
19+
shellcheck -S warning config.sh coordinator.sh worker.sh summary.sh summary-morning.sh lesson-generator.sh install.sh
20+
21+
test:
22+
name: Tests
23+
runs-on: ubuntu-latest
24+
steps:
25+
- uses: actions/checkout@v4
26+
- name: Make scripts executable
27+
run: chmod +x *.sh tests/*.sh
28+
- name: Run tests
29+
run: ./tests/test-nightshift.sh
30+
31+
language-check:
32+
name: English Only
33+
runs-on: ubuntu-latest
34+
steps:
35+
- uses: actions/checkout@v4
36+
- name: Check for non-English strings
37+
run: |
38+
GERMAN=$(grep -rlE 'ä|ö|ü|ß' --include='*.sh' . || true)
39+
if [[ -n "$GERMAN" ]]; then
40+
echo "Files with German characters:"
41+
echo "$GERMAN"
42+
grep -rnE 'ä|ö|ü|ß' --include='*.sh' .
43+
exit 1
44+
fi
45+
echo "All clear — no German strings found."

CHANGELOG.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Changelog
2+
3+
All notable changes to Night Shift will be documented in this file.
4+
5+
## [0.3.0] - 2026-08-02
6+
7+
### Added
8+
- Test suite (`tests/test-nightshift.sh`) covering config parsing, helper functions, lock mechanism, task categories, schema validation, and language checks
9+
- GitHub Actions CI with shellcheck, tests, and English-only enforcement
10+
- Example files: morning report, crontab configurations, multi-repo setup
11+
- Architecture diagram in README
12+
- Comparison table: Night Shift vs Devin vs CodeRabbit vs Sweep
13+
- FAQ section in README
14+
- Extending Night Shift guide for custom task categories
15+
16+
### Changed
17+
- README rewritten for competitive positioning and clarity
18+
- Worker resolves repo paths from REPOS array (supports absolute paths)
19+
- Improved stash handling with recovery instructions on failure
20+
21+
## [0.2.0] - 2026-08-01
22+
23+
### Added
24+
- Lesson generator for educational content from completed fixes
25+
- Morning summary with automatic catch-up for missed summaries
26+
- ntfy.sh notification support
27+
- Install script with dependency checks and cron setup
28+
- Security fix fallback: individual package upgrades when `npm audit fix` is ineffective
29+
- Build verification (Next.js) after dependency updates
30+
- RAM monitoring with configurable threshold
31+
- Task timeout with TERM signal handling
32+
- LLM output length guard for docs fixes
33+
34+
### Changed
35+
- Worker stashes uncommitted changes instead of skipping repos
36+
- Security fixes include TypeScript compilation check with rollback
37+
38+
## [0.1.0] - 2026-07-25
39+
40+
### Added
41+
- Initial release
42+
- Coordinator with multi-repo scanning
43+
- Worker with lint-fix, type-fix, security, docs categories
44+
- PostgreSQL schema for runs, tasks, lessons
45+
- Ollama integration for local LLM analysis
46+
- Claude API support (optional)
47+
- Branch-per-fix workflow with backup tags
48+
- Lockfile-based concurrency prevention

0 commit comments

Comments
 (0)