Initial commit
This commit is contained in:
69
{{cookiecutter.project_slug}}/CLAUDE.md
Normal file
69
{{cookiecutter.project_slug}}/CLAUDE.md
Normal file
@@ -0,0 +1,69 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## Project Overview
|
||||
|
||||
`{{ cookiecutter.project_slug }}` is a Python library for {{ cookiecutter.description.lower() }}.
|
||||
|
||||
## Development Commands
|
||||
|
||||
### Setup
|
||||
```bash
|
||||
uv sync
|
||||
```
|
||||
|
||||
### Code Quality
|
||||
- **Linting and formatting**: `uv run ruff check --fix` and `uv run ruff format`
|
||||
- **Type checking**: `uv run mypy .`
|
||||
- **Combined linting**: `uv run invoke lint` (runs ruff check, ruff format --check, and mypy)
|
||||
|
||||
### Testing
|
||||
- **Run tests**: `uv run pytest`
|
||||
- **Run tests with coverage**: `uv run invoke test`
|
||||
|
||||
### Maintenance
|
||||
- **Clean untracked files**: `uv run invoke clean` (interactive)
|
||||
- **Version bumping**: `uv run bump-my-version bump [patch|minor|major]`
|
||||
|
||||
## Code Architecture
|
||||
|
||||
### Core Components (`src/{{ cookiecutter.package_name }}/core.py`)
|
||||
|
||||
The library implements the main functionality in the core module. Update this section with:
|
||||
|
||||
1. **Key Classes**: Describe main classes and their responsibilities
|
||||
2. **Core Functions**: Document important functions and their purpose
|
||||
3. **Data Flow**: Explain how data flows through the system
|
||||
4. **Dependencies**: List and explain key dependencies
|
||||
|
||||
### Project Structure
|
||||
|
||||
```
|
||||
src/{{ cookiecutter.package_name }}/
|
||||
├── __init__.py # Package initialization
|
||||
├── core.py # Main functionality
|
||||
└── py.typed # Type hints marker
|
||||
|
||||
examples/
|
||||
└── basic_usage.py # Usage examples
|
||||
|
||||
tests/
|
||||
└── test_{{ cookiecutter.package_name }}.py # Test suite
|
||||
```
|
||||
|
||||
## Development Notes
|
||||
|
||||
- Uses Python {{ cookiecutter.python_version }}+ with modern type hints (PEP 604)
|
||||
- Configured with ruff for linting/formatting and mypy for type checking
|
||||
- Built with uv for dependency management
|
||||
- Includes invoke tasks for common operations
|
||||
- Version {{ cookiecutter.version }} ({{ cookiecutter.year }})
|
||||
|
||||
## Implementation Guidelines
|
||||
|
||||
- Follow test-driven development practices
|
||||
- Use descriptive function names and one-liner docstrings for non-trivial functions
|
||||
- Keep files between 300–500 lines where possible
|
||||
- Don't duplicate code; build upon existing implementations
|
||||
- Always use type hints as supported by Python {{ cookiecutter.python_version }}+
|
||||
Reference in New Issue
Block a user