Thanks for working on AlphaMind. This guide keeps changes consistent and the tiers in sync.
Four standing conventions apply to all code and content:
- No em dashes.
- No emojis.
- Clean, professional tone.
- When a decision is reasonable to make, make the best choice rather than pausing to ask.
Follow INSTALLATION.md to set up the backend and both frontends.
Run the linters and tests for every tier you touched.
# Backend
cd code/backend && pytest
# Web
cd web-frontend && npm run lint && npm test && npm run build
# Mobile
cd mobile-frontend && npm run lint && npm testThe clients depend on exact field names. If you change a response or request shape:
- Update the router and service.
- Update
code/backend/tests/test_frontend_contracts.pyto match the new shape. - Update the consuming client code and, for the web client,
src/services/api.test.ts. - Update API.md.
The contract tests exist specifically so that an accidental shape change fails CI rather than the running app.
When you add a feature to one client, consider adding it to the other. The web and mobile apps deliberately cover the same domain.
If your change alters behavior, update the relevant file in docs/. Keep docs honest: if something is scaffolding or research-only, label it as such in FEATURE_MATRIX.md rather than describing it as a finished feature.
Write clear, imperative commit messages. In the PR description, note which tiers you changed and how you verified them (the commands above and their results).