Standalone development workflow CLI for Python projects
Project description
ai-dev-cli
What it is
ai-dev-cli is the executable contract between AI agents and the team's Python coding standards. One CLI (dev),
three-tier policy (in-package bedrock, profile-copied defaults, project extras), hook-enforced.
Install
Python 3.14+ is required.
pip install ai-dev-cli
Quick start
Write a profile to the project:
dev init
Show resolved config, lanes, and hooks:
dev info
Run unit tests:
dev test --lane=unit
Run the full quality pipeline:
dev check
Subcommand inventory
Always available
info: Shows resolved config, lanes, checks, hook entrypoint, hook config, and infrastructure status.status: Shows changed files, affected scopes, prior runs, and the suggested next validation command.format: Runs Ruff format and Ruff auto-fix, or checks formatting with--check.lint: Runs Ruff check plus Ruff format check;--fixdelegates toformat.typecheck: Runs basedpyright, pyright, or mypy through the resolved project runner.test: Runs scoped tests or a configured lane, with testmon, xdist, logs, and rerun-failed handling.check: Runs hard bedrock checks first, then the resolved project quality pipeline.
deadcode, semgrep, docstrings, and test-validator are check-pipeline step names, not subcommands.
Run them through dev check or dev check --steps <name>.
Config-gated
verify: Runs the configured validation sequence when[tool.dev-cli.verify].enabled = true.benchmark: Runs configured benchmark smoke, case, or tier targets when benchmark config is enabled.examples: Runs configured static, smoke, or live example checks when examples config is enabled.probe: Runs a named configured probe target and forwards trailing pytest arguments verbatim.
Scaffolding
init: Copies the selected profile into the project and wires quality surfaces todev.init --upgrade --plan/--apply/--recover: Plans, applies, or recovers profile migration work.
Profiles
minimal: Smallest useful[tool.dev-cli]shape, lanes, hook wiring, and delegation surfaces.strict-python: Strict Python defaults for Ruff, basedpyright, interrogate, Vulture, lanes, and starter Semgrep.agent: Strict Python profile plus explicit agent-oriented lane permissions.
Downstream projects bring their own framework-specific profile, such as an ai-pipeline-core profile; none ship in
ai-dev-cli.
Hook
python -m ai_dev_cli.hook is the canonical hook entry point. dev init wires it into both
.claude/settings.json and .codex/config.toml. The hook blocks raw pytest/ruff/pyright/mypy, dangerous
dev modes, and other bypass shapes.
Runtime trust onboarding (for agents)
Agents reading this should treat dev as the single canonical surface. Raw quality tools are blocked at the hook for
a reason; use dev <subcommand> exclusively, and consult dev info for the resolved config.
Standards (bedrock)
- Python 3.14+.
- Line length 120.
- Ruff strict set.
- basedpyright strict.
- Frozen Pydantic V2 for cross-boundary carriers.
- Async-only public I/O.
- No
__import__(). - No
warnings.warn(... DeprecationWarning). - Module-scoped replayable classes.
- Docstring coverage 100%.
- Vulture min-confidence 80.
Reporting bugs / contributing
Open a GitHub issue. PRs welcome. CI runs dev check + dev test --lane=unit +
dev test --lane=integration on every push.
License
See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai_dev_cli-0.2.0.tar.gz.
File metadata
- Download URL: ai_dev_cli-0.2.0.tar.gz
- Upload date:
- Size: 77.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24b7ec243df0b21b93b8115c5b301998d2126c891dcd49dd8992d889b3100e4c
|
|
| MD5 |
4835624dea27aaba20a06856a59fe9d3
|
|
| BLAKE2b-256 |
8c490a3ecc899ed0f4748722c92221193bf62c7673f15ae5bc12c2648d80c149
|
Provenance
The following attestation bundles were made for ai_dev_cli-0.2.0.tar.gz:
Publisher:
release.yml on researchtech-inc/ai-dev-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai_dev_cli-0.2.0.tar.gz -
Subject digest:
24b7ec243df0b21b93b8115c5b301998d2126c891dcd49dd8992d889b3100e4c - Sigstore transparency entry: 1602078019
- Sigstore integration time:
-
Permalink:
researchtech-inc/ai-dev-cli@d045cf60a8eaddb207ce06600e994384a0b45f2d -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/researchtech-inc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d045cf60a8eaddb207ce06600e994384a0b45f2d -
Trigger Event:
push
-
Statement type:
File details
Details for the file ai_dev_cli-0.2.0-py3-none-any.whl.
File metadata
- Download URL: ai_dev_cli-0.2.0-py3-none-any.whl
- Upload date:
- Size: 84.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9084940c6920ddd23979ad77c5966e2283760afe0e2a53e7278a117c5debd0b8
|
|
| MD5 |
1172d238e1cc3f0ff4eb3f3cde43f883
|
|
| BLAKE2b-256 |
3b27a2819eac937898919abcd000c39f3a07a38fedd6cb9389e57601d61d14d0
|
Provenance
The following attestation bundles were made for ai_dev_cli-0.2.0-py3-none-any.whl:
Publisher:
release.yml on researchtech-inc/ai-dev-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai_dev_cli-0.2.0-py3-none-any.whl -
Subject digest:
9084940c6920ddd23979ad77c5966e2283760afe0e2a53e7278a117c5debd0b8 - Sigstore transparency entry: 1602078022
- Sigstore integration time:
-
Permalink:
researchtech-inc/ai-dev-cli@d045cf60a8eaddb207ce06600e994384a0b45f2d -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/researchtech-inc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d045cf60a8eaddb207ce06600e994384a0b45f2d -
Trigger Event:
push
-
Statement type: