Skip to content

Initial project design & architecture - #9

Merged
vgreg merged 9 commits into
mainfrom
1-initial-project-design-architecture
Apr 23, 2026
Merged

Initial project design & architecture#9
vgreg merged 9 commits into
mainfrom
1-initial-project-design-architecture

Conversation

@vgreg

@vgreg vgreg commented Mar 30, 2026

Copy link
Copy Markdown
Owner

Summary

  • Set up project scaffolding: pyproject.toml (hatchling, uv), src layout, Python 3.11+ (tested through 3.14)
  • Implement core library: command() decorator factory with automatic config merging (--config, --set) and timestamped run artifacts (run.log, config.json)
  • Add comprehensive test suite (15 tests covering decorators, settings, and logging)
  • Add pre-commit hooks (ruff lint + format, trailing whitespace, EOF fixer, TOML check)
  • Add CI workflow (GitHub Actions matrix: Python 3.11–3.14, ruff, mypy strict, pytest + coverage)
  • Add publish workflow (bump-my-version + PyPI trusted publishing)
  • Add MkDocs Material documentation site with getting started, configuration, CLI, and API reference pages

Test plan

  • uv sync --all-extras succeeds
  • uv run pytest — 15 tests pass
  • uv run ruff check src/ tests/ — clean
  • uv run mypy src/ — clean (strict mode)
  • uv run pre-commit run --all-files — all hooks pass
  • uv run mkdocs build --strict — docs build successfully
  • CI workflow passes on push

Closes #1, closes #2, closes #3, closes #4, closes #5, closes #6, closes #7, closes #8

🤖 Generated with Claude Code

vgreg and others added 8 commits March 30, 2026 11:02
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Closes #2

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add the three core modules that make up Iolaus:
- decorators.py: command() decorator factory with signature injection
- settings.py: Dynaconf config merging helper
- logging.py: timestamped run directory and config snapshot

Closes #3

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Closes #4

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Closes #5

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Runs ruff, mypy, and pytest with coverage on every push/PR.
Also adds mypy override for untyped dynaconf module.

Closes #6

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Bumps patch version, tags, builds, and publishes on merge to main.
Requires PyPI Trusted Publisher setup for this repo.

Closes #7

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Includes home page, getting started guide, configuration docs,
CLI reference, and auto-generated API reference via mkdocstrings.

Closes #8

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vgreg vgreg linked an issue Mar 30, 2026 that may be closed by this pull request
7 tasks
Builds MkDocs site and deploys via GitHub Pages on push to main.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vgreg
vgreg merged commit 2fb0f3f into main Apr 23, 2026
4 checks passed
@vgreg
vgreg deleted the 1-initial-project-design-architecture branch April 23, 2026 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant