npm run build:css: Build CSS files from TailwindCSSnpm run build:js: Bundle JavaScript with esbuildnpm run dev: Start development server with file watchingnpm run test: Run Django testsnpm run lint: Run pyright type checkingnpm run format: Format code with ruff and blacknpm run provision: Setup project on a new servernpm run deploy: Update project on an existing server- Use
uvinstead of pip for Python package management - To run python tests for a specific module use:
nom run test path.to.module
- Use TailwindCSS for components
- Follow Google style docstrings for Python code
- Follow Material Design 3 guidelines for component styling
- Use uv to run python
- Component-specific styling guidelines are in
material/templates/cotton/CLAUDE.md
Detailed component development guidelines are documented in material/templates/cotton/CLAUDE.md.
- Module docstrings: 1-2 lines explaining core purpose/function
- Class docstrings: Single line explaining role/responsibility
- Method docstrings: Brief description of function and parameters
- Inline comments: Only for non-obvious code or key functionality
- Use concise language, avoid excessive verbosity
- For form renderers, document template context variables
- Place components in material/templates/cotton/{component_type}/
- Demo code in demo/ directory:
- demo/templates/demo/index.html - Main landing page
- Dedicated pages for each component category (buttons.html, cards.html, etc.)
- Each demo page should have consistent navigation
- Component development guidelines are in
material/templates/cotton/CLAUDE.md
- Component design principles and naming conventions are detailed in
material/templates/cotton/CLAUDE.md
- To commit, always use this exact format with
--authorflag:git commit --author="Claude AI <claude@anthropic.com>" -m "Commit message" - IMPORTANT:
- The
--author="Claude AI <claude@anthropic.com>"flag MUST be included exactly as shown - This is required for GitHub to properly attribute commits to Claude
- DO NOT use Co-Authored-By trailers instead of
--author, as they don't change the commit author
- The
- All feature/fix commits should be done under Claude's name
- Run
npm run build:cssbefore committing CSS changes - Update _dumb.html component when using new implicit {{ color }} class names in components