Quickstart
Zero to your first skill run in 10 minutes.
Prereqs
- Node 20+
- Docker (for Postgres)
- API key for at least one LLM provider (OpenAI or Anthropic)
1. Clone + install
git clone <your-vocion-core-url>
cd vocion-core
npm install
2. Configure env
cp packages/core/.env.example packages/core/.env.local
Edit packages/core/.env.local — at minimum:
DATABASE_URL=postgresql://postgres:postgres@127.0.0.1:5432/vocion
AUTH_SECRET=... # generate with: openssl rand -base64 32
OPENAI_API_KEY=sk-...
Out of the box, auth is auth.js (next-auth) with email + password — AUTH_SECRET is the only auth env var you need. (Hosted/cloud builds can opt into Clerk instead by setting VOCION_AUTH_PROVIDER=clerk plus the Clerk keys; that's optional and not the default.)
3. Start infra
npm run dev:up
This boots Postgres (pgvector + FTS for first-party retrieval) + Langfuse + Temporal.
4. Apply schema + reference context
npm run db:migrate
npm run workspace:apply
The first workspace:apply seeds the reference tenant at workspace/metacto/ — one agent (the Sales Assistant), 13 skills, 4 object types, 1 workflow. You can swap in your own tenant later by setting WORKSPACE_PATH.
5. Run the dev server
npm run dev:next
Open http://localhost:3000/sign-in and sign in with email + password. Local dev seeds a demo login: demo@example.com / demo123.
6. Talk to an agent
Head to /dashboard/chat and ask the Sales Assistant:
"Summarize the last discovery call."
the Sales Assistant will:
- Route through the
search_everythingskill (retrieval across your Sources) - Pick
discovery_summaryfrom its wired skill catalog - Stream back a structured summary with citations back to the transcript
7. Author something
Edit a skill in your editor:
$EDITOR workspace/metacto/skills/discovery-summary/prompt.md
Apply the change:
npm run workspace:apply
Talk to the Sales Assistant again — the new prompt is live. Every skill_run stamps the new workspace_sha, so any output traces back to the exact commit.
8. Ship it to your own tenant
Create a new workspace directory:
mkdir -p workspace/<your-org>/{sources,objects,skills,workflows,agents}
cat > workspace/<your-org>/workspace.yaml <<EOF
version: 1
orgId: <your-org-id>
name: <your-org>
EOF
Point the runtime at it:
WORKSPACE_PATH=workspace/<your-org> VOCION_ORG_ID=<org-id> npm run workspace:apply
Now everything you author under workspace/<your-org>/ is scoped to your organization. When you're ready to split it into its own git repo, see extract-tenant.md.
Next
- Authoring context — the full edit + apply loop
- Concepts — read all five resources (~15 min, best ROI)
- Writing a plugin — when a prompt skill isn't enough