Claude Code entrypoint for agent instructions in this repository.
- Prefer concise updates with clear file/command references.
- YouTrack MCP must be configured (see DEVELOPMENT.md). Use get_issue / update_issue tools.
- Pacing rule: pause for user confirmation between phases (plan ->
implement -> validate -> commit -> PR). Small, safe actions within a phase
do not require a pause.
- Exception -- autosteer mode: skip all inter-phase confirmations. Stop only on quality-gate failures.
- No sycophantic openers ("Sure!", "Great question!", "Absolutely!") -- lead with the answer.
- No hollow closings ("Let me know if you need anything!", "I hope this helps!").
- No restating the user's prompt -- execute immediately.
- No unsolicited suggestions or scope creep -- answer exact scope only.
- No redundant file reads -- read each file once per session unless changed.
- No unnecessary disclaimers unless there is a genuine safety risk.
- When corrected, apply the correction as ground truth -- no "You're absolutely right" preamble.
- Code first, explanation after -- only if non-obvious. No inline prose in code blocks.
- Simplest working solution. No abstractions for single-use operations.
- ASCII-only output: plain hyphens, straight quotes. Copy-paste safe.
docs/architecture.mddocs/python-coding-guidelines.mddocs/testing-strategy.md
- Applies to the full repository rooted at
.. - Main code lives in
src/databao_cli/. - This is a Python CLI tool for interacting with the Databao Agent and
Databao Context Engine. Published on PyPI as
databao. - CLI entry point:
databaocommand (Click-based).
- Dependency management:
pyproject.toml+uv - Build backend:
hatchling+uv-dynamic-versioning(git tags) - Dev tools:
ruff,mypy,pytest,pre-commit - Unit tests in
tests/
Key directories:
src/databao_cli/commands/: CLI command implementations (init,ask,build,status,app,mcp,datasource/)src/databao_cli/ui/: Streamlit web UI (pages, components, services, models)src/databao_cli/mcp/: Model Context Protocol server and toolssrc/databao_cli/project/: project layout and managementsrc/databao_cli/log/: logging configuration and LLM error handlingexamples/: example projects (e.g.,demo-snowflake-project)
- Python version: see
requires-pythoninpyproject.toml. - Install deps:
uv sync --dev - Run commands with
uv run
- Setup:
make setup - Lint + type-check:
make check - Unit tests:
make test - Single test:
uv run pytest tests/test_foo.py::test_bar -v - Coverage check:
make test-cov-check(fails if below 80%) - Coverage report:
make test-cov(HTML inhtmlcov/) - Skill validation:
make lint-skills
These three gates are blocking before any commit. Skills reference this section instead of repeating the commands.
make check-- runspre-commit run --all-files(ruff, mypy, uv lock, agent guidance validation). Auto-fix ruff withuv run ruff check --fix . && uv run ruff format ., then re-run.make test-- pytest. Fix failures before continuing.make test-cov-check-- coverage threshold. Write tests if below 80%.
Style enforced by ruff + mypy. Use ruff check --fix and ruff format to auto-fix.
- Type hints on public APIs; strict mypy enabled.
- Validate config/args early; raise specific exceptions.
- Use
loggingfor runtime;printonly for tiny utilities. - CLI framework is Click.
- Minimal, focused edits over broad rewrites.
- Update tests when changing commands, protocols, or behavior.
- Update
README.mdif command examples or workflows change. - Run
make test-cov-checkafter changingsrc/databao_cli/. If existing tests break, fix production code -- do not weaken tests. - Run
make lint-skillsafter modifying agent guidance files.
- Use
make-yt-issueskill to verify or create a ticket before starting work. - Read ticket with
get_issueto understand scope before coding. - Move to Develop on start (
update_issue, setState). - Move to Review after PR, comment with PR URL and session cost (
/cost). - If YouTrack MCP unavailable, refer user to
DEVELOPMENT.md.
- Format:
[DBA-XXX] <imperative summary>(max 72 chars) - Imperative mood, lowercase after prefix:
[DBA-123] fix auth timeout - No trailing period. Body explains why, not what. Wrap at 72 chars.
- No ticket? Omit the prefix.
Each step is a phase -- pause for confirmation between phases (except in autosteer mode).
- Plan -- outline approach and files to change.
- Implement -- code + tests. Run
make test. - Validate -- run quality gates (see above). Fix failures.
- Review -- run
local-code-reviewandreview-architectureskills in parallel (forked context). - Branch & commit --
create-branchskill, then commit per Commit Messages. - PR --
create-prskill. - Update YouTrack -- move to Review, comment with PR URL + session cost (
/cost).
Never commit directly to main.