Cline rules
.clinerules/architecture.mdCline rules
Quality
54/100
Scores the file, not the repository.Length
360 words
15 headings · 5 code blocksRepository
0
— · pushed 25 days agoLast changed
2 days ago
First indexed 2 days ago.1# Architecture23## Layered Architecture Pattern45```6┌─────────────────────────────────────┐7│ API Layer (Routers) │ ← HTTP Request/Response8│ backend/app/api/routers/ │ ← Pydantic validation9└─────────────────────────────────────┘10 ↓11┌─────────────────────────────────────┐12│ Service Layer │ ← Business logic13│ backend/app/services/ │ ← Authentication14└─────────────────────────────────────┘ ← Achievements15 ↓16┌─────────────────────────────────────┐17│ Repository Layer │ ← CRUD operations18│ backend/app/repositories/ │ ← Custom queries19└─────────────────────────────────────┘20 ↓21┌─────────────────────────────────────┐22│ Database Layer (Models) │ ← SQLAlchemy ORM23│ backend/app/models/ │ ← Table definitions24└─────────────────────────────────────┘25```2627## Layer Responsibilities2829### API Layer (`backend/app/api/routers/`)30- Handle HTTP request/response31- Use Pydantic schemas for validation32- Inject dependencies (database session)33- **NO business logic here**3435### Service Layer (`backend/app/services/`)36- Implement business logic37- Handle authentication/authorization38- Calculate achievements39- Enforce business rules40- **NO direct database access** (use repositories)4142### Repository Layer (`backend/app/repositories/`)43- CRUD operations only44- Custom database queries45- Extend `BaseRepository` for common operations46- **NO business logic here**4748### Database Layer (`backend/app/models/`)49- SQLAlchemy ORM models50- Define table structure51- Define relationships52- **NO business logic here**5354## Key Design Decisions5556### Async/Await Throughout57All database operations use async/await for better performance:58```python59async def get_user(user_id: int, db: AsyncSession):60 repo = UserRepository(db)61 user = await repo.get_by_id(user_id)62 return user63```6465### SQLAlchemy 2.0 Modern Syntax66Using type hints and modern patterns:67```python68from sqlalchemy.orm import Mapped, mapped_column6970class User(Base):71 user_id: Mapped[int] = mapped_column(primary_key=True)72 username: Mapped[str]73```7475### Dependency Injection76FastAPI's dependency injection for database sessions:77```python78from fastapi import Depends79from core.database import get_db8081async def endpoint(db: AsyncSession = Depends(get_db)):82 # Use db here83```8485## Frontend Architecture8687### React Component Structure88```89frontend/src/90├── components/91│ ├── Navbar.jsx ← Top navigation92│ ├── Sidebar.jsx ← Side menu93│ ├── Login.jsx ← Authentication94│ ├── Register.jsx ← User registration95│ └── three/96│ ├── ThreeScene.jsx ← Main 3D scene97│ ├── Building.jsx ← 3D model loader98│ ├── PlayerMovement.js ← First-person controls99│ └── Metrics.js ← Performance tracking100└── services/101 └── api.js ← API client102```103104### Three.js Integration105- First-person camera controls106- GLB model loading107- Collision detection108- Performance metrics109110## Detailed Documentation111112→ Complete architecture diagrams: `docs/architecture.md`113→ Design decisions: `docs/architecture.md#design-decisions`114→ Directory structure: `docs/architecture.md#directory-structure`115
Also in KiralyAlparCsaba/Sapi3D
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| KiralyAlparCsaba/Sapi3D.clinerules/api_patterns.md · 0 | Cline rules | teststyleapiui+1 | 52/100 | 2 days ago | |
| KiralyAlparCsaba/Sapi3D.clinerules/common_tasks.md · 0 | Cline rules | setupbuildtestdatabase+3 | 82/100 | 2 days ago | |
| KiralyAlparCsaba/Sapi3D.clinerules/database.md · 0 | Cline rules | archsecuritydatabaseperformance+1 | 62/100 | 2 days ago | |
| KiralyAlparCsaba/Sapi3D.clinerules/file_locations.md · 0 | Cline rules | archdatabaseapiui+1 | 58/100 | 2 days ago | |
| KiralyAlparCsaba/Sapi3D.clinerules/project_overview.md · 0 | Cline rules | archdatabasedocs | 48/100 | 2 days ago | |
| KiralyAlparCsaba/Sapi3D.clinerules/validation_rules.md · 0 | Cline rules | styletypesdatabaseapi+2 | 73/100 | 2 days ago |
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| bashdeban/fastmind.clinerules/.project-consistency-keeper2.md · 5 | Cline rules | setupbuildtestlint-format+11 | 100/100 | 3 days ago | |
| JCodesMore/ai-website-cloner-template.clinerules · 31k | Cline rules | buildlint-formatstylearch+3 | 97/100 | 2 days ago | |
| BryaanF/LiantPortfolio.clinerules/project-guidelines.md · 0 | Cline rules | buildstylearchgit+2 | 96/100 | 3 days ago | |
| u9401066/zotero-keeper.clinerules/50-pubmed-project.md · 6 | Cline rules | testlint-formatstylearch+1 | 94/100 | 3 days ago | |
| u9401066/zotero-keepervscode-extension/resources/repo-assets/pubmed-search-mcp/.clinerules/50-pubmed-project.md · 6 | Cline rules | testlint-formatstylearch+1 | 94/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/50-pubmed-project.md · 23 | Cline rules | testlint-formatstylearch+1 | 94/100 | 3 days ago | |
| prabhakar267/paper-games.clinerules/git-commit-guidelines.md · 0 | Cline rules | lint-formatstylearchgit+3 | 93/100 | 2 days ago | |
| VaillerTeeter/HoshimiNest.clinerules/project-identity.md · 1 | Cline rules | setuparchtypesdo-not | 93/100 | yesterday |
