Skip to content

bootstrap: decree 0.1.0 scaffold - #1

Merged
steven-cutting merged 11 commits into
mainfrom
codex/bootstrap-decree-repo-with-initial-files
Oct 7, 2025
Merged

steven-cutting merged 11 commits into
mainfrom
codex/bootstrap-decree-repo-with-initial-files

Conversation

@steven-cutting

Copy link
Copy Markdown
Owner

Summary

  • add project metadata, licensing, and contribution docs
  • implement decree package with CLI, models, core logic, and templates
  • configure packaging (uv, homebrew, apt), CI workflows, and initial ADRs/tests

Testing

  • not run (repository bootstrap)

https://chatgpt.com/codex/tasks/task_e_68e456e154c48326b9e0eb5bc7aed1d0

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread tests/test_date_envs.py Outdated
assert resolve_date() == "1999-12-31"


def test_deceree_tz_changes_format(monkeypatch):

Copilot AI Oct 7, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'deceree' to 'decree'.

Suggested change
def test_deceree_tz_changes_format(monkeypatch):
def test_decree_tz_changes_format(monkeypatch):

Copilot uses AI. Check for mistakes.
Comment thread src/decree/core.py Outdated
Comment on lines +100 to +107
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)

Copilot AI Oct 7, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
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)

Copilot uses AI. Check for mistakes.
Comment thread .pre-commit-config.yaml Outdated
@steven-cutting

Copy link
Copy Markdown
Owner Author

@codex

@chatgpt-codex-connector

Copy link
Copy Markdown

To use Codex here, create an environment for this repo.

@steven-cutting steven-cutting self-assigned this Oct 7, 2025
steven-cutting and others added 4 commits October 6, 2025 17:16
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…ommit-and-mypy

Fix mypy configuration and tighten typing coverage
@steven-cutting
steven-cutting requested a review from Copilot October 7, 2025 02:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread tests/test_date_envs.py
assert resolve_date() == "1999-12-31"


def test_deceree_tz_changes_format(monkeypatch: pytest.MonkeyPatch) -> None:

Copilot AI Oct 7, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'deceree' to 'decree'.

Suggested change
def test_deceree_tz_changes_format(monkeypatch: pytest.MonkeyPatch) -> None:
def test_decree_tz_changes_format(monkeypatch: pytest.MonkeyPatch) -> None:

Copilot uses AI. Check for mistakes.
Comment thread src/decree/core.py Outdated
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)

Copilot AI Oct 7, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The variable rec is assigned but never used. Consider removing this assignment if the return value is not needed.

Suggested change
rec = log._write(number=1, title=SEED_0001_TITLE, status=AdrStatus.Accepted)
log._write(number=1, title=SEED_0001_TITLE, status=AdrStatus.Accepted)

Copilot uses AI. Check for mistakes.
@steven-cutting
steven-cutting merged commit 9853dea into main Oct 7, 2025
4 checks passed
@steven-cutting
steven-cutting deleted the codex/bootstrap-decree-repo-with-initial-files branch October 7, 2025 03:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants