bootstrap: decree 0.1.0 scaffold - #1
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR establishes the initial scaffold for the decree project, a Python 3.11+ reimplementation of adr-tools with typed APIs and a Typer CLI. The implementation provides core ADR management functionality including initialization, creation, linking, listing, and table of contents generation.
Key changes include:
- Implementation of core decree package with models, CLI commands, and template system
- Configuration of packaging infrastructure for PyPI, Homebrew, and apt distribution
- Setup of CI/CD workflows, testing framework, and development tooling
Reviewed Changes
Copilot reviewed 48 out of 48 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/decree/ | Core package implementation with CLI, models, templates, and utilities |
| tests/ | Test suite covering CLI initialization, slugification, date handling, and core functionality |
| pyproject.toml | Project configuration with dependencies and build system setup |
| packaging/ | Distribution configurations for Homebrew and apt repositories |
| .github/workflows/ | CI/CD workflows for testing, releases, and package distribution |
| doc/adr/ | Architecture Decision Records documenting design choices |
| Project metadata | License, README, contributing guidelines, and configuration files |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| assert resolve_date() == "1999-12-31" | ||
|
|
||
|
|
||
| def test_deceree_tz_changes_format(monkeypatch): |
There was a problem hiding this comment.
Corrected spelling of 'deceree' to 'decree'.
| def test_deceree_tz_changes_format(monkeypatch): | |
| def test_decree_tz_changes_format(monkeypatch): |
| content = tpl.format( | ||
| number=number, | ||
| title=title, | ||
| status=status.value, | ||
| date=(date or resolve_date()), | ||
| ) | ||
| path.write_text(content, encoding="utf-8", newline="\n") | ||
| return AdrRecord(number=number, slug=slug, title=title, status=status, date=resolve_date(), path=path) |
There was a problem hiding this comment.
The date parameter is being ignored in favor of calling resolve_date() again. This should use the date parameter if provided, or resolve_date() if not.
| content = tpl.format( | |
| number=number, | |
| title=title, | |
| status=status.value, | |
| date=(date or resolve_date()), | |
| ) | |
| path.write_text(content, encoding="utf-8", newline="\n") | |
| return AdrRecord(number=number, slug=slug, title=title, status=status, date=resolve_date(), path=path) | |
| date_value = date or resolve_date() | |
| content = tpl.format( | |
| number=number, | |
| title=title, | |
| status=status.value, | |
| date=date_value, | |
| ) | |
| path.write_text(content, encoding="utf-8", newline="\n") | |
| return AdrRecord(number=number, slug=slug, title=title, status=status, date=date_value, path=path) |
|
To use Codex here, create an environment for this repo. |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…ommit-and-mypy Fix mypy configuration and tighten typing coverage
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 48 out of 49 changed files in this pull request and generated 2 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| assert resolve_date() == "1999-12-31" | ||
|
|
||
|
|
||
| def test_deceree_tz_changes_format(monkeypatch: pytest.MonkeyPatch) -> None: |
There was a problem hiding this comment.
Corrected spelling of 'deceree' to 'decree'.
| def test_deceree_tz_changes_format(monkeypatch: pytest.MonkeyPatch) -> None: | |
| def test_decree_tz_changes_format(monkeypatch: pytest.MonkeyPatch) -> None: |
| log = cls(adr_dir) | ||
| first = adr_dir / "0001-record-architecture-decisions.md" | ||
| if not first.exists(): | ||
| rec = log._write(number=1, title=SEED_0001_TITLE, status=AdrStatus.Accepted) |
There was a problem hiding this comment.
The variable rec is assigned but never used. Consider removing this assignment if the return value is not needed.
| rec = log._write(number=1, title=SEED_0001_TITLE, status=AdrStatus.Accepted) | |
| log._write(number=1, title=SEED_0001_TITLE, status=AdrStatus.Accepted) |
…E and ADR documents for clarity
…ventions, and common tasks
Summary
Testing
https://chatgpt.com/codex/tasks/task_e_68e456e154c48326b9e0eb5bc7aed1d0