You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Frappe CRM frontend. Vue 3 + frappe-ui. The backend is Frappe Python. Scripts in
frontend/ only; Python in crm/ (Frappe app). No build step for Form Scripts —
they run as evaluated strings in the browser.
cd frontend
yarn test:run # single run
yarn test# watch mode
118 tests · ~250ms — all must pass before committing
Location: frontend/tests/unit/
Only pure utility functions are unit-tested (no Vue component tests yet)
Add tests in tests/unit/ when adding pure logic to src/utils/
Commit style
feat: short description
fix: short description
refactor: short description
test: short description
docs: short description
Multiple logical commits per PR — one commit per coherent change, not one giant commit.
Pre-commit hooks run prettier + eslint + oxlint automatically. If they modify a file,
git add the file again and re-commit.