π Documentation | π Report Bug | β¨ Request Feature | π€ Claude Code Setup
- π― Modern Python: Built for Python 3.12+ with latest language features
- π¦ uv Package Manager: Lightning-fast dependency management
- π§ Developer Tools: Pre-configured with Ruff, Pyright, and pre-commit
- π€ AI-First Development: Optimized for Claude Code workflows
- β Comprehensive Testing: Pytest with coverage, parallel execution, and benchmarking
- π Security First: Integrated security scanning with Trivy and Bandit
- π CI/CD Pipeline: Advanced GitHub Actions with reusable workflows
- π Type Safety: Full type annotations with strict checking
- π¨ Code Quality: 15+ pre-commit hooks for consistent code
- π Auto Updates: Renovate bot for dependency management
# Clone the repository
git clone https://github.com/okotaku/template.git
cd template
# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install dependencies
uv sync --all-extras
# Run the CLI
uv run template --name "Your Name"
# Run tests
uv run pytest- Python 3.12 or higher
- uv package manager (recommended) or pip
macOS and Linux
curl -LsSf https://astral.sh/uv/install.sh | shWindows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Using pip
pip install uv-
Clone the repository
git clone https://github.com/okotaku/template.git cd template -
Install dependencies
uv sync --all-extras
-
Install pre-commit hooks
uv run pre-commit install
-
Verify installation
uv run template --version
The template provides a simple CLI for demonstration:
# Show help
uv run template --help
# Basic greeting
uv run template
# Personalized greeting
uv run template --name Alice
# Verbose output
uv run template --verboseimport modules
# Get version
print(modules.__version__)
# Use functions
print(modules.hello())
print(modules.greet("World"))# Run all tests
uv run pytest
# Run with coverage
uv run pytest --cov
# Run in parallel
uv run pytest -n auto
# Run specific test file
uv run pytest tests/test_basic.py
# Run with verbose output
uv run pytest -v# Run all pre-commit hooks
uv run pre-commit run --all-files
# Run specific hooks
uv run ruff check . --fix
uv run ruff format .
uv run pyright modules
# Check types
uv run pyright modules tests# View changelog
cat CHANGELOG.md
# View comprehensive development guide
cat CLAUDE.md
# View project structure
ls -latemplate/
βββ modules/ # Source code
β βββ __init__.py # Package exports
β βββ cli.py # CLI implementation
β βββ version.py # Version management
β βββ py.typed # Type marker file
βββ tests/ # Test suite
β βββ test_basic.py # Basic tests
β βββ test_cli.py # CLI tests
βββ .github/ # GitHub configuration
β βββ workflows/ # CI/CD pipelines
β βββ actions/ # Reusable actions
β βββ *.yml # Various configs
βββ pyproject.toml # Project metadata
βββ uv.lock # Locked dependencies
βββ .pre-commit-config.yaml # Pre-commit hooks
βββ CLAUDE.md # Claude Code config
βββ README.md # This file
This project uses an AI-first development approach. Claude Code handles primary development while humans provide guidance and review. See CLAUDE.md for comprehensive development guidelines and AI-assisted workflows.
- Fork the repository
- Create a feature branch (
git checkout -b feat/amazing-feature) - Make your changes
- Run tests and linting (
uv run pre-commit run --all-files) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feat/amazing-feature) - Open a Pull Request
We use Conventional Commits:
feat:New featuresfix:Bug fixesdocs:Documentation changesstyle:Code style changesrefactor:Code refactoringtest:Test additions or modificationschore:Maintenance tasks
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with uv for fast package management
- Linted with Ruff for lightning-fast code quality
- Type-checked with Pyright for robust type safety
- Tested with Pytest for comprehensive test coverage
- Automated with GitHub Actions for CI/CD
- Optimized for Claude Code development
Made with β€οΈ by okotaku