Files
igny8/.rules
2025-12-27 00:34:22 +00:00

152 lines
4.8 KiB
Plaintext

# IGNY8 AI Agent Rules
**Version:** 1.1.0 | **Updated:** December 27, 2025
---
## 🚀 Quick Start for AI Agents
**BEFORE any change, read these docs in order:**
1. [docs/INDEX.md](docs/INDEX.md) - Quick navigation to any module/feature
2. Module doc for the feature you're modifying (see INDEX.md for paths)
3. [CHANGELOG.md](CHANGELOG.md) - Recent changes and version history
---
## 📁 Project Structure
| Layer | Path | Purpose |
|-------|------|---------|
| Backend | `backend/igny8_core/` | Django REST API |
| Frontend | `frontend/src/` | React + TypeScript SPA |
| Docs | `docs/` | Technical documentation |
| AI Engine | `backend/igny8_core/ai/` | AI functions (use this, NOT `utils/ai_processor.py`) |
**Module → File Quick Reference:** See [docs/INDEX.md](docs/INDEX.md#module--file-quick-reference)
---
## 🐳 Docker Commands (IMPORTANT!)
**Container Names:**
| Container | Name | Purpose |
|-----------|------|---------|
| Backend | `igny8_backend` | Django API server |
| Frontend | `igny8_frontend` | React dev server |
| Celery Worker | `igny8_celery_worker` | Background tasks |
| Celery Beat | `igny8_celery_beat` | Scheduled tasks |
**Run commands INSIDE containers:**
```bash
# ✅ CORRECT - Run Django management commands
docker exec -it igny8_backend python manage.py migrate
docker exec -it igny8_backend python manage.py makemigrations
docker exec -it igny8_backend python manage.py shell
# ✅ CORRECT - Run npm commands
docker exec -it igny8_frontend npm install
docker exec -it igny8_frontend npm run build
# ✅ CORRECT - View logs
docker logs igny8_backend -f
docker logs igny8_celery_worker -f
# ❌ WRONG - Don't use docker-compose for commands
# docker-compose exec backend python manage.py migrate
```
---
## ✅ Rules (One Line Each)
### Before Coding
1. **Read docs first** - Always read the relevant module doc from `docs/10-MODULES/` before changing code
2. **Check existing patterns** - Search codebase for similar implementations before creating new ones
3. **Use existing components** - Never duplicate; reuse components from `frontend/src/components/`
### During Coding
4. **Scope by account** - Every query must filter by `account` (use `AccountBaseModel` or `SiteSectorBaseModel`)
5. **Use AI framework** - Use `backend/igny8_core/ai/` for AI operations, NOT legacy `utils/ai_processor.py`
6. **Follow service pattern** - Business logic in `backend/igny8_core/business/*/services/`
7. **Check permissions** - Use `IsAuthenticatedAndActive`, `HasTenantAccess` in views
8. **Use TypeScript types** - All frontend code must be typed
9. **Use TailwindCSS** - No inline styles; follow `frontend/DESIGN_SYSTEM.md`
### After Coding
10. **Update CHANGELOG.md** - Every commit needs a changelog entry with git reference
11. **Increment version** - PATCH for fixes, MINOR for features, MAJOR for breaking changes
12. **Update docs** - If you changed APIs or architecture, update relevant docs in `docs/`
13. **Run migrations** - After model changes: `docker exec -it igny8_backend python manage.py makemigrations`
---
## 📝 Changelog Format
```markdown
## v1.1.1 - December 27, 2025
### Fixed
- Description here (git: abc1234)
### Added
- Description here (git: def5678)
### Changed
- Description here (git: ghi9012)
```
---
## 🔗 Key Documentation
| I want to... | Go to |
|--------------|-------|
| Find any module | [docs/INDEX.md](docs/INDEX.md) |
| Understand architecture | [docs/00-SYSTEM/ARCHITECTURE.md](docs/00-SYSTEM/ARCHITECTURE.md) |
| Find an API endpoint | [docs/20-API/ENDPOINTS.md](docs/20-API/ENDPOINTS.md) |
| See all models | [docs/90-REFERENCE/MODELS.md](docs/90-REFERENCE/MODELS.md) |
| Understand AI functions | [docs/90-REFERENCE/AI-FUNCTIONS.md](docs/90-REFERENCE/AI-FUNCTIONS.md) |
| See frontend pages | [docs/30-FRONTEND/PAGES.md](docs/30-FRONTEND/PAGES.md) |
| See recent changes | [CHANGELOG.md](CHANGELOG.md) |
---
## 🚫 Don't Do
- ❌ Skip reading docs before coding
- ❌ Create duplicate components
- ❌ Use `docker-compose` for exec commands (use `docker exec`)
- ❌ Use legacy `utils/ai_processor.py`
- ❌ Skip account scoping in queries
- ❌ Forget to update CHANGELOG
- ❌ Use inline styles (use TailwindCSS)
- ❌ Hardcode values (use settings/constants)
---
## 📊 API Base URLs
| Module | Base URL |
|--------|----------|
| Auth | `/api/v1/auth/` |
| Planner | `/api/v1/planner/` |
| Writer | `/api/v1/writer/` |
| Billing | `/api/v1/billing/` |
| Integration | `/api/v1/integration/` |
| System | `/api/v1/system/` |
| Publisher | `/api/v1/publisher/` |
**API Docs:** http://localhost:8000/api/docs/
---
## 🎯 Quick Checklist Before Commit
- [ ] Read relevant module docs
- [ ] Used existing components/patterns
- [ ] Account scoped all queries
- [ ] Updated CHANGELOG.md with git reference
- [ ] Updated version number
- [ ] Ran migrations if model changed
- [ ] Tested locally