config.py now reads project config (task_prefix, vikunja_project_id,
repo_owner, repo_name) from [tool.devx] in pyproject.toml, with env
vars as overrides. This eliminates config duplication across hooks,
Makefiles, and .env files.
New tool: devx.tools.check_config — validates [tool.devx] section
exists with required keys and devx version is consistent across all
extras in pyproject.toml.
devx.mak simplified: no longer needs DEVX_VIKUNJA_PROJECT_ID,
DEVX_REPO_OWNER, DEVX_REPO_NAME variables — Python tools read from
pyproject.toml automatically. Added devx-check-config target.
Tests: 1146 tests, 100% coverage. Added tests for pyproject.toml
reading, invalid TOML fallback, non-dict type guards, env override
priority, and check_config validation scenarios.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Documentation: WARNING — source files changed but no docs updated
Tests: OK
Commit conventions: OK
No issues found by automated checks.
Auto-merge: If all CI checks pass, this PR will be merged automatically.
## Automated PR Review
- Architecture compliance: OK
- Best practices: OK
- Security: OK
- i18n: OK
- Resource management: OK
- Documentation: WARNING — source files changed but no docs updated
- Tests: OK
- Commit conventions: OK
No issues found by automated checks.
---
**Auto-merge:** If all CI checks pass, this PR will be merged automatically.
Documentation: WARNING — source files changed but no docs updated
Tests: OK
Commit conventions: OK
No issues found by automated checks.
Auto-merge: If all CI checks pass, this PR will be merged automatically.
## Automated PR Review
- Architecture compliance: OK
- Best practices: OK
- Security: OK
- i18n: OK
- Resource management: OK
- Documentation: WARNING — source files changed but no docs updated
- Tests: OK
- Commit conventions: OK
No issues found by automated checks.
---
**Auto-merge:** If all CI checks pass, this PR will be merged automatically.
emil
merged commit 91216da1a4 into master2026-06-26 15:04:12 +00:00
emil
deleted branch DEVX-61-pyproject-config-single-source-of-truth2026-06-26 15:04:13 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
config.py reads [tool.devx] from pyproject.toml (env vars override). New check_config tool. devx.mak simplified. 1146 tests, 100% coverage. Closes DEVX-61
Automated PR Review
No issues found by automated checks.
Auto-merge: If all CI checks pass, this PR will be merged automatically.
Automated PR Review
No issues found by automated checks.
Auto-merge: If all CI checks pass, this PR will be merged automatically.