Spaces:
Running
Running
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 +27 -0
- docs/implementation/01_phase_foundation.md +42 -8
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 498 |
|
| 499 |
```bash
|
| 500 |
# Install all dependencies
|
|
@@ -519,7 +555,7 @@ uv run pre-commit install
|
|
| 519 |
|
| 520 |
---
|
| 521 |
|
| 522 |
-
##
|
| 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 `
|
| 535 |
-
- [ ] Run `
|
| 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 |
-
##
|
| 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 |
|