VibecoderMcSwaggins commited on
Commit
32fcf60
Β·
1 Parent(s): 069f0a0

feat(phase1): add Makefile for developer experience

Browse files

- Add Makefile with standard devex commands (install, test, lint, format, typecheck, check, clean)
- Update Phase 1 spec to include Makefile section
- make check runs all quality gates in one command

Makefile ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .PHONY: install test lint format typecheck check clean
2
+
3
+ install:
4
+ uv sync --all-extras
5
+ uv run pre-commit install
6
+
7
+ test:
8
+ uv run pytest tests/unit/ -v
9
+
10
+ test-cov:
11
+ uv run pytest --cov=src --cov-report=term-missing
12
+
13
+ lint:
14
+ uv run ruff check src tests
15
+
16
+ format:
17
+ uv run ruff format src tests
18
+
19
+ typecheck:
20
+ uv run mypy src
21
+
22
+ check: lint typecheck test
23
+ @echo "All checks passed!"
24
+
25
+ clean:
26
+ rm -rf .pytest_cache .mypy_cache .ruff_cache __pycache__ .coverage
27
+ find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true
docs/implementation/01_phase_foundation.md CHANGED
@@ -494,7 +494,43 @@ class TestSettings:
494
 
495
  ---
496
 
497
- ## 8. Execution Commands
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
498
 
499
  ```bash
500
  # Install all dependencies
@@ -519,7 +555,7 @@ uv run pre-commit install
519
 
520
  ---
521
 
522
- ## 9. Implementation Checklist
523
 
524
  - [ ] Install `uv` and verify version
525
  - [ ] Run `uv init --name deepcritical`
@@ -527,20 +563,18 @@ uv run pre-commit install
527
  - [ ] Create directory structure (run mkdir commands)
528
  - [ ] Create `.env.example` and `.env`
529
  - [ ] Create `.pre-commit-config.yaml`
 
530
  - [ ] Create `tests/conftest.py`
531
  - [ ] Implement `src/utils/config.py`
532
  - [ ] Implement `src/utils/exceptions.py`
533
  - [ ] Write tests in `tests/unit/utils/test_config.py`
534
- - [ ] Run `uv sync --all-extras`
535
- - [ ] Run `uv run pytest` β€” **ALL TESTS MUST PASS**
536
- - [ ] Run `uv run ruff check` β€” **NO ERRORS**
537
- - [ ] Run `uv run mypy src` β€” **NO ERRORS**
538
- - [ ] Run `uv run pre-commit install`
539
  - [ ] Commit: `git commit -m "feat: phase 1 foundation complete"`
540
 
541
  ---
542
 
543
- ## 10. Definition of Done
544
 
545
  Phase 1 is **COMPLETE** when:
546
 
 
494
 
495
  ---
496
 
497
+ ## 8. Makefile (Developer Experience)
498
+
499
+ Create a `Makefile` for standard devex commands:
500
+
501
+ ```makefile
502
+ .PHONY: install test lint format typecheck check clean
503
+
504
+ install:
505
+ uv sync --all-extras
506
+ uv run pre-commit install
507
+
508
+ test:
509
+ uv run pytest tests/unit/ -v
510
+
511
+ test-cov:
512
+ uv run pytest --cov=src --cov-report=term-missing
513
+
514
+ lint:
515
+ uv run ruff check src tests
516
+
517
+ format:
518
+ uv run ruff format src tests
519
+
520
+ typecheck:
521
+ uv run mypy src
522
+
523
+ check: lint typecheck test
524
+ @echo "All checks passed!"
525
+
526
+ clean:
527
+ rm -rf .pytest_cache .mypy_cache .ruff_cache __pycache__ .coverage
528
+ find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true
529
+ ```
530
+
531
+ ---
532
+
533
+ ## 9. Execution Commands
534
 
535
  ```bash
536
  # Install all dependencies
 
555
 
556
  ---
557
 
558
+ ## 10. Implementation Checklist
559
 
560
  - [ ] Install `uv` and verify version
561
  - [ ] Run `uv init --name deepcritical`
 
563
  - [ ] Create directory structure (run mkdir commands)
564
  - [ ] Create `.env.example` and `.env`
565
  - [ ] Create `.pre-commit-config.yaml`
566
+ - [ ] Create `Makefile` (copy from above)
567
  - [ ] Create `tests/conftest.py`
568
  - [ ] Implement `src/utils/config.py`
569
  - [ ] Implement `src/utils/exceptions.py`
570
  - [ ] Write tests in `tests/unit/utils/test_config.py`
571
+ - [ ] Run `make install`
572
+ - [ ] Run `make check` β€” **ALL CHECKS MUST PASS**
 
 
 
573
  - [ ] Commit: `git commit -m "feat: phase 1 foundation complete"`
574
 
575
  ---
576
 
577
+ ## 11. Definition of Done
578
 
579
  Phase 1 is **COMPLETE** when:
580