This document contains instructions for AI agents working on this project.
- DO NOT add "Co-Authored-By: Claude" or similar attribution in commit messages
- Write clear, concise commit messages following conventional commits format
- Focus on the "why" not the "what" in commit messages
Whenever you perform a version bump or complete a major feature set, you MUST create or update a markdown file in the changelogs/ directory:
- Path:
changelogs/v<VERSION>.md(e.g.,changelogs/v0.2.3.md) - Content: A summary of Features, Improvements, and Bug Fixes.
- Purpose: These notes are automatically included in the GitHub Release via CI.
DO NOT create these types of files:
- Implementation summaries (e.g.,
IMPLEMENTATION_*.md,*_IMPLEMENTATION.md) - Detailed status reports or progress documentation
- Step-by-step completion logs or checklists as markdown files
- Testing guides as separate files
Use NOTES.md for temporary content:
- Implementation notes while working on a feature
- Quick testing checklists
- Work-in-progress documentation
- Clean up regularly when work is complete
Keep documentation minimal and in existing files:
- The codebase itself is the source of truth
- Update existing docs (README.md, CLAUDE.md, features.md, tech-architecture.md) when needed
- Use inline code comments for complex logic
- Use commit messages for change history
Codelane is an AI orchestrator for local development. It's a desktop application built with:
- Frontend: SolidJS + TypeScript + Vite
- Backend: Rust + Tauri 2.x
- Styling: Tailwind CSS
-
Security First
- Follow Tauri security best practices
- Minimize permissions (principle of least privilege)
- Strict CSP configuration
- No external CDN dependencies
-
Performance
- Optimize for desktop (not web)
- Target modern browsers (ES2021+)
- Fast HMR and build times
- Efficient memory usage
-
Developer Experience
- Simple setup (just
pnpm install) - Clear error messages
- Fast iteration cycle
- Good TypeScript types
- Simple setup (just
- Use pnpm for all package management
- Use Makefile for common commands
- Follow workspace structure (frontend/ for UI, src-tauri/ for backend)
- Keep frontend and backend concerns separated
- Use functional components
- Prefer signals over stores for local state
- Use TypeScript strict mode
- Follow SolidJS conventions
- Use workspace for shared crates
- Follow Rust idioms and conventions
- Prefer type safety over convenience
- Use thiserror for errors
- Test Tauri commands independently
- Test UI components in isolation
- Integration tests for critical flows
See TAURI_BEST_PRACTICES.md for detailed Tauri-specific guidelines.
See CLAUDE.md for project conventions and patterns.