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
|`pnpm dev`| Start the development server with HMR. |
64
-
|`pnpm build`| Build the application for production (includes type checking). |
65
-
|`pnpm preview`| Preview the production build locally. |
66
-
|`pnpm lint`| Lint and check formatting for all files. |
67
-
|`pnpm lint:fix`| Auto-fix linting and formatting errors. |
68
-
|`pnpm type-check`| Run TypeScript compiler check (no emit). |
69
-
|`pnpm audit`| Check for high-severity security vulnerabilities. |
70
-
71
-
## Directory Structure
72
-
73
-
```text
74
-
src/
75
-
├── assets/ # Static assets (images, fonts, global css)
76
-
├── components/ # Reusable UI components
77
-
├── composables/ # Shared Vue logic (hooks)
78
-
├── layouts/ # App layouts (e.g., Default, Auth)
79
-
├── router/ # Routing configuration
80
-
├── stores/ # Global state management (Pinia)
81
-
├── types/ # TypeScript interfaces & types
82
-
├── utils/ # Helper functions & constants
83
-
└── views/ # Page components associated with routes
144
+
### TypeScript
145
+
146
+
Strict mode is enabled with additional safety options:
147
+
148
+
```json
149
+
{
150
+
"strict": true,
151
+
"noImplicitOverride": true,
152
+
"noUncheckedIndexedAccess": true,
153
+
"verbatimModuleSyntax": true
154
+
}
84
155
```
85
156
86
-
## Contribution Guidelines
157
+
### ESLint
158
+
159
+
Using [@antfu/eslint-config](https://github.com/antfu/eslint-config) with:
160
+
161
+
- 2-space indentation
162
+
- Single quotes
163
+
- Semicolons required
164
+
- Auto-sorted imports via `perfectionist`
165
+
- Kebab-case or PascalCase filenames enforced
87
166
88
-
### Commit Message Convention
167
+
### Commit Types
89
168
90
-
We follow the [Conventional Commits](https://www.conventionalcommits.org/) specification. Husky and Commitlint will verify your commit messages automatically.
169
+
Allowed commit types (enforced by Commitlint):
170
+
171
+
| Type | Description |
172
+
| ---------- | ----------------------------- |
173
+
|`feat`| New feature |
174
+
|`fix`| Bug fix |
175
+
|`docs`| Documentation changes |
176
+
|`style`| Code style (formatting, etc.) |
177
+
|`refactor`| Code refactoring |
178
+
|`perf`| Performance improvements |
179
+
|`test`| Adding or updating tests |
180
+
|`build`| Build system or dependencies |
181
+
|`ci`| CI configuration |
182
+
|`chore`| Other changes |
183
+
|`revert`| Revert a previous commit |
91
184
92
185
**Format:**`<type>: <subject>`
93
186
94
187
**Examples:**
95
188
96
-
-`feat: add user profile page`
97
-
-`fix: resolve login api error`
98
-
-`chore: update dependencies`
99
-
-`style: fix landing page responsive layout`
189
+
```
190
+
feat: add user authentication
191
+
fix: resolve login validation error
192
+
docs: update API documentation
193
+
```
100
194
101
-
### Branching Strategy
195
+
##🔒 Quality Gates
102
196
103
-
-`main` / `master`: Production-ready code.
104
-
-`feature/*`: For new features (e.g., `feature/login-screen`).
105
-
-`fix/*`: For bug fixes (e.g., `fix/header-alignment`).
197
+
The CI pipeline runs the following checks on every push and PR:
198
+
199
+
1.**Linting** – Code style must follow ESLint rules
200
+
2.**Type Checking** – No TypeScript errors (`strict: true`)
201
+
3.**Unit Tests** – All tests must pass
202
+
4.**Build** – Production build must succeed
203
+
5.**Security Audit** – No high-severity vulnerabilities
0 commit comments