Nightshift is a small Python orchestrator for running codex exec across local projects overnight. It finds active projects, commits any current work as WIP, switches to a nightshift branch, asks Codex to prepare and work through local project tasks, then writes a morning digest to ~/.nightshift/daily-digest.md.
- Python.
- The Codex CLI available as
codex. - Each active project must be a Git repository with this layout:
project/
.nightshift/
plans/
runs/
TODO.md
Initialize a project:
python3 -m nightshift initRun the current directory as one project:
python3 -m nightshiftRun every active project under a directory:
python3 -m nightshift --projects-dir ~/activeNightshift overwrites ~/.nightshift/daily-digest.md at the start of each orchestrator run. After each project finishes, it appends one compact line:
✅ api-server/fix-flaky-auth-test — root-caused race in token refresh, patched, tests green → REVIEW PR #142
The summary step asks Codex for JSON that conforms to nightshift/schemas/summary.json, then renders those stable fields into that line format.
Each project run creates a timestamped markdown log under .nightshift/runs/. Nightshift appends each Codex step's returned message to that file as the run progresses.