Conventions
Git
Commit Messages
testingrepo enforces Jira-style commits via commitlint- Elsewhere: conventional commit style is preferred (
feat:,fix:,chore:,docs:)
Submodule Workflow
Work happens inside submodule directories. After committing there:
bash
# In the pod-portals root, bump the submodule pointer
git add django-api # or portals / testing / docs
git commit -m "chore: bump django-api to latest"
git pushBackend (Python)
- Formatter: Black (line length 119)
- Linter: Flake8
- Pre-commit: hooks enforce both automatically
Frontend (JavaScript)
- Formatter: Prettier
- Linter: ESLint (Airbnb config)
- Pre-commit: Husky + lint-staged
Testing
- Selectors: always use
data-cyattributes, never CSS classes or text - Feature files: one feature per user-facing capability
- Page objects: one class per screen/page
Docs
- All significant architectural decisions, integrations, and gotchas should be documented here as they are discovered
- Keep pages concise — prefer tables and code blocks over prose paragraphs
- Update docs in the same commit/PR as the corresponding code change