Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (studiograph) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Studiograph
Team-based AI agent platform with Git-backed knowledge graphs. Studiograph helps creative services teams capture operational knowledge as Markdown entities with YAML frontmatter, organized into Git repositories, and enables AI agents to produce work reflecting real team context.
Quick Start
Prerequisites
- Node.js 20+
- Git installed and configured
- An API key from a supported LLM provider (Anthropic, OpenAI, Google, xAI, Groq, or OpenRouter)
- Supported platforms: macOS (Apple Silicon), Linux (x64/arm64), Windows (x64/arm64). Intel Macs are not supported due to a LanceDB dependency.
Install
npm install -g studiographCreate a Workspace
studiograph init "My Studio"This creates a workspace directory with a .studiograph/ config folder — similar to how Git uses .git/ — and scaffolds example entities to get you started.
To create repos on GitHub during init:
studiograph init "My Studio" --github --github-org my-orgJoin an Existing Workspace
studiograph join https://github.com/my-org/.studiograph.gitThis clones the config repo, identifies your role from the team roster, and clones all repos you have access to.
Start the Agent
cd my-studio
studiograph startOn first run, you'll be prompted to select an AI provider and model. The agent provides a chat interface where you can create, search, and manage entities across your knowledge graph.
How It Works
Workspace Structure
A Studiograph workspace is a directory containing a .studiograph/ configuration folder and one or more content repositories:
my-studio/
├── .studiograph/ # Config repo (workspace.json, team roster, migrations)
├── acme-rebrand/ # Collection (client project)
├── website-redesign/ # Collection (another project)
├── team-knowledge/ # Collection (processes, standards)
└── private/ # Local-only, gitignoredCollections
Each subdirectory is a collection — a Git repo containing related entities. Collections are lightweight and flexible: one per project, one for team knowledge, one for business operations, or however your team thinks.
Entities
Entities are Markdown files with YAML frontmatter, stored in type-based directories within repos:
acme-rebrand/
├── project/
│ └── acme-rebrand.md
├── meeting/
│ └── kickoff-2024-01-15.md
├── deliverable/
│ └── brand-guidelines-v1.md
└── person/
└── jane-doe.mdEach entity file looks like:
---
entity_type: project
entity_id: acme-rebrand
name: "Acme Rebrand"
status: active
team:
- [[alice-smith]]
- [[bob-jones]]
related_projects:
- [[website-redesign]]
created_at: 2024-01-15T10:00:00Z
updated_at: 2024-02-20T14:30:00Z
created_by: alice
updated_by: alice
---
# Acme Rebrand
Project notes and context go here...Entity IDs are always kebab-case. Entities link to each other with wikilinks ([[entity-id]]), which work across repos.
There are 17 built-in entity types (project, meeting, person, organization, decision, task, document, etc.), and workspaces can define custom types via schema_extensions in workspace.json.
CLI Commands
Getting Started
| Command | Description |
|---|---|
studiograph init <team-name> [dir] |
Initialize a new workspace |
studiograph join <url> [dir] |
Join an existing workspace via GitHub URL |
studiograph auth |
Manage GitHub authentication |
Daily Workflow
| Command | Description |
|---|---|
studiograph start |
Launch the AI agent chat interface |
studiograph pull |
Pull latest changes from remote |
studiograph push |
Push local commits to remote |
Workspace Management
| Command | Description |
|---|---|
studiograph collection |
Manage collections (add, list, rename, remove) |
studiograph provision |
Push workspace config to GitHub as a separate repo |
studiograph members |
Manage team members and roles |
studiograph index |
Rebuild search index |
studiograph lint |
Check entity completeness and broken wikilinks |
studiograph config |
View and update workspace configuration |
Server & Deployment
| Command | Description |
|---|---|
studiograph serve |
Start the HTTP server (Graph API, Chat API, webhooks) |
studiograph deploy railway |
Guided Railway deployment wizard |
Integrations
| Command | Description |
|---|---|
studiograph mcp |
Start the MCP server for Claude Desktop |
studiograph connector |
Configure third-party integrations (Linear, Slack, Figma, etc.) |
studiograph app |
Manage installed app plugins |
studiograph r2 |
Configure Cloudflare R2 for asset storage |
Integrations
Claude Desktop & Claude Code (MCP)
Studiograph exposes a Model Context Protocol server so any MCP client can read and write your knowledge graph directly.
Claude Desktop — add to your config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"studiograph": {
"command": "studiograph",
"args": ["mcp", "/absolute/path/to/your/workspace"]
}
}
}Claude Code — add to your project's .mcp.json:
{
"mcpServers": {
"studiograph": {
"command": "studiograph",
"args": ["mcp", "/absolute/path/to/your/workspace"]
}
}
}If you're running from the workspace directory, you can omit the path: studiograph mcp.
MCP tools available: list_repos, list_entities, get_entity, search_entities, create_entity, update_entity, delete_entity.
Third-Party Connectors
Studiograph can connect to external services via MCP connectors. Built-in connector configs are available for:
- Linear — issues and project tracking
- Slack — messages and channels
- Figma — design files
- Google Workspace — docs, sheets, calendar
- Granola — meeting notes
- Pipedrive — CRM deals and contacts
Configure with:
studiograph connector add linearConnector credentials are stored at ~/.studiograph/connectors/ with restricted file permissions.
HTTP Server
studiograph serve starts a Fastify server with:
| Route | Method | Description |
|---|---|---|
/api/repos |
GET | List all repositories |
/api/repos/:repo/entities/:type |
GET | List entities by type |
/api/repos/:repo/entities/:type/:id |
GET | Get a single entity |
/api/repos/:repo/search |
GET | Search within a repo |
/api/search |
GET | Search across all repos |
/api/chat |
POST | Send a message to the agent |
/api/chat/stream |
GET | SSE streaming chat |
/webhooks/github |
POST | GitHub push webhook (auto-pull) |
Authentication uses bearer tokens set via the API_KEYS environment variable (semicolon-separated). When no keys are configured, the server runs in open dev mode.
Deployment
Railway
studiograph deploy railwayThe guided wizard walks through setup. Required environment variables:
| Variable | Description |
|---|---|
STUDIOGRAPH_CONFIG_REPO |
GitHub URL to your .studiograph config repo |
GITHUB_TOKEN |
Fine-grained PAT with repo Contents read access |
API_KEYS |
Semicolon-separated bearer tokens for client auth |
WEBHOOK_SECRET |
GitHub webhook HMAC-SHA256 secret (optional) |
PORT |
Set automatically by Railway |
On first boot, the server clones the config repo and all content repos automatically.
Development
Setup
git clone <repo-url>
cd studiograph
npm install
npm run buildScripts
npm run build # Compile TypeScript + copy prompt/skill files to dist/
npm run dev # Watch mode (tsc --watch)
npm run test # Run tests in watch mode (Vitest)
npm run lint # ESLint
npx vitest run # Run tests once (CI mode)Run a Single Test
npx vitest run src/core/__tests__/graph.test.tsProject Layout
src/
├── cli/ # Commander.js commands
├── core/ # Workspace, graph, validation, schema registry, types
├── services/ # Git, Markdown, CSV, vector search, assets, memory, lint
├── agent/ # AI orchestrator, tools, skills, system prompts
├── server/ # Fastify HTTP server and API routes
├── mcp/ # Model Context Protocol server and connector manager
├── auth/ # GitHub authentication (OAuth device flow)
└── utils/ # Preflight checks, version checking, git helpersKey Files
src/core/types.ts— Zod schemas for workspace config, entities, repossrc/core/validation.ts— All 17 built-in entity type schemassrc/core/graph.ts—BaseGraphManager(CRUD for a single repo)src/core/workspace-manager.ts—WorkspaceManager(multi-repo coordination)src/core/workspace.ts—.studiograph/directory managementsrc/agent/orchestrator.ts— AI agent setup with multi-provider supportsrc/server/index.ts— Fastify server factory
License
Apache 2.0 — see LICENSE for details.