desktop-team-doc 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +89 -0
- package/content/docs/README.md +227 -0
- package/content/docs/index.md +352 -0
- package/content/docs/instructions/coding-conventions/.clang-format +65 -0
- package/content/docs/instructions/coding-conventions/cpp.md +132 -0
- package/content/docs/instructions/coding-conventions/frontend.md +612 -0
- package/content/docs/instructions/coding-conventions/team-wide.md +176 -0
- package/content/docs/instructions/workflows/assets/jira-1.png +0 -0
- package/content/docs/instructions/workflows/assets/jira-comment.png +0 -0
- package/content/docs/instructions/workflows/assets/jira-release-note.png +0 -0
- package/content/docs/instructions/workflows/assets/jira-tag.png +0 -0
- package/content/docs/instructions/workflows/code-review.md +451 -0
- package/content/docs/instructions/workflows/git-branch-convention.md +246 -0
- package/content/docs/instructions/workflows/git-commit.md +95 -0
- package/content/docs/instructions/workflows/jira-process.md +173 -0
- package/content/docs/instructions/workflows/jira-ticket-guide.md +105 -0
- package/content/docs/instructions/workflows/pull-request-generation.md +319 -0
- package/content/docs/instructions/workflows/scrum-process.md +104 -0
- package/content/docs/instructions/workflows/survey-project-setup.md +76 -0
- package/content/docs/knowledge/architecture/README.md +11 -0
- package/content/docs/knowledge/architecture/audio-plugin-architecture.md +213 -0
- package/content/docs/knowledge/architecture/cross-platform-design.md +176 -0
- package/content/docs/knowledge/architecture/frontend-native-bridge.md +193 -0
- package/content/docs/knowledge/architecture/native-command.md +189 -0
- package/content/docs/knowledge/architecture/state-management-architecture.md +105 -0
- package/content/docs/knowledge/component-library/ControlComponent/README.md +281 -0
- package/content/docs/knowledge/component-library/ControlComponent/accessibility/accessibility-implementation.md +503 -0
- package/content/docs/knowledge/component-library/ControlComponent/common-mechanisms.md +278 -0
- package/content/docs/knowledge/component-library/ControlComponent/core/error-handling.md +451 -0
- package/content/docs/knowledge/component-library/ControlComponent/core/native-interface.md +515 -0
- package/content/docs/knowledge/component-library/ControlComponent/core/state-management.md +509 -0
- package/content/docs/knowledge/component-library/ControlComponent/creating-new-controls.md +654 -0
- package/content/docs/knowledge/component-library/ControlComponent/design/api-design-reference.md +1142 -0
- package/content/docs/knowledge/component-library/ControlComponent/design/design-principles.md +336 -0
- package/content/docs/knowledge/component-library/ControlComponent/design/styling-architecture.md +595 -0
- package/content/docs/knowledge/component-library/ControlComponent/design/visual-feedback.md +456 -0
- package/content/docs/knowledge/component-library/ControlComponent/development-environment.md +213 -0
- package/content/docs/knowledge/component-library/ControlComponent/interaction/gesture-algorithms.md +705 -0
- package/content/docs/knowledge/component-library/ControlComponent/interaction/touch-support.md +525 -0
- package/content/docs/knowledge/component-library/ControlComponent/interaction/value-processing-patterns.md +801 -0
- package/content/docs/knowledge/component-library/ControlComponent/interaction/velocity-damping-systems.md +741 -0
- package/content/docs/knowledge/component-library/ControlComponent/knob/architecture.md +490 -0
- package/content/docs/knowledge/component-library/ControlComponent/knob/how-to-use.md +304 -0
- package/content/docs/knowledge/component-library/ControlComponent/knob/index.md +105 -0
- package/content/docs/knowledge/component-library/ControlComponent/optimization/performance-benchmarks.md +535 -0
- package/content/docs/knowledge/component-library/ControlComponent/optimization/performance-optimization.md +1092 -0
- package/content/docs/knowledge/component-library/ControlComponent/quick-start.md +345 -0
- package/content/docs/knowledge/component-library/ControlComponent/slider/architecture.md +444 -0
- package/content/docs/knowledge/component-library/ControlComponent/slider/how-to-use.md +470 -0
- package/content/docs/knowledge/component-library/ControlComponent/slider/index.md +107 -0
- package/content/docs/knowledge/component-library/ControlComponent/testing-guide.md +950 -0
- package/content/docs/knowledge/component-library/ControlComponent/troubleshooting.md +657 -0
- package/content/docs/knowledge/component-library/frontend-develop/LICENSE.txt +176 -0
- package/content/docs/knowledge/component-library/frontend-develop/SKILL.md +124 -0
- package/content/docs/knowledge/component-library/frontend-develop/references/code-organization.md +620 -0
- package/content/docs/knowledge/component-library/frontend-develop/references/coding-standards.md +275 -0
- package/content/docs/knowledge/component-library/frontend-develop/references/component-reusability.md +559 -0
- package/content/docs/knowledge/component-library/frontend-develop/references/examples.md +554 -0
- package/content/docs/knowledge/component-library/frontend-develop/references/layout-separation.md +638 -0
- package/content/docs/knowledge/component-library/frontend-develop/references/performance-optimization.md +678 -0
- package/content/docs/knowledge/component-library/frontend-develop/references/state-management.md +331 -0
- package/content/docs/knowledge/component-library/frontend-develop/references/styling-guidelines.md +349 -0
- package/content/docs/knowledge/component-library/frontend-develop/references/type-safety.md +493 -0
- package/content/docs/knowledge/development/assets/cyberduck-aws-credentials.png +0 -0
- package/content/docs/knowledge/development/assets/postman-environment-setup.png +0 -0
- package/content/docs/knowledge/development/aws-storage.md +95 -0
- package/content/docs/knowledge/development/crm-system.md +22 -0
- package/content/docs/knowledge/development/glossary.md +246 -0
- package/content/docs/knowledge/development/pg-api-guide.md +71 -0
- package/content/docs/knowledge/development/staging-license-management.md +44 -0
- package/content/docs/knowledge/development/tech-stack.md +240 -0
- package/content/docs/knowledge/domain/popup-system.md +106 -0
- package/content/docs/knowledge/domain/sigpath.md +264 -0
- package/content/docs/knowledge/environment-setup/aax-signing-update.md +149 -0
- package/content/docs/knowledge/environment-setup/assets/aax-1.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/aax-2.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/aax-3.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/aax-4.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/aax-5.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/aax-6.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/aax-7.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/buildmachine-1.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/buildmachine-10.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/buildmachine-11.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/buildmachine-12.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/buildmachine-13.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/buildmachine-14.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/buildmachine-2.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/buildmachine-3.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/buildmachine-4.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/buildmachine-5.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/buildmachine-6.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/buildmachine-7.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/buildmachine-8.png +0 -0
- package/content/docs/knowledge/environment-setup/assets/buildmachine-9.png +0 -0
- package/content/docs/knowledge/environment-setup/build-machine-setup.md +224 -0
- package/content/docs/knowledge/environment-setup/build-machine-troubleshooting.md +193 -0
- package/content/docs/knowledge/implementation-guides/adding-amp.md +190 -0
- package/content/docs/knowledge/implementation-guides/adding-fx.md +111 -0
- package/content/docs/knowledge/implementation-guides/cab-integration.md +194 -0
- package/content/docs/knowledge/implementation-guides/custom-pedal-integration.md +309 -0
- package/content/docs/knowledge/projects/BIAS_ONE_GUI/README.md +17 -0
- package/content/manifest.json +122 -0
- package/content/rules/cpp.mdc +135 -0
- package/content/rules/frontend.mdc +615 -0
- package/content/rules/index.mdc +256 -0
- package/content/rules/knowledge.mdc +46 -0
- package/content/rules/team-wide.mdc +179 -0
- package/content/rules/workflows.mdc +43 -0
- package/content/tools/agents/context-compressor.md +357 -0
- package/content/tools/agents/context-writer.md +328 -0
- package/content/tools/agents/release-notes-generator.md +389 -0
- package/content/tools/agents/srs-writer-agent.md +63 -0
- package/content/tools/mcp/README.md +25 -0
- package/content/tools/mcp/mcp-desktop-team.example.json +13 -0
- package/content/tools/skills/frontend-develop/LICENSE.txt +176 -0
- package/content/tools/skills/frontend-develop/SKILL.md +124 -0
- package/content/tools/skills/frontend-develop/references/code-organization.md +620 -0
- package/content/tools/skills/frontend-develop/references/coding-standards.md +275 -0
- package/content/tools/skills/frontend-develop/references/component-reusability.md +559 -0
- package/content/tools/skills/frontend-develop/references/examples.md +554 -0
- package/content/tools/skills/frontend-develop/references/layout-separation.md +638 -0
- package/content/tools/skills/frontend-develop/references/performance-optimization.md +678 -0
- package/content/tools/skills/frontend-develop/references/state-management.md +331 -0
- package/content/tools/skills/frontend-develop/references/styling-guidelines.md +349 -0
- package/content/tools/skills/frontend-develop/references/type-safety.md +493 -0
- package/content/tools/slash-commands/commit.md +17 -0
- package/content/tools/slash-commands/context-compress.md +149 -0
- package/content/tools/slash-commands/context-write.md +92 -0
- package/content/tools/slash-commands/jira.md +12 -0
- package/content/tools/slash-commands/pr-gen.md +12 -0
- package/content/tools/slash-commands/pr-review.md +12 -0
- package/dist/commands/detect.d.ts +1 -0
- package/dist/commands/detect.js +33 -0
- package/dist/commands/install.d.ts +1 -0
- package/dist/commands/install.js +100 -0
- package/dist/commands/uninstall.d.ts +1 -0
- package/dist/commands/uninstall.js +132 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +53 -0
- package/dist/lib/detect-env.d.ts +3 -0
- package/dist/lib/detect-env.js +52 -0
- package/dist/lib/prompt-env.d.ts +3 -0
- package/dist/lib/prompt-env.js +16 -0
- package/dist/lib/resolve-doc-repo.d.ts +14 -0
- package/dist/lib/resolve-doc-repo.js +61 -0
- package/dist/lib/symlink.d.ts +7 -0
- package/dist/lib/symlink.js +60 -0
- package/dist/lib/sync-from-manifest.d.ts +8 -0
- package/dist/lib/sync-from-manifest.js +64 -0
- package/package.json +46 -0
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
# Coding Standards Reference
|
|
2
|
+
|
|
3
|
+
This document provides a quick reference for coding standards including formatting rules, naming conventions, and code style. For complete details, refer to the project's full coding standards.
|
|
4
|
+
|
|
5
|
+
## Formatting Rules
|
|
6
|
+
|
|
7
|
+
### Prettier Configuration
|
|
8
|
+
|
|
9
|
+
**Key Rules**:
|
|
10
|
+
- **Indentation**: 2 spaces (not tabs)
|
|
11
|
+
- **Line Length**: Maximum 120 characters
|
|
12
|
+
- **Semicolons**: Always use semicolons
|
|
13
|
+
- **Quotes**: Single quotes for strings
|
|
14
|
+
- **Trailing Commas**: As per Prettier defaults
|
|
15
|
+
- **No trailing whitespace**
|
|
16
|
+
- **No indentation on empty lines**
|
|
17
|
+
|
|
18
|
+
**Note**: Run `npm run eslint` before committing to ensure code quality.
|
|
19
|
+
|
|
20
|
+
### ESLint Rules
|
|
21
|
+
|
|
22
|
+
Follow ESLint rules in `.eslintrc.json`. Common rules:
|
|
23
|
+
- No unused variables
|
|
24
|
+
- No console.log in production code
|
|
25
|
+
- Prefer const over let
|
|
26
|
+
- Prefer arrow functions for callbacks
|
|
27
|
+
|
|
28
|
+
## Naming Conventions
|
|
29
|
+
|
|
30
|
+
### Files and Directories
|
|
31
|
+
|
|
32
|
+
| Type | Convention | Example |
|
|
33
|
+
|------|-----------|---------|
|
|
34
|
+
| React Components | `PascalCase.tsx` | `AppButton.tsx`, `EditableText.tsx` |
|
|
35
|
+
| Hooks | `camelCase.ts` (starts with "use") | `useInputStatus.ts`, `useGearMenuStore.ts` |
|
|
36
|
+
| Utilities | `camelCase.ts` | `constants.ts`, `utils.ts` |
|
|
37
|
+
| Stores | `camelCase.ts` (ends with "Store") | `guitarMatchStore.ts`, `pedalGridStore.ts` |
|
|
38
|
+
| Types/Interfaces | `types.ts` or `interfaces.ts` | `types.ts` |
|
|
39
|
+
| Command Files | `camelCase.ts` (ends with "Cmd") | `initMainViewCmd.ts` |
|
|
40
|
+
|
|
41
|
+
### TypeScript/JavaScript
|
|
42
|
+
|
|
43
|
+
| Element | Convention | Example |
|
|
44
|
+
|---------|-----------|---------|
|
|
45
|
+
| Variables | `camelCase` | `userName`, `isLoading` |
|
|
46
|
+
| Functions | `camelCase` | `handleClick`, `fetchData` |
|
|
47
|
+
| React Components | `PascalCase` | `AppButton`, `EditableText` |
|
|
48
|
+
| Interfaces/Types | `PascalCase` | `AppButtonProps`, `EditableTextHandle` |
|
|
49
|
+
| Type Aliases | `PascalCase` (prefix `T`) | `TKnobProps` |
|
|
50
|
+
| Constants | `UPPER_SNAKE_CASE` | `MAX_BUFFER_SIZE`, `DEFAULT_FRAMES` |
|
|
51
|
+
| Enums | `PascalCase` (values `camelCase`) | `enum Status { active, inactive }` |
|
|
52
|
+
| Props Types | Component + `Props` | `AppButtonProps` |
|
|
53
|
+
| Handler Types | Component + `Handle` | `EditableTextHandle` |
|
|
54
|
+
|
|
55
|
+
### CSS Classes (TailwindCSS)
|
|
56
|
+
|
|
57
|
+
- **Design System**: `.x-` prefix (e.g., `.x-btn`, `.x-red-dot`)
|
|
58
|
+
- **Utilities**: `.pg-` prefix (e.g., `.pg-scroll-bar`)
|
|
59
|
+
- **Typography**: Semantic naming (e.g., `.heading-14`, `.body-16`, `.x-heading-4`)
|
|
60
|
+
|
|
61
|
+
## Code Style Conventions
|
|
62
|
+
|
|
63
|
+
### Braces (Always Use)
|
|
64
|
+
|
|
65
|
+
**Rule**: Always use braces for functions and control statements.
|
|
66
|
+
|
|
67
|
+
**Bad**:
|
|
68
|
+
```typescript
|
|
69
|
+
if (isOpen) closeModal();
|
|
70
|
+
else if (isSaveDialogShowed) setIsSaveDialogShowed(false);
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Good**:
|
|
74
|
+
```typescript
|
|
75
|
+
if (isOpen) {
|
|
76
|
+
closeModal();
|
|
77
|
+
} else if (isSaveDialogShowed) {
|
|
78
|
+
setIsSaveDialogShowed(false);
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Exception**: Early returns/guards on one line:
|
|
83
|
+
```typescript
|
|
84
|
+
if (!inputData) return;
|
|
85
|
+
processData1(inputData.data1);
|
|
86
|
+
processData2(inputData.data2);
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### API Client Standards
|
|
90
|
+
|
|
91
|
+
- **Use Axios**: Standardize on `axios` for all API calls
|
|
92
|
+
- **Exception**: `XMLHttpRequest` is used for native command communication only
|
|
93
|
+
|
|
94
|
+
**Example**:
|
|
95
|
+
```typescript
|
|
96
|
+
import axios from 'axios';
|
|
97
|
+
|
|
98
|
+
const fetchUserData = async (userId: string) => {
|
|
99
|
+
try {
|
|
100
|
+
const response = await axios.get(`/api/users/${userId}`);
|
|
101
|
+
return response.data;
|
|
102
|
+
} catch (error) {
|
|
103
|
+
console.error('Failed to fetch user data:', error);
|
|
104
|
+
throw error;
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## TypeScript Standards
|
|
110
|
+
|
|
111
|
+
### Type Safety
|
|
112
|
+
|
|
113
|
+
- **Strict Mode**: Enable `noImplicitAny: true`
|
|
114
|
+
- **Avoid `any`**: Use specific types or `unknown` when type is truly unknown
|
|
115
|
+
- **Type Imports**: Use `type` keyword for type-only imports
|
|
116
|
+
|
|
117
|
+
```typescript
|
|
118
|
+
import type { MousePos } from '@/src/utils/mouseRx/types';
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Interface vs Type
|
|
122
|
+
|
|
123
|
+
- **Interfaces**: For object shapes, especially props and public APIs
|
|
124
|
+
- **Type Aliases**: For unions, intersections, and complex types
|
|
125
|
+
|
|
126
|
+
### Function Return Types
|
|
127
|
+
|
|
128
|
+
Always explicitly define return types:
|
|
129
|
+
|
|
130
|
+
```typescript
|
|
131
|
+
const processData = (): string => {
|
|
132
|
+
return 'result';
|
|
133
|
+
};
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## React Patterns
|
|
137
|
+
|
|
138
|
+
### Component Structure Order
|
|
139
|
+
|
|
140
|
+
1. **Imports** (external → internal → types → styles)
|
|
141
|
+
2. **Type Definitions** (Props interfaces, handler types)
|
|
142
|
+
3. **Component Declaration** (arrow functions or `forwardRef`)
|
|
143
|
+
4. **Hooks** (`useState`, `useRef`, `useEffect`)
|
|
144
|
+
5. **Handlers** (Event handlers, callbacks)
|
|
145
|
+
6. **Render Helpers** (Small render functions)
|
|
146
|
+
7. **Return Statement** (JSX)
|
|
147
|
+
|
|
148
|
+
### Props Destructuring
|
|
149
|
+
|
|
150
|
+
Destructure props in function parameters:
|
|
151
|
+
|
|
152
|
+
```typescript
|
|
153
|
+
const Component = ({ value, onChange }: EditableTextProps) => {
|
|
154
|
+
// Component logic
|
|
155
|
+
};
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Props Spreading (Use Sparingly)
|
|
159
|
+
|
|
160
|
+
**Avoid indiscriminate props spreading**:
|
|
161
|
+
|
|
162
|
+
**Bad**:
|
|
163
|
+
```typescript
|
|
164
|
+
function Comp({ dataA, ...props }) {
|
|
165
|
+
return <div {...props} />;
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
**Good**:
|
|
170
|
+
```typescript
|
|
171
|
+
function Comp({ dataA, onClick, onMouseMove, role }) {
|
|
172
|
+
return <div onClick={onClick} onMouseMove={onMouseMove} role={role} />;
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Import Organization
|
|
177
|
+
|
|
178
|
+
### Import Order
|
|
179
|
+
|
|
180
|
+
1. External libraries (React, third-party)
|
|
181
|
+
2. Internal modules (aliased with `@/`)
|
|
182
|
+
3. Types (using `import type`)
|
|
183
|
+
4. Relative imports
|
|
184
|
+
5. Styles (if any)
|
|
185
|
+
|
|
186
|
+
**Example**:
|
|
187
|
+
```typescript
|
|
188
|
+
import React, { useState, useEffect } from 'react';
|
|
189
|
+
import { twMerge } from 'tailwind-merge';
|
|
190
|
+
import clsx from 'clsx';
|
|
191
|
+
|
|
192
|
+
import ClickOutsideHandler from '@/src/components/dumbs/click-outside-handler';
|
|
193
|
+
import { useParameterComponentProps } from '@/src/components/shared/store';
|
|
194
|
+
|
|
195
|
+
import type { MousePos } from '@/src/utils/mouseRx/types';
|
|
196
|
+
import type { AppButtonProps } from './types';
|
|
197
|
+
|
|
198
|
+
import './styles.css';
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Path Aliases
|
|
202
|
+
|
|
203
|
+
- **Configure `@/` to point to project root**
|
|
204
|
+
- **Use `@/src/` for source imports**
|
|
205
|
+
- **Avoid `@src/` pattern** (looks like npm org package)
|
|
206
|
+
|
|
207
|
+
**tsconfig.json configuration**:
|
|
208
|
+
```json
|
|
209
|
+
{
|
|
210
|
+
"compilerOptions": {
|
|
211
|
+
"paths": {
|
|
212
|
+
"@/*": ["./*"]
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
## Event Handlers
|
|
219
|
+
|
|
220
|
+
### Naming
|
|
221
|
+
|
|
222
|
+
- Prefix with `handle` for event handlers: `handleClick`, `handleChange`, `handleSubmit`
|
|
223
|
+
- Prefix with `on` for prop callbacks: `onClick`, `onChange`, `onSubmit`
|
|
224
|
+
|
|
225
|
+
### Async Handlers
|
|
226
|
+
|
|
227
|
+
```typescript
|
|
228
|
+
const handleSubmit = async () => {
|
|
229
|
+
try {
|
|
230
|
+
await submitData();
|
|
231
|
+
} catch (error) {
|
|
232
|
+
console.error('Submit failed:', error);
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
## Error Handling
|
|
238
|
+
|
|
239
|
+
- Use try-catch for async operations
|
|
240
|
+
- Log errors appropriately
|
|
241
|
+
- Show user-friendly error messages
|
|
242
|
+
- Handle edge cases gracefully
|
|
243
|
+
|
|
244
|
+
## Commenting Policy
|
|
245
|
+
|
|
246
|
+
See [Team-wide Coding Conventions](../team-wide.md#commenting-policy) for the team's minimalist commenting policy.
|
|
247
|
+
|
|
248
|
+
### Frontend-Specific Guidelines
|
|
249
|
+
|
|
250
|
+
- **Complex State Logic**: Comment non-obvious state management patterns
|
|
251
|
+
- **Workarounds**: Document workarounds with explanation
|
|
252
|
+
- **Type Assertions**: Explain why type assertion is necessary if non-obvious
|
|
253
|
+
- **Magic Numbers**: Use named constants instead of comments
|
|
254
|
+
|
|
255
|
+
## Quick Reference Checklist
|
|
256
|
+
|
|
257
|
+
When writing code, ensure:
|
|
258
|
+
|
|
259
|
+
- [ ] 2-space indentation, single quotes
|
|
260
|
+
- [ ] Explicit return types on functions
|
|
261
|
+
- [ ] Always use braces for functions and control statements
|
|
262
|
+
- [ ] Props destructured in parameters
|
|
263
|
+
- [ ] `import type` for type-only imports
|
|
264
|
+
- [ ] Path aliases use `@/src/` pattern
|
|
265
|
+
- [ ] TailwindCSS for styling (primary)
|
|
266
|
+
- [ ] Event handlers prefixed with `handle`
|
|
267
|
+
- [ ] Axios for API calls
|
|
268
|
+
- [ ] No indiscriminate props spreading
|
|
269
|
+
- [ ] Semantic HTML and accessibility
|
|
270
|
+
|
|
271
|
+
## References
|
|
272
|
+
|
|
273
|
+
For complete details, see:
|
|
274
|
+
- **Full Coding Standards**: `desktop-team-documentation/instructions/coding-conventions/frontend.md`
|
|
275
|
+
- **Team-wide Standards**: `desktop-team-documentation/instructions/coding-conventions/team-wide.md`
|