| applyTo | ** |
|---|
This project is a Nuxt v4 application that serves as the client for vibetype, an event community platform. It is one of many services defined in the stack repository and is closely related to the postgraphile and sqitch repositories.
- Do not use abbreviations in naming, except for instances where it would be weird not to abbreviate
- Prefer descriptive syntax for naming and only add comments where additional context is necessary
- Use natural language in any non-code text (code comments, git commit titles, ...) instead of referring to code, e.g. "the event's name" instead of "the
event.name", except when a code reference is needed - Use backticks in any non-code text to refer to code, e.g. "
eventName" instead of "eventName" - Sort elements lexicographically except where it does not make sense
- Code formatting is done using Prettier
- Work on branches other than the default branch
- Use this branch naming pattern:
<type>/<scope>/<description>
- Use this branch naming pattern:
- Git commit titles must follow the Conventional Commits specification and be lowercase only
- The commit scope should not be repeated in the commit description, e.g.
feat(event): add nameinstead offeat(event): add event name
- The commit scope should not be repeated in the commit description, e.g.
- Git commit scopes must be chosen as follows (ordered by priority):
- model object name, e.g.
event,account,recommendation - simplified dependency name, e.g.
securityori18nfor Nuxt modules (nuxt-security,@nuxtjs/i18n);sentry,urqlfor libraries (@sentry/nuxt,@urql/core) - technology, e.g.
typescript,docker,nuxt
- model object name, e.g.
- Commit bodies are only to be filled in when necessary, e.g. to mention a resolved issue link
- Proposal of changes to installed dependencies are allowed
- Use scripts from
package.jsonto verify that the project's requirements are metpnpm run lintfor formatting and type checkspnpm run buildas preparation for end-to-end testingpnpm run test:e2e:docker:server:node:updatefor end-to-end testing with snapshot updates
- Nuxt auto-imports are active, so there is no need to import Nuxt components, composables and Vue.js APIs – run
pnpm exec nuxt prepareinstead to update the barrel files - Do not hardcode translatable strings, but use the i18n module instead
- The
Dockerfilecontains the full build pipeline, divided into multiple stages
- Do not use typecasts, except when there is no other way
- Run
pnpm --dir src run gql:codegenafter any changes to GraphQL queries or mutations to update the generated types