From 708765eff49dd71fd374d34b94bdaf634ae22a6d Mon Sep 17 00:00:00 2001 From: Coding-Dev-Tools Date: Tue, 23 Jun 2026 02:53:55 -0400 Subject: [PATCH 1/3] docs: add AGENTS.md for agent discoverability --- AGENTS.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..7d5daf3 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,29 @@ +# deploydiff + +## Purpose +Compare deployment configurations across environments. Detect drift between staging and production configs. Preview infrastructure changes with human-readable diffs, cost impact estimation, and rollback commands. + +## Build & Test Commands +- Install: `pip install -e .` or `pip install deploydiff` +- Test: `pytest tests/` (or `python -m pytest tests/ -v --tb=short`) +- Lint: `ruff check .` +- Build: `pip install build twine && python -m build && twine check dist/*` +- CLI check: `deploydiff --help` + +## Architecture +Key directories: +- `src/deploydiff/` — Main package (CLI, diff engine, cost estimator, rollback generator) +- `tests/` — Test suite +- `.github/workflows/` — CI/CD (auto-code-review.yml, ci.yml, pages.yml, publish.yml) +- `dist/` — Built distributions + +## Conventions +- Language: Python 3.10+ +- Test framework: pytest +- CI: GitHub Actions (auto-code-review.yml, ci.yml, pages.yml, publish.yml) +- Linting: ruff +- Build system: setuptools +- Package layout: src/ layout +- Dependencies: click, rich, pyyaml, tomli, jinja2 +- CLI entry point: deploydiff.cli:cli +- Default branch: main \ No newline at end of file From 9a63a553a681ae2155f56772f70b78f3f14f488a Mon Sep 17 00:00:00 2001 From: Coding-Dev-Tools Date: Wed, 24 Jun 2026 15:39:05 -0400 Subject: [PATCH 2/3] improve: align package dependencies with README --- pyproject.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 17077c0..b9e59fa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,8 @@ dependencies = [ "click>=8.1", "rich>=13.0", "pyyaml>=6.0", + "tomli>=2.0", + "jinja2>=3.1", ] keywords = ["infrastructure", "terraform", "cloudformation", "pulumi", "cost", "diff", "cli"] classifiers = [ From c5ffe100109e03426e0e4818464c37469e18e3b8 Mon Sep 17 00:00:00 2001 From: Coding-Dev-Tools Date: Thu, 25 Jun 2026 03:11:34 -0400 Subject: [PATCH 3/3] style: auto-fix ruff import sorting (I001) --- tests/conftest.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/conftest.py b/tests/conftest.py index baf8023..38b2915 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,9 +1,10 @@ """Test configuration - mock license checks so tests run without a license.""" -import pytest import sys from unittest.mock import MagicMock +import pytest + # Replace revenueholdings_license with a mock BEFORE any src imports resolve it _mock_rl = MagicMock() _mock_rl.require_license = MagicMock(return_value=None)