Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
49bb6ea
Initial plan
Copilot Jan 19, 2026
9221e60
Add Nix flake, .envrc, and update documentation
Copilot Jan 19, 2026
1e4586e
Enhance flake with apps output and improve README
Copilot Jan 19, 2026
d6b5774
Add comprehensive Nix flake documentation
Copilot Jan 19, 2026
78685a0
Fix license definition and improve uv sync logic in flake
Copilot Jan 19, 2026
ee58c56
Add missing jsonschema to development environment
Copilot Jan 19, 2026
8742708
Enhance documentation with explicit GitHub flake reference examples
Copilot Jan 19, 2026
2a77af0
Update validate workflow to use Nix development shell
Copilot Jan 19, 2026
785e189
Add build job to validate flake package can be built
Copilot Jan 19, 2026
1440713
Simplify Nix configuration in validate workflow
Copilot Jan 19, 2026
30906f0
Consolidate build into tests job after pytest
Copilot Jan 19, 2026
82f2b9c
chore:
ncrmro Jan 19, 2026
e24cea8
chore: allow unfree packages in nixpkgs for BSL 1.1 license
ncrmro Jan 19, 2026
3d722e4
Fix Nix flake package to include Python with deepwork in PYTHONPATH
Copilot Jan 19, 2026
829c167
Add deepwork hook CLI command for cleaner hook invocation
Copilot Jan 20, 2026
54c97d2
Replace shell.nix with flake-compat wrapper
Copilot Jan 20, 2026
9627921
Changes before error encountered
Copilot Jan 20, 2026
d994348
Remove shell.nix and all references to nix-shell
Copilot Jan 20, 2026
1c9b0ef
Remove final nix-shell reference from README
Copilot Jan 20, 2026
cc083dc
Add rpds-py dependency to fix ModuleNotFoundError
Copilot Jan 20, 2026
b695b4e
Document custom hooks and Python invocation with Nix flake
Copilot Jan 20, 2026
3dd02c6
Merge branch 'main' into copilot/convert-shell-to-flake
ncrmro Jan 21, 2026
3bb8ac2
Fix Python formatting with ruff
Copilot Jan 21, 2026
5ea4374
Merge branch 'main' into copilot/convert-shell-to-flake
ncrmro Jan 21, 2026
f025239
Fix ruff linting issues: organize imports and fix exception handling
Copilot Jan 21, 2026
400de49
Merge branch 'main' into copilot/convert-shell-to-flake
ncrmro Jan 21, 2026
5fbac8a
Merge branch 'main' into copilot/convert-shell-to-flake
ncrmro Jan 21, 2026
9248b2c
Merge branch 'main' into copilot/convert-shell-to-flake
ncrmro Jan 21, 2026
a2517a1
Fix hook CLI to support custom module paths and remove invalid consol…
Copilot Jan 21, 2026
135e00d
Remove trailing whitespace in hook.py
Copilot Jan 21, 2026
203ba9f
docs: explain auto-unfree license config in nix-flake.md
ncrmro Jan 21, 2026
1569be0
docs: add dev env info to AGENTS.md
ncrmro Jan 21, 2026
b41dbc2
docs: update nix-flake.md with recommended project configuration example
ncrmro Jan 21, 2026
d37a0b1
Merge branch 'main' into copilot/convert-shell-to-flake
ncrmro Jan 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
use flake
28 changes: 16 additions & 12 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,27 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "latest"
- name: Install Nix
uses: cachix/install-nix-action@v31

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Setup Nix development environment
uses: nicknovitski/nix-develop@v1

- name: Install dependencies
- name: Install Python dependencies
run: uv sync --extra dev

- name: Check formatting (ruff)
run: |
uv run ruff format --check src/ tests/
uv run ruff check src/ tests/
ruff format --check src/ tests/
ruff check src/ tests/

- name: Run tests
run: uv run pytest tests/ -v
run: pytest tests/ -v

- name: Build deepwork package
run: nix build

- name: Verify package output
run: |
ls -la result/bin/deepwork
./result/bin/deepwork --version
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,9 @@ dmypy.json
*~
.DS_Store

# direnv
.direnv/

# Jupyter Notebook
.ipynb_checkpoints

Expand Down
18 changes: 18 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,4 +83,22 @@ deepwork/
β”œβ”€β”€ deepwork_jobs/ # ← Installed copy, NOT source of truth
β”œβ”€β”€ deepwork_rules/ # ← Installed copy, NOT source of truth
└── [bespoke_job]/ # ← Source of truth for bespoke only

## Development Environment

This project uses **Nix Flakes** to provide a reproducible development environment.

### Using the Environment

- **With direnv (Recommended)**: Just `cd` into the directory. The `.envrc` will automatically load the flake environment.
- **Without direnv**: Run `nix develop` to enter the shell.
- **Building**: Run `nix build` to build the package.

**Note**: The flake is configured to automatically allow unfree packages (required for the BSL 1.1 license), so you do not need to set `NIXPKGS_ALLOW_UNFREE=1`.

The environment includes:
- Python 3.11
- uv (package manager)
- All dev dependencies (pytest, ruff, mypy, etc.)

```
Loading
Loading