This file provides the entry point for AI agents (Claude Code, etc.) working on the CCV repository.
Quick Start: Run ./scripts/init.sh to set up the development environment.
CCV is a C++ computer vision library with zero third-party dependencies in core logic.
Requirements:
- C++17 or higher (set in CMakeLists.txt)
- Python 3.10 or higher (for Python bindings)
Key Principles:
- Core algorithms have no dependencies (no OpenCV/Eigen/PCL in core)
- Uses
FLOATmacro for single/double precision toggle - All code in
cgnamespace - Google C++ Style, 120 column limit
- Orient: Read
CLAUDE.md, checktasks/todo.jsonfor open tasks - Setup: Run
./scripts/init.shto verify environment - Verify Baseline: Run
./scripts/test.shto ensure tests pass - Select One Task: Pick highest priority item from
tasks/todo.json - Implement: Make changes following coding standards
- Test: Run
./scripts/check.shfor full validation - Update State: Mark task complete in
tasks/todo.json, commit - Clean Exit: Confirm build and tests pass
| Directory | Purpose |
|---|---|
CLAUDE.md |
Detailed development guide |
CONTRIBUTING.md |
Coding standards and contribution guidelines |
tasks/ |
Task tracking and progress notes |
scripts/ |
Development automation scripts |
include/ccv/ |
Public headers (cv/, maths/, kd/) |
src/ |
Implementation files |
unit_test/ |
GTest-based unit tests |
python/ |
Python package (PyPI: libccv) |
docs/ |
MkDocs documentation |
# Check project status (run this first!)
./scripts/status.sh
# Initialize environment
./scripts/init.sh
# Build the project
./scripts/build.sh
# Run all tests
./scripts/test.sh
# Full check (format, build, test)
./scripts/check.sh
# Format code
./scripts/format.sh
# Clean build artifacts
./scripts/clean.sh- Active tasks:
tasks/todo.json - Completed tasks:
tasks/done.json - Progress notes:
tasks/progress.md
- One task per session - Don't start multiple features
- Test before commit - All tests must pass
- Format before commit - Run
./scripts/format.sh - Commit descriptively - Clear commit messages
- Update AGENTS.md - If you discover new patterns
# If build is broken
git status # Check current state
git diff # Review changes
./scripts/clean.sh # Clean build artifacts
./scripts/init.sh # Re-initialize
./scripts/test.sh # Verify baselineGitHub Actions workflows:
ci.yml- Build and test on Linux/macOSdocs.yml- Deploy MkDocs to GitHub Pages
# If build is broken
git status # Check current state
git diff # Review changes
./scripts/clean.sh # Clean build artifacts
./scripts/init.sh # Re-initialize
./scripts/test.sh # Verify baseline
# If tests fail after changes
git log --oneline -5 # Check recent commits
git bisect start # Find bad commitFor detailed information, see CLAUDE.md