mirror of https://github.com/buster-so/buster.git
1.5 KiB
1.5 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Build Commands
- Build:
cargo build
- Release build:
cargo build --release
- Run tests:
cargo test
- Run specific test:
cargo test test_name
- Run tests in file:
cargo test --test filename
- Run package tests:
cargo test -p <package_name>
- Format:
cargo fmt
- Lint:
cargo clippy
Code Style Guidelines
- Imports: Group by std, external crates, internal modules; alphabetical order
- Formatting: 4-space indentation (standard Rust)
- Error Handling: Use
thiserror
for error types,anyhow
for general propagation - Naming: Follow Rust conventions (
snake_case
for variables/functions,PascalCase
for types) - Types: Define custom error types with descriptive messages
- Dependencies: Use workspace dependencies with
{ workspace = true }
- Testing: Place in separate
/tests
directory; usetempfile
for test directories - Never log secrets or sensitive data
Project Info
- CLI for managing semantic models in Buster
- Uses semantic versioning (PR title conventions for bumps)
- Major: PR title with "BREAKING CHANGE" or "major", or PR with "major" label
- Minor: PR title with "feat", "feature", or "minor", or PR with "minor" label
- Patch: Default for all other PRs
- Cross-project references supported
- Config defined in
buster.yml
- File and tag exclusions for deployment
- Row limit of 5000 is enforced for database queries by default