Agents: 6,235 → 1,454 lines (-77%). Each agent compressed to Role/Behavior/Delegates/Output/Handoff format. Gitea commenting extracted to shared block (.kilo/shared/gitea-commenting.md). Self-evolution protocol extracted to shared block (.kilo/shared/self-evolution.md). Gitea API client centralized (.kilo/shared/gitea-api.md). Rules: 2,358 → 1,189 lines (-50%). Deleted sdet-engineer.md (duplicate of agent) and orchestrator-self-evolution.md (moved to shared/). Compressed docker (549→26), flutter (521→28), go (283→21), nodejs (271→27), code-skeptic (59→14) to checklists with skill references. Fitness: 54/54 tests pass, 29/29 agents validated, fitness=0.92
28 lines
1.1 KiB
Markdown
28 lines
1.1 KiB
Markdown
# NodeJS Reference
|
|
|
|
Quick reference for Node.js/Express development. Detailed patterns in `.kilo/skills/nodejs-*`.
|
|
|
|
## Checklist
|
|
|
|
- [ ] `const`/`let` only, never `var`
|
|
- [ ] async/await everywhere, Promise.all for parallel ops
|
|
- [ ] try/catch with centralized error middleware (never swallow)
|
|
- [ ] Validate + sanitize input; parameterized queries; helmet middleware
|
|
- [ ] express.Router() for routes; handlers thin; error handler last
|
|
- [ ] Transactions for multi-write DB operations
|
|
- [ ] Structured logging (pino/winston); never log sensitive data
|
|
- [ ] JWT: short-lived access + refresh tokens; httpOnly cookies; never put secrets in payload
|
|
- [ ] bcrypt for passwords (cost ≥ 12); never store plaintext
|
|
- [ ] .env for secrets; validate required env vars on startup
|
|
- [ ] Exact dependency versions; `npm audit` regularly
|
|
- [ ] Streaming for large files; pagination for lists; compression middleware
|
|
|
|
## Common Patterns
|
|
|
|
```
|
|
routes/user.js → router.get('/', auth, validate, ctrl.list)
|
|
middleware/error.js → app.use(errorHandler) // last
|
|
db → connection pool, transactions for writes
|
|
tests → Jest, 80%+ coverage, mock externals
|
|
```
|