devdocs-system-design
npx skills add https://github.com/ab300819/skills --skill devdocs-system-design
Agent 安装分布
Skill 文档
ç³»ç»è®¾è®¡
åºäºéæ±ææ¡£åå»ºææ´æ°ç³»ç»è®¾è®¡ææ¡£ï¼æ¯æåå§è®¾è®¡åå¢éè®¾è®¡ä¸¤ç§æ¨¡å¼ã
è¯è¨è§å
- æ¯æä¸è±ææé®
- ç»ä¸ä¸æåå¤
- 使ç¨ä¸æçæææ¡£
è§¦åæ¡ä»¶
åå§è®¾è®¡æ¨¡å¼
- ç¨æ·å·²å®æéæ±ææ¡£ï¼é¡¹ç®æ ç³»ç»è®¾è®¡
- ç¨æ·è¦æ±ç³»ç»/ææ¯è®¾è®¡
- ç¨æ·éè¦æ¶ææ API 设计
å¢é设计模å¼
- æ°åè½å å
¥åéè¦è®¾è®¡åæ´ï¼æ¥èª
/devdocs-featureï¼ - ä¼å建议确认åéè¦è®¾è®¡è°æ´ï¼æ¥èª
/devdocs-insightsï¼ - ææ¯æ¹è¿éè¦æ¶æè°æ´
- ç¨æ·è¦æ±æ´æ°/ä¿®æ¹ç°æè®¾è®¡
åç½®æ¡ä»¶
- éæ±ææ¡£ï¼
docs/devdocs/01-requirements.md - å¦ä¸åå¨ï¼å»ºè®®å
è¿è¡
/devdocs-requirements
è®¾è®¡æ¨¡å¼æ£æµ
å¯å¨æ¶èªå¨æ£æµ
â
â¼
æ£æ¥ 02-system-design.md æ¯å¦åå¨
â
âââ ä¸åå¨ â åå§è®¾è®¡æ¨¡å¼
â
âââ åå¨ â å¢é设计模å¼
â
â¼
æ£æ¥æ¯å¦ææ°å¢éæ±ï¼F-XXXï¼æªè¦ç
â
âââ æ â æç¤ºå¢é设计
â
âââ æ â 询é®ç¨æ·æå¾
工使µç¨
åå§è®¾è®¡æµç¨
1. 读åéæ± â å è½½ 01-requirements.md
â
â¼
2. 询é®å好 â ææ¯æ ãå¹³å°ãéæéæ±
â
â¼
3. æ¢ç´¢ä»£ç â äºè§£ç°ææ¶æ
â
â¼
4. å建设计 â çæç³»ç»è®¾è®¡ææ¡£
â
â¼
5. éªè¯è¦ç â æ£æ¥ææ F-XXX é½æå¯¹åºæ¨¡å/æ¥å£
â
â¼
6. ç¨æ·ç¡®è®¤ â è·å¾æ¹ååå®ç¨¿
å¢é设计æµç¨
1. 读åç°æè®¾è®¡ â å è½½ 02-system-design*.md
â
â¼
2. è¯å«åæ´æ¥æº
âââ æ°åè½éæ±ï¼F-XXXï¼
âââ ä¼å建议ï¼INS-XXXï¼
âââ ææ¯æ¹è¿
â
â¼
3. å½±ååæ
âââ è¯å«åå½±åçæ¨¡å
âââ è¯å«åå½±åçæ¥å£
âââ è¯å«åå½±åçæ°æ®æ¨¡å
â
â¼
4. å
¼å®¹æ§è¯ä¼°
âââ æ¥å£åæ´æ¯å¦ååå
¼å®¹ï¼
âââ æ°æ®æ¨¡ååæ´æ¯å¦éè¦è¿ç§»ï¼
âââ æ¯å¦æç ´åæ§åæ´ï¼
â
â¼
5. è®¾è®¡åæ´
âââ æ°å¢æ¨¡å/æ¥å£/æ°æ®æ¨¡å
âââ ä¿®æ¹ç°æè®¾è®¡
âââ æ æ³¨åæ´çæ¬
â
â¼
6. çæåæ´è®°å½ â 追å å°è®¾è®¡ææ¡£
â
â¼
7. ç¨æ·ç¡®è®¤ â è·å¾æ¹ååæ´æ°ææ¡£
设计åå¿ é®
å¿ é¡»ä½¿ç¨ AskUserQuestion 询é®ç¨æ·ï¼
-
ææ¯æ å好
- æ¯å¦æåå¥½çææ¯æ ï¼
- éé¡¹ï¼æå®ææ¯æ / æ å好ï¼å°æ ¹æ®éæ±æ¨èï¼
-
ç®æ å¹³å°
- ç®æ 平尿¯ä»ä¹ï¼
- é项ï¼Web / Mobile (iOS/Android) / Desktop / Server / 跨平å°
-
é¨ç½²ç¯å¢
- é¨ç½²å¨åªéï¼
- é项ï¼äºæå¡ (AWS/GCP/Azure) / ç§æå / æ··å
-
ç°æç³»ç»éæ
- æ¯å¦éè¦ä¸ç°æç³»ç»éæï¼
- é项ï¼å¦ / æ¯ï¼æå®ç³»ç»ãAPIãæ°æ®åºï¼
å¦ç¨æ·æ å好ï¼åæ ¹æ®éæ±è®¾è®¡æä¼æ¹æ¡ã
å¢é设计
å½±ååæ
å¢é设计åå¿ é¡»è¿è¡å½±ååæï¼
## å½±ååæï¼<åæ´åç§°>
**åæ´æ¥æº**ï¼F-XXX / INS-XXX / ææ¯æ¹è¿
**åæ´æ¥æ**ï¼YYYY-MM-DD
### åå½±åçæ¨¡å
| 模å | å½±åç±»å | 说æ |
|------|----------|------|
| UserService | ä¿®æ¹ | æ°å¢æ¹æ³ `resetPassword()` |
| AuthModule | æ°å¢ | æ°å¢å¯ç é置模å |
| EmailService | æ åå | å¤ç¨ç°æé®ä»¶æå¡ |
### åå½±åçæ¥å£
| æ¥å£ | åæ´ç±»å | ååå
¼å®¹ | 说æ |
|------|----------|----------|------|
| POST /api/auth/reset-password | æ°å¢ | â
| æ°æ¥å£ |
| GET /api/user/:id | ä¿®æ¹ | â
| è¿å弿°å¢å段 |
| POST /api/auth/login | ä¿®æ¹ | â | åæ°ç»æåæ´ |
### åå½±åçæ°æ®æ¨¡å
| å®ä½ | åæ´ç±»å | éè¦è¿ç§» | 说æ |
|------|----------|----------|------|
| User | ä¿®æ¹ | â
| æ°å¢ `resetToken` åæ®µ |
| PasswordResetLog | æ°å¢ | â
| æ°è¡¨ |
å ¼å®¹æ§è¯ä¼°
| åæ´ç±»å | ååå ¼å®¹å¤æ | å¤çæ¹å¼ |
|---|---|---|
| æ°å¢æ¥å£ | â å ¼å®¹ | ç´æ¥æ·»å |
| æ°å¢å段ï¼å¯éï¼ | â å ¼å®¹ | ç´æ¥æ·»å |
| æ°å¢å段ï¼å¿ å¡«ï¼ | â ä¸å ¼å®¹ | éè¦è¿ç§»è®¡å |
| ä¿®æ¹å段类å | â ä¸å ¼å®¹ | éè¦è¿ç§»è®¡å |
| å é¤å段/æ¥å£ | â ä¸å ¼å®¹ | éè¦åºå¼å¨æ |
| ä¿®æ¹æ¥å£åæ° | â ï¸ è§æ åµ | è¯ä¼°å½±åèå´ |
ç ´åæ§åæ´å¤çï¼
- æ æ³¨åºå¼ï¼Deprecatedï¼
- 设置åºå¼å¨æï¼å¦ 2 ä¸ªçæ¬ï¼
- æä¾è¿ç§»æå
- å¨åæ´è®°å½ä¸è¯´æ
è®¾è®¡åæ´è®°å½
å¢éè®¾è®¡å®æåï¼å¨è®¾è®¡ææ¡£æ«å°¾è¿½å åæ´è®°å½ï¼
---
## è®¾è®¡åæ´è®°å½
### v1.2.0 (2024-01-20)
**åæ´æ¥æº**ï¼F-005 å¯ç éç½®åè½, INS-003 ç»å½å®å
¨ä¼å
**æ°å¢æ¨¡å**ï¼
- `PasswordResetModule` - å¯ç é置模åï¼å
³è F-005ï¼
**ä¿®æ¹æ¨¡å**ï¼
- `AuthModule` - æ°å¢å¯ç éç½®å
¥å£
**æ°å¢æ¥å£**ï¼
- `IPasswordResetService.sendResetEmail()` - åééç½®é®ä»¶
- `IPasswordResetService.resetPassword()` - æ§è¡å¯ç éç½®
**æ°å¢ API**ï¼
- `POST /api/auth/forgot-password` - 请æ±å¯ç éç½®
- `POST /api/auth/reset-password` - æ§è¡å¯ç éç½®
**æ°æ®æ¨¡ååæ´**ï¼
- `User` æ°å¢å段ï¼`resetToken`, `resetTokenExpiry`
- æ°å¢å®ä½ï¼`PasswordResetLog`
**ç ´åæ§åæ´**ï¼æ
**è¿ç§»è¯´æ**ï¼
- æ§è¡æ°æ®åºè¿ç§»èæ¬ `migrations/001-add-reset-token.sql`
---
### v1.1.0 (2024-01-10)
...
å¢éè®¾è®¡æ£æ¥æ¸ å
- å·²è¯å«ææåå½±åçæ¨¡å
- å·²è¯å«ææåå½±åçæ¥å£
- å·²è¯å«ææåå½±åçæ°æ®æ¨¡å
- å·²è¯ä¼°ååå ¼å®¹æ§
- ç ´åæ§åæ´å·²æ æ³¨å¤çæ¹å¼
- å·²çæåæ´è®°å½
- æ°å¢å å®¹å·²æ æ³¨å ³èéæ±ï¼F-XXX / INS-XXXï¼
è¾åºæä»¶
主æä»¶ï¼docs/devdocs/02-system-design.md
ææ¡£æåè§å
彿»¡è¶³ä»¥ä¸æ¡ä»¶æ¶ï¼åºæåææ¡£ï¼
- ææ¡£è¶ è¿ 300 è¡
- æ¨¡åæ°éè¶ è¿ 5 个
- API æ¥å£è¶ è¿ 10 个
æåæ¹å¼ï¼
docs/devdocs/
âââ 02-system-design.md # ä¸»ææ¡£ï¼æ¶ææ¦è§ãææ¯éåãæ¨¡ååå
âââ 02-system-design-api.md # API è®¾è®¡ï¼æ¥å£å®ä¹ã请æ±ååºç¤ºä¾
âââ 02-system-design-data.md # æ°æ®æ¨¡åï¼å®ä½å®ä¹ãER å¾ãç´¢å¼çç¥
æåå 容åé ï¼
| æä»¶ | å å«ç« è |
|---|---|
| 02-system-design.md | 1-7: å¹³å°ãæ¶æãææ¯éåãæ¨¡åãæ¥å£ç¾åãæ¨¡å¼ã代ç ç»æ |
| 02-system-design-api.md | 9-10: 宿´ API 设计ãç¶ææµè½¬ |
| 02-system-design-data.md | 8, 11-13: æ°æ®æ¨¡åãå¼å¸¸å¤çãæ©å±æ§ãéæ±è¿½æº¯ |
è¯¦ç»æ¨¡æ¿åè§ templates/design-template.mdã
设计åå
MTE åå
ç³»ç»è®¾è®¡å¿ é¡»éµå¾ª MTE ååï¼
| åå | 说æ | æ£æ¥ç¹ |
|---|---|---|
| Maintainability | å¯ç»´æ¤æ§ | 模åèè´£åä¸ãä¾èµæ¸ æ°ãæäºçè§£åä¿®æ¹ |
| Testability | 坿µè¯æ§ | æ ¸å¿é»è¾å¯åå
æµè¯ãä¾èµå¯ Mockãè¾¹çæ¸
æ°ï¼åè /testing-guideï¼ |
| Extensibility | 坿©å±æ§ | é¢çæ©å±ç¹ãæ¥å£æ½è±¡ãå¼éåå |
设计模å¼éæ©
æ ¹æ®åºæ¯éæ©åéç设计模å¼ï¼åªå¨å¿ è¦æ¶ä½¿ç¨ï¼
| åºæ¯ | æ¨èæ¨¡å¼ | éç¨æ åµ |
|---|---|---|
| 对象å建 | Factory / Builder | å¤æå¯¹è±¡æå»ºãå¤ç§ç±»åå建 |
| è¡ä¸ºæ©å± | Strategy / Template | ç®æ³å¯æ¿æ¢ãæµç¨åºå®æ¥éª¤å¯å |
| ç»æç»ç» | Facade / Adapter | ç®å夿æ¥å£ãéé ç¬¬ä¸æ¹åº |
| ç¶æç®¡ç | State / Observer | ç¶æé©±å¨è¡ä¸ºãäºä»¶éç¥ |
| æ°æ®è®¿é® | Repository / DAO | æ°æ®å±æ½è±¡ãæ¥è¯¢å°è£ |
è®¾è®¡å±æ¬¡
âââââââââââââââââââââââââââââââââââââââ
â æ¥å£å± â â API/Controllerï¼èå±ï¼æ ä¸å¡é»è¾ï¼
âââââââââââââââââââââââââââââââââââââââ¤
â æå¡å± â â ä¸å¡é»è¾ï¼æ ¸å¿ï¼å¯æµè¯ï¼
âââââââââââââââââââââââââââââââââââââââ¤
â é¢åå± â â é¢å模åï¼å®ä½ãå¼å¯¹è±¡ï¼
âââââââââââââââââââââââââââââââââââââââ¤
â åºç¡è®¾æ½å± â â æ°æ®è®¿é®ãå¤é¨æå¡ï¼å¯æ¿æ¢ï¼
âââââââââââââââââââââââââââââââââââââââ
ææ¡£ç»æ
- ç®æ å¹³å° – å¹³å°ãçæ¬è¦æ±ãé¨ç½²ç¯å¢
- æ¶ææ¦è§ – é«å±æ¶æå¾ï¼Mermaidï¼
- ææ¯éå – ææ¯éæ©åçç±
- 模å设计 – 模åèè´£ä¸ä¾èµï¼æ æ³¨å ³èåè½ç¹ (F-XXX)
- æ ¸å¿æ¥å£ – é¢åæ¥å£ (ä» ç¾å): å ³é®æ¥å£åæ¹æ³ç¾åï¼ä¸¥ç¦å å«å ·ä½å®ç°é»è¾ï¼ï¼æ æ³¨å ³è F-XXX
- è®¾è®¡æ¨¡å¼ – åºç¨ç模å¼åçç±
- 代ç ç»æ – ç®å½ç»æè®¾è®¡
- æ°æ®æ¨¡å – å®ä½å®ä¹ä¸å ³ç³»
- API 设计 – æ¥å£ç«¯ç¹å请æ±/ååºç¤ºä¾ï¼æ æ³¨å ³è F-XXX, AC-XXX
- ç¶ææµè½¬ – å ³é®ä¸å¡æµç¨çç¶ææº
- å¼å¸¸å¤ç – é误ç ä¸å¤ççç¥
- æ¥å¿è®¾è®¡ – æ¥å¿çº§å«ãå ³é®æ¥å¿ç¹ã追溯 ID
- æ©å±æ§ – æ©å±ç¹ä¸æªæ¥èé
- éæ±è¿½æº¯ – åè½ç¹ä¸æ¨¡å/æ¥å£çæ å°å ³ç³»ï¼è¦çæ£æ¥æ¸ å
æ ¸å¿æ¥å£è®¾è®¡
è®¾è®¡ææ¡£ä¸åºä½ç°æ ¸å¿æ¥å£å®ä¹ï¼åªå®ä¹ç¾åï¼ä¸åå®ç°ï¼ï¼å¹¶æ æ³¨å ³èåè½ç¹ï¼
### æ ¸å¿æ¥å£
#### IUserServiceï¼å
³èï¼F-001 ç¨æ·æ³¨å, F-002 ç¨æ·ç»å½ï¼
| æ¹æ³ | åæ° | è¿åå¼ | å
³è | 说æ |
|------|------|--------|------|------|
| `createUser` | `CreateUserDTO` | `User` | F-001, AC-001 | åå»ºç¨æ· |
| `validateEmail` | `string` | `boolean` | F-001, AC-002 | éªè¯é®ç®± |
| `login` | `LoginDTO` | `AuthToken` | F-002, AC-006 | ç¨æ·ç»å½ |
#### IUserRepository
| æ¹æ³ | åæ° | è¿åå¼ | 说æ |
|------|------|--------|------|
| `save` | `User` | `User` | ä¿åç¨æ· |
| `findById` | `string` | `User \| null` | æ ¹æ®IDæ¥è¯¢ |
| `findByEmail` | `string` | `User \| null` | æ ¹æ®é®ç®±æ¥è¯¢ |
代ç ç»æè®¾è®¡
### ç®å½ç»æ
src/
âââ api/ # æ¥å£å±
â âââ controllers/ # æ§å¶å¨ï¼è·¯ç±å¤çï¼
â âââ middlewares/ # ä¸é´ä»¶ï¼è®¤è¯ãæ¥å¿çï¼
â âââ validators/ # 请æ±éªè¯
âââ services/ # æå¡å±
â âââ interfaces/ # æå¡æ¥å£å®ä¹
â âââ impl/ # æå¡å®ç°
âââ domain/ # é¢åå±
â âââ entities/ # å®ä½
â âââ value-objects/ # å¼å¯¹è±¡
â âââ events/ # é¢åäºä»¶
âââ infrastructure/ # åºç¡è®¾æ½å±
â âââ repositories/ # æ°æ®ä»å¨å®ç°
â âââ external/ # å¤é¨æå¡éé
â âââ config/ # é
ç½®
âââ shared/ # å
񄧮
âââ types/ # ç±»åå®ä¹
âââ utils/ # å·¥å
·å½æ°
âââ constants/ # 常é
æ¥å¿è®¾è®¡
æ¥å¿æ¯è°è¯åé®é¢ææ¥çå ³é®å·¥å ·ï¼ç¹å«æ¯å¯¹äºæå¨æµè¯å E2E æµè¯åºæ¯ã
æ¥å¿çº§å«
| çº§å« | ç¨é | 示ä¾åºæ¯ |
|---|---|---|
| ERROR | éè¦ç«å³å¤ççé误 | æ°æ®åºè¿æ¥å¤±è´¥ãæ¯ä»å¤±è´¥ãå ³é®æå¡ä¸å¯ç¨ |
| WARN | æ½å¨é®é¢ä½ä¸å½±åæ ¸å¿åè½ | éè¯æåãé级å¤çãèµæºæ¥è¿éå¼ |
| INFO | å ³é®ä¸å¡æä½ | ç¨æ·ç»å½ã订åå建ãç¶æåæ´ |
| DEBUG | è°è¯ä¿¡æ¯ | 彿°å ¥åãä¸é´ç¶æãæ§è½ææ |
å ³é®æ¥å¿ç¹
è®¾è®¡ææ¡£ä¸åºååºå ³é®æä½çæ¥å¿ç¹ï¼
| æä½ | æ¥å¿çº§å« | æ¥å¿å
容 | å
³èç¼å· |
|------|----------|----------|----------|
| ç¨æ·ç»å½æå | INFO | `[F-002] User login: userId={}, ip={}` | F-002, AC-006 |
| ç¨æ·ç»å½å¤±è´¥ | WARN | `[F-002] Login failed: userId={}, reason={}` | F-002, AC-007 |
| å¯ç éªè¯å¤±è´¥ | WARN | `[F-002] Password mismatch: userId={}` | AC-007 |
| æ°æ®åºå¼å¸¸ | ERROR | `[INFRA] DB error: {}, query={}` | - |
| 订åå建 | INFO | `[F-003] Order created: orderId={}, userId={}` | F-003 |
æ¥å¿æ ¼å¼
[æ¶é´] [级å«] [追溯ID] [模å] æ¶æ¯ {ç»æåæ°æ®}
示ä¾ï¼
2024-01-26 10:30:15 INFO [req-abc123] [UserService] User created {"userId": "u001", "email": "user@example.com"}
2024-01-26 10:30:16 ERROR [req-abc123] [EmailService] Failed to send verification email {"userId": "u001", "error": "SMTP timeout"}
追溯 ID (Correlation ID)
| 屿§ | 说æ |
|---|---|
| çææ¶æº | æ¯ä¸ªè¯·æ±å ¥å£çæå¯ä¸ ID |
| ä¼ éæ¹å¼ | éè¿ Context/Header 贯穿æ´ä¸ªè°ç¨é¾ |
| å½åçº¦å® | traceId æ correlationId |
| æ ¼å¼ | UUID æ req-{timestamp}-{random} |
ç¨éï¼
- E2E æµè¯å¤±è´¥æ¶ï¼éè¿
traceIdæ¥è¯¢å®æ´æ¥å¿é¾ - åå¸å¼ç³»ç»ä¸è·¨æå¡è¿½è¸ª
- é®é¢ææ¥æ¶å ³èææç¸å ³æ¥å¿
E2E æµè¯æ¥å¿çç¥
| åºæ¯ | æ¥å¿çç¥ | 说æ |
|---|---|---|
| æµè¯éè¿ | ä» ä¿ç ERROR/WARN | åå°æ¥å¿é |
| æµè¯å¤±è´¥ | ä¿ç宿´æ¥å¿ï¼å« DEBUGï¼ | ä¾¿äºææ¥ |
| æå¨å¤ç° | å¯ç¨ DEBUG çº§å« | æå¤§åä¿¡æ¯ |
å¤±è´¥åææµç¨ï¼
1. è·å失败æµè¯ç traceId
â
â¼
2. æ¥è¯¢è¯¥ traceId ç宿´æ¥å¿é¾
â
â¼
3. å®ä½é¦ä¸ª ERROR/å¼å¸¸ç¹
â
â¼
4. åæä¸ä¸ææ¥å¿
æ¥å¿è®¾è®¡çº¦æ
- å ³é®ä¸å¡æä½å¿ é¡»æ INFO çº§å«æ¥å¿
- éè¯¯å¿ é¡»æ ERROR çº§å«æ¥å¿ï¼å å«ä¸ä¸æ
- æ¥å¿å¿ é¡»å å«è¿½æº¯ ID
- æ¥å¿å¿ é¡»æ æ³¨å ³èçåè½ç¹ç¼å·
- ææä¿¡æ¯ï¼å¯ç ãTokenï¼ä¸å¾åºç°å¨æ¥å¿ä¸
- æ¥å¿æ ¼å¼å¿ é¡»æ¯æç»æåè§£æ
约æ
åºç¡çº¦æ
- å¿ é¡»å 询é®ç¨æ·ææ¯æ å好åç®æ å¹³å°
- ææ¯éåå¿ é¡»è¯´æçç±
- å¦ç¨æ·æ åå¥½ï¼æ ¹æ®éæ±éæ©æä¼æ¹æ¡
- å¿ é¡»æå®ç®æ å¹³å°åæä½çæ¬è¦æ±
- API è®¾è®¡å¿ é¡»å å«è¯·æ±/ååºç¤ºä¾
- æ°æ®æ¨¡åå¿ é¡»èèç´¢å¼åæ¥è¯¢æ¨¡å¼
- å¿ é¡»è¯å«ä¸ç°æç³»ç»çéæç¹
- ä¼å 使ç¨é¡¹ç®ç°æææ¯æ
MTE åå约æ
- æ¯ä¸ªæ¨¡åèè´£åä¸ï¼ä¸è¶ è¿ä¸ä¸ªåååå
- æ ¸å¿ä¸å¡é»è¾å¿
é¡»å¯åå
æµè¯ï¼æ å¤é¨ä¾èµæä¾èµå¯ Mockï¼è¯¦è§
/testing-guideï¼ - é¢çåçæ©å±ç¹ï¼ä½ä¸ä¸ºåè®¾éæ±è®¾è®¡
- ä¾èµæ¹åï¼å¤å±ä¾èµå å±ï¼å å±ä¸ä¾èµå¤å±
- æ¥å£ä¼äºå®ç°ï¼ä¾èµæ½è±¡ï¼ä¸ä¾èµå ·ä½å®ç°
设计模å¼çº¦æ
- åªå¨è§£å³å®é é®é¢æ¶ä½¿ç¨è®¾è®¡æ¨¡å¼ï¼ä¸ä¸ºä½¿ç¨è使ç¨
- 使ç¨ç设计模å¼å¿ 须说æè§£å³ä»ä¹é®é¢
- ä¼å éæ©ç®åæ¹æ¡ï¼å¤ææ¹æ¡éè¦è¯´æçç±
- ç¸åé®é¢å¨é¡¹ç®ä¸ä½¿ç¨ä¸è´ç模å¼
é¿å è¿åº¦è®¾è®¡
- ä¸ä¸º”æªæ¥å¯è½”çéæ±è®¾è®¡ï¼åªä¸ºå½åéæ±è®¾è®¡
- ä¸åå»ºåªæä¸ä¸ªå®ç°çæ¥å£ï¼é¤é为äºå¯æµè¯æ§ï¼
- ä¸è¿æ©æ½è±¡ï¼çå°æ 3 个以ä¸ç¸ä¼¼åºæ¯åæ½è±¡
- é ç½®ä¼äºç¡¬ç¼ç ï¼ä½ä¸ä¸ºææå 容添å é ç½®
å®å ¨çº¦æ
- æææ°æ®ï¼å¯ç ãTokenï¼ä¸ææåå¨
- éè¦è®¤è¯ç API å·²æ æ³¨
- ç¨æ·è¾å ¥æéªè¯ï¼é²æ³¨å ¥ï¼
- æææä½ææ¥å¿è®°å½
å¢é设计约æ
- å¢é设计åå¿ é¡»è¿è¡å½±ååæ
- å¿ é¡»è¯ä¼°ååå ¼å®¹æ§
- ç ´åæ§åæ´å¿ é¡»æ æ³¨å¤çæ¹å¼
- å¿ é¡»çæè®¾è®¡åæ´è®°å½
- æ°å¢å å®¹å¿ é¡»æ æ³¨å ³èéæ±ï¼F-XXX / INS-XXXï¼
- ä¿®æ¹ç°ææ¥å£å¿ 须说æå ¼å®¹æ§
- æ°æ®æ¨¡ååæ´å¿ é¡»è¯´æè¿ç§»æ¹æ¡
Skill åä½
| åºæ¯ | åä½ Skill | 说æ |
|---|---|---|
| æ°åè½è®¾è®¡åæ´ | /devdocs-feature |
æ°åè½è§¦åå¢é设计 |
| ä¼åå»ºè®®è®¾è®¡åæ´ | /devdocs-insights |
æ´å¯ç¡®è®¤å触åå¢é设计 |
| 坿µè¯æ§è®¾è®¡ | /testing-guide |
ç¡®ä¿æ ¸å¿é»è¾å¯åå æµè¯ |
| 代ç è´¨é | /code-quality |
MTE ååæå¯¼è®¾è®¡ |
| UI æ¶æ | /ui-orchestrator |
è·¯ç±å°ä¸ä¸çå¤é¨ UI/UX Skill |
| æ¥å£èªå¨æå | /devdocs-retrofit |
ä»ç°æä»£ç éåæåæ¥å£å®ä¹å¹¶åæ¥å°è®¾è®¡ææ¡£ |
ä¸ä¸æ¥
åå§è®¾è®¡å
ç¨æ·ç¡®è®¤ç³»ç»è®¾è®¡åï¼å»ºè®®è¿è¡ /devdocs-test-cases è¿å
¥æµè¯ç¨ä¾è®¾è®¡é¶æ®µã
å¢é设计å
- 妿æ°å¢åè½ç¹ â è¿è¡
/devdocs-test-casesè¡¥å æµè¯ç¨ä¾ - å¦ææ°æ®æ¨¡ååæ´ â å夿°æ®åºè¿ç§»èæ¬
- å¦æç ´åæ§åæ´ â éç¥ç¸å ³ä¾èµæ¹