- Default branch:
main - Create focused branches from
main:feature/<short-description>fix/<short-description>security/<short-description>chore/<short-description>
- Never force-push to
main.
- This repository is currently solo-maintained.
- Pull request approvals are intentionally not required on
main. - If the repo becomes multi-maintainer, we will re-enable required PR reviews and introduce
CODEOWNERSfor path-based ownership. - Merges are still gated by required CI status checks, strict up-to-date requirements, and conversation resolution.
- Use PRs for all changes; do not bypass branch protection with direct pushes.
- Squash merges only (
mergeandrebasemerges are disabled). - Linear history is required on
main. - Branches are auto-deleted after merge.
- Force-pushes and branch deletion are disabled on
main.
- Canonical CLI entrypoint is
nextlevelapex.main2(script:poetry run nlx). nextlevelapex.mainis maintained only as a compatibility shim for legacypython -musage.
Use small, reviewable commits with clear intent. Conventional Commit style is preferred:
feat: ...fix: ...security: ...docs: ...ci: ...chore: ...
poetry installpoetry run ruff check .
poetry run black --check .
poetry run isort --check-only .
poetry run mypy .
poetry run pytest -qIf you change security-sensitive code paths (install-sudoers, remediation execution, task discovery, state/report writes), add or update tests in tests/core/.
- CI enforces a conservative baseline floor with
coverage report --fail-under=40. codecov.ymlcurrently usestarget: autofor project/patch andif_not_found: successfor patch status.- Reason: bootstrap period while establishing a stable base commit coverage history on Codecov.
- Revisit owner/timing: release manager must tighten thresholds and restore fully blocking static targets on the first release after baseline coverage is available on
main.
Each PR should include:
- Clear summary of what changed and why
- Risk assessment and rollback notes
- Security impact notes (if any)
- Test evidence (exact commands + outcomes)
- No secrets or local artifacts added
- No trust-boundary expansion without explicit rationale
- Least-privilege behavior preserved
- Documentation updated when behavior changes
- CI passes
Do not open public issues for suspected vulnerabilities.
Use the guidance in SECURITY.md.