Files
Salon/AGENTS.md
T
mohd d40bb10876 Updated PLANS.md, AGENTS.md, and arabic-localization.md to reflect the “foundations now, full translations later” approach and marked progress accordingly.
Implemented localization foundations across backend and frontend (locale settings/middleware, preferred language, i18n wiring, RTL support, minimal Arabic UI strings, Accept-Language).
Added targeted backend and frontend tests plus a risks note for pending full translation coverage.
2026-02-28 11:48:58 +03:00

66 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AGENTS.md
## Project Goal
Build a reliable, maintainable salon booking platform with Django (backend) and React (frontend), optimized for KSA needs (phone auth, local payments) while keeping a clean path to scale.
## Current Plan (Roadmap)
### Phase 1: Core MVP Reliability
- Phone-first auth with OTP (SMS/WhatsApp), rate limits, and social login.
- Booking integrity (availability, staff schedules, overlap prevention).
- Payments via Moyasar (payment creation, webhooks, reconciliation).
- Notifications for booking lifecycle.
- Localization foundations (i18n plumbing, RTL readiness, locale preferences).
- Tests for critical flows.
### Phase 2: Manager Ops
- Salon/staff/service management.
- Calendar view + rescheduling/cancellation rules.
- Reviews/ratings with moderation and recompute.
- Reports (revenue, popular services, customer trends).
- Full translation coverage and Arabic UX polish.
### Phase 3: Scale & Compliance
- Audit logs and data export.
- PDPL/GDPR retention policy.
- Observability and performance baselines.
## Reliability Standards (NonNegotiable)
- Every new feature ships with tests.
- Avoid introducing regressions without covering a fix or guardrail.
- Payment and booking flows must be idempotent and auditable.
- Phone auth must be ratelimited and safe from abuse.
## Testing Expectations
### Backend
- Use `pytest` + `pytest-django`.
- Tests live beside apps (`apps/<app>/tests/`).
- Minimum coverage: auth, booking validation, payment state transitions.
### Frontend
- Use `vitest` + Testing Library.
- Critical flows covered: search, booking form, auth state.
## Code Style & Practices
- Keep business logic in services (avoid fat views).
- Use explicit, readable model fields and serializers.
- Small, wellnamed functions > monolithic handlers.
- Prefer predictable error responses (HTTP status + `detail`).
## Known Gaps (Tracked)
- See `docs/risks.md` for current gaps/risks to address.
## Environment Notes
- Python is invoked as `python3`.
- A virtualenv is in use.
- DB: PostgreSQL in production, SQLite allowed for local dev.
## Collaboration Rules for Agents
- Dont delete or rewrite unrelated work.
- Avoid destructive git commands unless explicitly asked.
- Update `docs/risks.md` when adding or closing a significant gap.
- Keep README instructions current when tooling changes.
# ExecPlans
When writing complex features or significant refactors, use an ExecPlan (as described in PLANS.md) from design to implementation. The active ExecPlan is `docs/execplans/arabic-localization.md`.