A local-first web app for discovering, creating, importing, validating, reviewing, and exporting AI agent skill packages. The production target is a static Vite build on Cloudflare Pages.
Before making changes, read docs/agent.md. It summarizes the Cloudflare Pages deployment constraints, application structure, data flow, and key files for coding agents.
- Static catalog loaded from
public/data/catalog.json. - Browser-only skill package editor with file tree, markdown editing, preview, validation, and ZIP export.
- ZIP import with local path normalization and validation.
- IndexedDB workspace for local drafts, statuses, and backup import/export.
- Local review statuses for draft, validated, submitted, approved, rejected, and blocked packages.
- Knowledge base loaded from
public/data/kb/articles.json. - React Flow composer mode for visual skill pack composition.
- React 19
- TypeScript
- Vite
- Express
- Tailwind CSS
- React Flow
- Zustand
- JSZip
- Node.js 20 or newer
- npm
npm install
npm run devThe app will be available at:
http://localhost:3000
npm run devStarts the Vite development server.
npm run buildBuilds the static frontend into dist.
npm run startRuns a local Vite preview for the static production build.
npm run lintRuns TypeScript validation without emitting files.
npm testRuns validation smoke tests.
Use short-lived branches and pull requests into main. Before pushing a branch, run:
npm test
npm run lint
npm run buildGitHub Actions runs the same checks for pull requests and pushes to main. See CONTRIBUTING.md for branch naming, commit style, PR expectations, and recommended branch protection settings.
The project does not require AI provider keys or backend secrets.
Optional variable:
APP_URL="http://localhost:3000"src/
components/ UI components and screen views
lib/ Local storage, validation, ZIP, templates, and catalog loaders
App.tsx Main application composition
main.tsx React entrypoint
store.ts Zustand store
types.ts Shared TypeScript types
public/data/catalog.json
Static catalog used by Cloudflare Pages
public/data/kb/articles.json
Static knowledge base articles
public/data/skills.json
Static library used by the visual composer
docs/agent.md Notes for coding agents
server.ts Legacy local/server entrypoint; not used by Cloudflare Pages production
vite.config.ts Vite configuration
npm run buildUse dist as the Pages output directory. The app is static-only in v1; no Express routes, Pages Functions, D1, KV, R2, auth provider, or server-side review workflow are required.