feat: skill expansion — browser, security, SQL, files (16 skills total)
Novas skills instaladas: - openclaw-agent-browser v1.0.0 CLI Chromium — navegação, login, screenshots, state - skill-security-audit v1.0.0 SAST scanning, prompt injection, secrets audit - sql-toolkit v1.0.0 PostgreSQL/MySQL/SQLite — schema, query, otimização - file v1.0.0 Organização de arquivos por contexto - file-summary v1.0.0 Extração e resumo de PDFs, Word, Excel Workspace expandido: - TOOLS.md: +Browser automation, Security audit, SQL, File management - AGENTS.md: +Linux Analyst section (comandos, logs, rede, scripts) + Full-stack strategy - MEMORY.md: 16 skills indexadas, stack map, comandos Linux ref - SESSION-STATE.md: atualizado com contexto completo - lock.json: sincronizado com 16 skills instaladas
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
# Generic Traps
|
||||
|
||||
- `useState<User>()` infiere `User | undefined` — manejar undefined inicial
|
||||
- `Array.filter(x => x.active)` no narrowea — necesita type guard: `.filter((x): x is Active => x.active)`
|
||||
- `Promise.all([a(), b()])` infiere tupla solo con `as const`
|
||||
- `<T = any>` escapa el `any` al resto del código
|
||||
- `<T extends object>` permite arrays — usar `Record<string, unknown>` para objetos
|
||||
- `<T extends string>` con literal infiere `string`, no el literal
|
||||
- `keyof T` en función genérica es `string | number | symbol`
|
||||
- Arrays covariantes — `Dog[]` assignable a `Animal[]` pero push de Cat rompe runtime
|
||||
- Function params contravariantes — `(Animal) => void` NO assignable a `(Dog) => void`
|
||||
- `{ [K in keyof T]: X }` pierde modificadores — usar `-?` o `-readonly`
|
||||
- `Partial<T>` y `Required<T>` son shallow — no afectan nested
|
||||
Reference in New Issue
Block a user