pydantic
Comprehensive Pydantic data validation skill for customer support tech enablement - covering BaseModel, Field validation, custom validators, FastAPI integration, BaseSettings, serialization, and Pydantic V2 features
SKILL.md
| Name | pydantic |
| Description | Comprehensive Pydantic data validation skill for customer support tech enablement - covering BaseModel, Field validation, custom validators, FastAPI integration, BaseSettings, serialization, and Pydantic V2 features |
Extractor Desktop App (Trae Extractor)
Local-first AI command center for content creators. Extract photos from Apple Photos, edit with AI, generate captions, and schedule posts without uploading personal media to external servers by default.
Visione
- Automatizzare l'80% del workflow media con agenti AI e controllo umano nei punti critici.
- Mantenere la privacy: dati locali, API key in keychain, processi isolati.
- UI desktop reattiva e leggera con Svelte + shadcn-svelte.
Stato e roadmap
La pianificazione e il tracking sono gestiti in .taskmaster/. Vedi:
/.taskmaster/docs/prd.mdper la visione completa./.taskmaster/tasks/tasks.jsonper l'elenco aggiornato delle task.
Focus attuale (estratto dalle task principali):
- Base UI con shadcn-svelte + routing hash.
- IPC bridge sicuro + keychain.
- Configurazione multi-provider LLM.
- Sidecar Python (FastAPI) per agenti.
- Agenti: extraction (osxphotos), editing (Cloudinary + Shotstack), captioning (RAG), scheduling (Postiz).
- Generative UI con json-render (core) + renderer Svelte custom.
Cloudinary MVP Policy (Canonical)
- Baseline economica: Cloudinary
Freecon upgrade successivo a Plus quando necessario. - Video timeline editor primario:
Shotstack. - Cloudinary copre upload/tagging/transformation/export e quick edits.
- Guardrail runtime: preflight centralizzato per limiti piano/quota/add-on e size policy.
- Storage canonico locale:
raw/(originali) +ready/(finali pubblicabili). - Retention cloud: nessun purge per asset scheduled; purge post publish/cancel.
- Source of truth:
/.taskmaster/docs/cloudinary/README.md.
Stack principale
- Electron 36 + Electron Forge (main/renderer separati, context isolation).
- SvelteKit 2 + Svelte 5 Runes.
- shadcn-svelte + TailwindCSS 4.
- Task Master AI per PRD e task graph.
- Python sidecar (FastAPI) per agenti e strumenti AI.
- Cagent by Docker per definizione agenti e orchestrazione via YAML (non richiede Docker attivo).
Architettura (high level)
Renderer (Svelte UI)
-> services (IPC client)
-> Electron preload (contextBridge)
-> Electron main (IPC handlers, keychain, sidecar manager)
-> Python sidecar (FastAPI, agenti Cagent)
-> osxphotos sandbox / MCP tools / Postiz API
Principi chiave:
- Renderer solo UI, niente I/O pesante o logica di business.
- Operazioni costose in main process o sidecar.
- IPC tipizzato e minimale.
Struttura progetto (attuale + pianificata)
electron/ # Electron main + preload
src/ # SvelteKit renderer
lib/components/ui/ # shadcn-svelte
lib/components/custom/ # componenti app
lib/services/ # wrapper IPC
lib/stores/ # Svelte 5 runes
.taskmaster/ # PRD + task graph
python/ # sidecar agenti FastAPI
Sviluppo locale
Requisiti: Node.js + pnpm + Python 3.11.
Installazione:
pnpm install
python3 -m pip install -r python/requirements-dev.txt
Dev server Electron:
pnpm run dev
Note: On macOS,
pnpm run devis preferred overpnpm run startdue to a process signal issue with electron-forge.
Check e test:
pnpm run lint
pnpm run lint:py
pnpm run check
pnpm run test:unit -- --run
pnpm run test:python:smoke
pnpm run pre-pr:checks
Workflow pre-PR (corrente)
Policy sintetica:
- Gate automatici baseline: changed-files quality (
lint-staged --diff),check,test:unit,test:python:smokequando impatta Python. - E2E locale obbligatoria sui flow toccati: Agent Browser CLI (manuale, con checklist nel pre-PR script).
- Verifica build/package fuori dal gate standard: eseguirla solo per task che toccano
electron/main,preload, packaging/release.
Stato E2E Playwright in PR/CI
- Definizione workflow Playwright in PR/CI è deferred a una sessione dedicata.
- In questa wave non è stato definito il runner mode CI (Playwright puro vs agent).
Riferimento canonico: /.taskmaster/docs/playwright-e2e-workflow.md
Build:
pnpm run package
pnpm run make
Note:
- Routing hash: usare
#/routenei link. - Il progetto usa patching di SvelteKit (vedi
package.json). - La configurazione agenti vive in YAML (Cagent) e viene generata da settings UI.
Task Master (workflow rapido)
task-master list
task-master next
task-master show <id>
task-master set-status --id=<id> --status=done
Cagent (Docker) - note rapide
- Gli agenti e l'orchestrazione sono definiti in YAML (Cagent).
- Non serve Docker attivo sulla macchina host per usare Cagent.
- I tool MCP possono comunque usare Docker MCP Gateway se disponibile.
Contributing
Linee guida per sviluppo e AI agents in AGENTS.md.