Major Features Added: • Automated hook installation scripts (install-hooks.sh and setup-hooks) • User-scope installation with automatic domain configuration • 7 pre-configured hook profiles for different user types • Comprehensive documentation updates across all guides Hook Installation System: • ./setup-hooks - One-liner installation for most users • ./install-hooks.sh - Full-featured installer with profile selection • Automatic domain replacement using $DOMAIN environment variable • Settings backup and verification capabilities • Safe uninstallation with rollback support Documentation Enhancements: • Updated README.md with complete project overview and proper git repository URL • Enhanced Getting Started guide with automated hook installation • Improved Docker deployment guide with hook installation step • Reorganized documentation index with better visual hierarchy • Added repository URL: https://git.supported.systems/claude/claude-code-tracker.git Technical Improvements: • Rebuilt Docker containers with all latest changes • Verified application health and functionality • Updated all installation examples with correct repository URL • Improved quick start workflow with 3-step visual process 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
279 lines
9.0 KiB
Markdown
279 lines
9.0 KiB
Markdown
# Claude Code Project Tracker
|
|
|
|
A comprehensive development intelligence system that tracks and analyzes your coding activity when using Claude Code. Get insights into your development patterns, track sessions, monitor conversations, and analyze productivity trends.
|
|
|
|
## 🚀 Features
|
|
|
|
### 🎯 **Core Functionality**
|
|
- **Automatic Session Tracking** - Real-time monitoring of Claude Code sessions
|
|
- **Conversation History** - Complete searchable archive of your interactions
|
|
- **Project Analytics** - Detailed insights per project with timelines and statistics
|
|
- **File Upload Import** - Easy .claude.json file import with preview functionality
|
|
- **Hook Integration** - 39+ hooks for comprehensive activity tracking
|
|
|
|
### 🐳 **Deployment & Installation**
|
|
- **Docker Ready** - Production-ready containerization with Caddy integration
|
|
- **One-Click Setup** - Automated hook installation with `./setup-hooks`
|
|
- **Multiple Profiles** - 7 pre-configured hook profiles for different use cases
|
|
- **User-Scope Installation** - Safe, reversible installation process
|
|
|
|
### 📊 **Analytics & Insights**
|
|
- **Development Metrics** - Track time, sessions, and productivity trends
|
|
- **Visual Analytics** - Charts, graphs, and timeline visualizations
|
|
- **Project Intelligence** - Language detection, file activity, and code metrics
|
|
- **Conversation Search** - Full-text search through your Claude Code history
|
|
|
|
### 🔒 **Privacy & Security**
|
|
- **Local Data** - All data stays on your server, no external dependencies
|
|
- **HTTPS Support** - Secure communication with automatic SSL via Caddy
|
|
- **User Control** - Complete control over data collection and retention
|
|
|
|
## 📦 Quick Start
|
|
|
|
### Option 1: Docker Deployment (Recommended)
|
|
|
|
```bash
|
|
# 1. Clone and configure
|
|
git clone https://git.supported.systems/claude/claude-code-tracker.git claude-tracker
|
|
cd claude-tracker
|
|
cp .env.example .env
|
|
# Edit .env with your domain
|
|
|
|
# 2. Deploy with Docker
|
|
docker-compose up -d
|
|
|
|
# 3. Install hooks on your development machine
|
|
export DOMAIN=your-domain.com
|
|
./setup-hooks
|
|
|
|
# 4. Start using Claude Code!
|
|
```
|
|
|
|
### Option 2: Local Development
|
|
|
|
```bash
|
|
# 1. Install dependencies
|
|
pip install -r requirements.txt
|
|
|
|
# 2. Initialize database
|
|
python init_db.py
|
|
|
|
# 3. Start the server
|
|
python main.py
|
|
|
|
# 4. Install hooks
|
|
export DOMAIN=localhost:8000
|
|
./setup-hooks
|
|
```
|
|
|
|
## 🛠️ Installation Scripts
|
|
|
|
### Quick Setup (Most Users)
|
|
```bash
|
|
export DOMAIN=your-domain.com
|
|
./setup-hooks
|
|
```
|
|
|
|
### Advanced Installation
|
|
```bash
|
|
# List available hook profiles
|
|
./install-hooks.sh --list
|
|
|
|
# Install specific profile
|
|
./install-hooks.sh comprehensive
|
|
./install-hooks.sh developer
|
|
./install-hooks.sh basic
|
|
|
|
# Custom domain
|
|
./install-hooks.sh -d your-domain.com comprehensive
|
|
|
|
# Verify installation
|
|
./install-hooks.sh --verify
|
|
|
|
# Remove hooks
|
|
./install-hooks.sh --uninstall
|
|
```
|
|
|
|
## 📋 Hook Profiles
|
|
|
|
| Profile | Hooks | Best For | Description |
|
|
|---------|-------|----------|-------------|
|
|
| `basic` | 5 | New users | Essential session and conversation tracking |
|
|
| `essential` | 8 | Most users | Core development tracking features |
|
|
| `comprehensive` | 39+ | Complete tracking | All available hooks (recommended) |
|
|
| `developer` | 15 | Active developers | Professional development focused |
|
|
| `power_user` | 20 | Advanced users | Detailed analytics and monitoring |
|
|
| `research` | 25 | Researchers | Learning and exploration tracking |
|
|
| `team` | 18 | Teams | Collaboration and sharing features |
|
|
|
|
## 🏗️ Architecture
|
|
|
|
### Backend (FastAPI)
|
|
- **Python 3.12** with async/await support
|
|
- **SQLAlchemy 2.0** with async SQLite database
|
|
- **FastAPI** for modern, high-performance API
|
|
- **Pydantic** for data validation and serialization
|
|
|
|
### Frontend (Web Dashboard)
|
|
- **Bootstrap 5** for responsive UI components
|
|
- **Jinja2** templating with server-side rendering
|
|
- **Chart.js** for interactive visualizations
|
|
- **Real-time updates** via API polling
|
|
|
|
### Deployment
|
|
- **Docker** with multi-stage builds and uv package manager
|
|
- **Caddy** reverse proxy with automatic SSL
|
|
- **Health checks** and resource monitoring
|
|
- **Data persistence** with volume mounting
|
|
|
|
## 📖 Documentation
|
|
|
|
Complete documentation is available at `/dashboard/docs` when running the application:
|
|
|
|
- **[Getting Started Guide](./app/dashboard/templates/docs/getting-started.html)** - Setup and first steps
|
|
- **[Data Import Guide](./app/dashboard/templates/docs/data-import.html)** - File upload and import process
|
|
- **[Docker Deployment](./app/dashboard/templates/docs/docker-deployment.html)** - Production deployment
|
|
- **[Hook Setup Guide](./app/dashboard/templates/docs/hook-setup.html)** - Automated and manual hook installation
|
|
- **[Hook Reference](./app/dashboard/templates/docs/hook-reference.html)** - Complete hook documentation
|
|
- **[API Reference](./docs)** - Interactive API documentation
|
|
|
|
## 📁 Project Structure
|
|
|
|
```
|
|
claude-tracker/
|
|
├── app/
|
|
│ ├── api/ # API endpoints
|
|
│ │ ├── importer.py # Data import functionality
|
|
│ │ └── hooks.py # Hook management API
|
|
│ ├── dashboard/ # Web interface
|
|
│ │ ├── templates/ # HTML templates
|
|
│ │ ├── static/ # Static assets and hook configs
|
|
│ │ └── routes.py # Dashboard routes
|
|
│ ├── database/ # Database connection
|
|
│ ├── models/ # SQLAlchemy models
|
|
│ └── __init__.py
|
|
├── hooks/ # Hook configuration files
|
|
│ ├── claude-hooks-basic.json
|
|
│ ├── claude-hooks-comprehensive.json
|
|
│ └── ...
|
|
├── install-hooks.sh # Comprehensive hook installer
|
|
├── setup-hooks # Simple hook installer
|
|
├── docker-compose.yml # Docker deployment config
|
|
├── Dockerfile # Container definition
|
|
├── main.py # Application entry point
|
|
├── init_db.py # Database initialization
|
|
└── README.md
|
|
```
|
|
|
|
## 🔧 Configuration
|
|
|
|
### Environment Variables
|
|
|
|
| Variable | Description | Example |
|
|
|----------|-------------|---------|
|
|
| `DOMAIN` | Your tracker domain | `claude.example.com` |
|
|
| `DATABASE_URL` | Database connection string | `sqlite+aiosqlite:///./data/tracker.db` |
|
|
| `DEBUG` | Enable debug mode | `false` |
|
|
| `PYTHONPATH` | Python module path | `/app` |
|
|
|
|
### Hook Configuration
|
|
|
|
Hooks are installed to `~/.config/claude-code/settings.json` and include:
|
|
|
|
- **Session Management** - Start, end, pause, resume tracking
|
|
- **Conversation Tracking** - Message exchanges, context updates
|
|
- **File Operations** - Create, modify, delete, read operations
|
|
- **Tool Calls** - Claude Code tool usage and results
|
|
- **Performance Monitoring** - Memory, CPU, execution times
|
|
- **Code Quality** - Linting, testing, compilation events
|
|
- **Project Intelligence** - Language detection, dependencies
|
|
|
|
## 🛡️ Security & Privacy
|
|
|
|
- **Local Data Storage** - All data stays on your server
|
|
- **User-Scope Installation** - No system-wide changes required
|
|
- **Automatic Backups** - Settings preserved before modifications
|
|
- **HTTPS Enforcement** - Secure communication by default
|
|
- **Data Validation** - Input sanitization and validation
|
|
- **Error Handling** - Graceful failure and recovery
|
|
|
|
## 🧪 Development
|
|
|
|
### Running Tests
|
|
```bash
|
|
# Run the test suite
|
|
pytest tests/
|
|
|
|
# Run with coverage
|
|
pytest --cov=app tests/
|
|
```
|
|
|
|
### Local Development Setup
|
|
```bash
|
|
# Install development dependencies
|
|
pip install -r requirements-dev.txt
|
|
|
|
# Start with auto-reload
|
|
uvicorn main:app --reload --host 0.0.0.0 --port 8000
|
|
|
|
# Initialize test database
|
|
python init_db.py
|
|
```
|
|
|
|
### Database Migrations
|
|
```bash
|
|
# Create new migration
|
|
alembic revision --autogenerate -m "Description"
|
|
|
|
# Apply migrations
|
|
alembic upgrade head
|
|
```
|
|
|
|
## 📊 API Endpoints
|
|
|
|
### Core Tracking
|
|
- `POST /api/sessions/start` - Start new session
|
|
- `POST /api/sessions/end` - End session
|
|
- `POST /api/conversations` - Log conversation
|
|
- `POST /api/tool-calls` - Track tool usage
|
|
|
|
### Data Management
|
|
- `POST /api/import/claude-json` - Import from file path
|
|
- `POST /api/import/claude-json/upload` - Import via file upload
|
|
- `GET /api/import/claude-json/preview` - Preview import data
|
|
|
|
### Analytics
|
|
- `GET /api/projects` - List projects
|
|
- `GET /api/projects/{id}/stats` - Project statistics
|
|
- `GET /api/conversations/search` - Search conversations
|
|
|
|
## 🤝 Contributing
|
|
|
|
1. Fork the repository
|
|
2. Create a feature branch
|
|
3. Make your changes
|
|
4. Add tests for new functionality
|
|
5. Run the test suite
|
|
6. Submit a pull request
|
|
|
|
## 📄 License
|
|
|
|
This project is licensed under the MIT License. See LICENSE file for details.
|
|
|
|
## 🆘 Support
|
|
|
|
- **Documentation**: Visit `/dashboard/docs` in your running instance
|
|
- **Issues**: Report bugs and request features via GitHub Issues
|
|
- **Discussions**: Join community discussions for questions and ideas
|
|
|
|
## 🔄 Updates
|
|
|
|
The project is actively maintained with regular updates for:
|
|
- New Claude Code features and hooks
|
|
- Performance improvements and optimizations
|
|
- Enhanced analytics and visualizations
|
|
- Security updates and bug fixes
|
|
|
|
---
|
|
|
|
**Made with ❤️ for the Claude Code community** |