CLAUDE.md Template: Angular Material + FastAPI CRUD App Starter
CLAUDE.md Template for a full-stack Angular Material + FastAPI CRUD app with a copyable Claude Code starter.
Target User
Full-stack developers building an Angular Material frontend with a FastAPI backend
Use Cases
- Scaffold a production-ready Angular Material + FastAPI CRUD app
- Provide a copyable Claude Code starter for CLAUDE.md
Markdown Template
CLAUDE.md Template: Angular Material + FastAPI CRUD App Starter
# CLAUDE.md
Project role: You are a senior frontend-backend architect tasked with generating a complete, production-ready Angular Material + FastAPI CRUD application scaffold. Provide a clean, secure, and testable Claude Code starter that a developer can paste directly into CLAUDE.md to reproduce the stack.
Architecture rules:
- Frontend: Angular 15+ with Angular Material components
- Backend: FastAPI with SQLAlchemy (PostgreSQL) and Alembic migrations
- Communication: REST over HTTPS; use JWT for authentication
- Database: PostgreSQL; separate read/write databases if scaling is needed; migrations via Alembic
- Deployment: Dockerized frontend and backend behind a reverse proxy
- Observability: add basic logging and structured error responses
- Do not couple backend models to frontend UI details
File structure rules:
- frontend/
- src/
- app/
- core/
- features/
- shared/
- components/
- services/
- angular.json
- package.json
- tsconfig.json
- backend/
- app/
- api/
- models/
- routes/
- core/
- schemas/
- alembic/
- requirements.txt
- Dockerfile.backend
- shared/
- common/
- dto/
- constants/
Authentication rules:
- JWT Bearer tokens; use OAuth2PasswordBearer for token endpoints
- Passwords hashed with Argon2 or bcrypt; never store plain passwords
- Use refresh tokens with short lifetimes and rotation
- Do not send tokens in URL query parameters
Database rules:
- PostgreSQL as primary database
- SQLAlchemy ORM models with proper relationships
- Alembic migrations; seed data in a separate migration if needed
- Use UUID as primary keys when possible
Validation rules:
- Pydantic models for request/response validation
- Validate all inputs; return 422 on invalid data
- Ensure numeric ranges for CRUD operations (e.g., pagination limits)
Security rules:
- Use HTTPS in all environments
- Enable CORS for the SPA domain only
- Do not expose raw database connection strings; use environment variables
- Do not enable insecure endpoints in production
Testing rules:
- Backend: pytest + httpx.AsyncClient for endpoints
- Frontend: Cypress or Playwright for UI flows
- Include unit tests for CRUD operations and authentication
- Include integration tests for API models and schemas
Deployment rules:
- Docker Compose with frontend and backend services
- Backend runs with uvicorn; frontend served by Nginx or static hosting
- Use environment-specific .env files and secret management
Things Claude must not do:
- Do not generate code that uses localStorage for tokens
- Do not hard-code secrets in CLAUDE.md
- Do not use deprecated libraries or insecure crypto
- Do not bypass authentication or authorization checksOverview
The CLAUDE.md template for Angular Material + FastAPI CRUD App is a copyable Claude Code starter that helps you scaffold a secure, testable, full-stack application. It covers an Angular Material SPA frontend and a FastAPI backend with PostgreSQL, JWT authentication, and a clean project structure.
Direct answer: Use this CLAUDE.md Template to reproduce a production-ready full-stack Angular Material + FastAPI CRUD app with a Claude Code block you can paste into CLAUDE.md.
When to Use This CLAUDE.md Template
- You need a ready-to-use Claude Code starter for an Angular Material + FastAPI CRUD app.
- You want explicit rules for architecture, file structure, and security to prevent drift.
- You require a repeatable blueprint for containerized frontend and backend deployment.
Copyable CLAUDE.md Template
# CLAUDE.md
Project role: You are a senior frontend-backend architect tasked with generating a complete, production-ready Angular Material + FastAPI CRUD application scaffold. Provide a clean, secure, and testable Claude Code starter that a developer can paste directly into CLAUDE.md to reproduce the stack.
Architecture rules:
- Frontend: Angular 15+ with Angular Material components
- Backend: FastAPI with SQLAlchemy (PostgreSQL) and Alembic migrations
- Communication: REST over HTTPS; use JWT for authentication
- Database: PostgreSQL; separate read/write databases if scaling is needed; migrations via Alembic
- Deployment: Dockerized frontend and backend behind a reverse proxy
- Observability: add basic logging and structured error responses
- Do not couple backend models to frontend UI details
File structure rules:
- frontend/
- src/
- app/
- core/
- features/
- shared/
- components/
- services/
- angular.json
- package.json
- tsconfig.json
- backend/
- app/
- api/
- models/
- routes/
- core/
- schemas/
- alembic/
- requirements.txt
- Dockerfile.backend
- shared/
- common/
- dto/
- constants/
Authentication rules:
- JWT Bearer tokens; use OAuth2PasswordBearer for token endpoints
- Passwords hashed with Argon2 or bcrypt; never store plain passwords
- Use refresh tokens with short lifetimes and rotation
- Do not send tokens in URL query parameters
Database rules:
- PostgreSQL as primary database
- SQLAlchemy ORM models with proper relationships
- Alembic migrations; seed data in a separate migration if needed
- Use UUID as primary keys when possible
Validation rules:
- Pydantic models for request/response validation
- Validate all inputs; return 422 on invalid data
- Ensure numeric ranges for CRUD operations (e.g., pagination limits)
Security rules:
- Use HTTPS in all environments
- Enable CORS for the SPA domain only
- Do not expose raw database connection strings; use environment variables
- Do not enable insecure endpoints in production
Testing rules:
- Backend: pytest + httpx.AsyncClient for endpoints
- Frontend: Cypress or Playwright for UI flows
- Include unit tests for CRUD operations and authentication
- Include integration tests for API models and schemas
Deployment rules:
- Docker Compose with frontend and backend services
- Backend runs with uvicorn; frontend served by Nginx or static hosting
- Use environment-specific .env files and secret management
Things Claude must not do:
- Do not generate code that uses localStorage for tokens
- Do not hard-code secrets in CLAUDE.md
- Do not use deprecated libraries or insecure crypto
- Do not bypass authentication or authorization checks
Recommended Project Structure
frontend/
src/
app/
core/
features/
shared/
components/
angular.json
package.json
tsconfig.json
backend/
app/
api/
models/
routes/
core/
schemas/
alembic/
requirements.txt
Dockerfile.backend
docker-compose.yml
Core Engineering Principles
- Clear separation of concerns between frontend and backend.
- Type-safe boundaries with explicit schemas for requests and responses.
- Idempotent, well-documented API endpoints for CRUD resources.
- Strong validation, error handling, logging, and observability basics.
- Accessible UI with Angular Material components and responsive design.
Code Construction Rules
- Frontend uses Angular Material components with proper theming and accessibility attributes.
- Backend endpoints follow REST conventions for CRUD on the resource (GET, POST, PUT, DELETE).
- Models use SQLAlchemy ORM; Pydantic models validate request payloads.
- Environment-driven configuration; no secrets in code.
- Respect the project structure rules; avoid coupling between frontend and backend code paths.
- Do not import/disclose database credentials in source files.
Security and Production Rules
- Enforce HTTPS in all environments; use reverse proxy SSL termination.
- CORS allowed origins limited to the SPA domain.
- JWT tokens must be validated and rotated; refresh tokens with short lifetimes.
- Audit logs for sensitive actions; avoid leaking PII in error messages.
Testing Checklist
- Backend: unit tests for models, schemas, and CRUD endpoints.
- Backend: integration tests with test database (PostgreSQL) and migrations.
- Frontend: unit tests for components and services.
- Frontend: end-to-end tests for login, CRUD flows, and navigation.
- CI: run tests, linting, and type checks on push.
Common Mistakes to Avoid
- Placing business logic in UI components instead of services.
- Ignoring input validation and trusting client-side validation only.
- Reusing auth tokens insecurely or exposing tokens in logs.
- Skipping migrations; evolving the schema only by manual changes.
Related implementation resources: AI Use Case for Software Agencies Using Github Copilot To Accelerate Boilerplate Code Generation for New Client Mvps and How skill files guide dependency choices for production AI workflows.
FAQ
What is this CLAUDE.md Template for?
A copyable Claude Code starter to scaffold an Angular Material + FastAPI CRUD app.
Which stack does this template target?
Angular Material frontend with a FastAPI backend and PostgreSQL database.
How do I use the Copyable CLAUDE.md Template?
Paste the code block from the Copyable CLAUDE.md Template section into CLAUDE.md and customize paths, endpoints, and environment settings.
Can I adapt to other stacks?
Yes. Update the technologies, models, and endpoints while preserving the structure and Claude Code rules.
How do I deploy?
Use Docker Compose to run frontend and backend services behind a reverse proxy; configure env vars securely.