Skip to content

Commit 71c734b

Browse files
committed
docs: add CLAUDE.md detailing build, test, style, and project conventions for apcore-cli-python.
1 parent 992980e commit 71c734b

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

CLAUDE.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# CLAUDE.md — apcore-cli-python
2+
3+
## Build & Test
4+
5+
- `pytest` — run all tests. **Must pass before considering any task complete.**
6+
- `pytest --cov` — run with coverage report.
7+
- `ruff check .` — lint check.
8+
- `ruff format .` — format all code. **Run after every code change.**
9+
10+
## Code Style
11+
12+
- Python 3.11+ with `from __future__ import annotations`.
13+
- All code must pass `ruff check` and `ruff format --check`.
14+
- Type annotations on all public function signatures.
15+
- Use `click.echo()` for user-facing output, `logger.*` for debug/diagnostic output.
16+
- Prefer `sys.exit(code)` with exit code constants over raising exceptions for CLI errors.
17+
18+
## Project Conventions
19+
20+
- Spec repo (single source of truth): `../apcore-cli/docs/`
21+
- Package structure: `src/apcore_cli/` with `__init__.py` exporting `__version__` only.
22+
- Entry point: `apcore_cli.__main__:main`.
23+
- Security modules live in `src/apcore_cli/security/` sub-package.
24+
- ConfigResolver.DEFAULTS values are Python-typed (str, int, bool).
25+
- Tests organized by module: `tests/test_<module>.py`, security tests in `tests/test_security/`.
26+
27+
## Environment
28+
29+
- Python >= 3.11
30+
- Key dependencies: click >= 8.0, rich >= 13.0, jsonschema >= 4.0, pyyaml >= 6.0

0 commit comments

Comments
 (0)