langbot-app/langbot/langbot-dev
- community
- ext:[{"type":"hook","description":"Pre/post lifecycle hooks"}]
Checking that the SKILL.md file is still in the repository.
Develop, build, and debug the LangBot core backend and web frontend. Use when working inside the LangBot repository — backend (Python/Quart, src/langbot/pkg), the Vite/React web UI, HTTP API controllers/services, Alembic migrations, or the MCP server. Covers the dev environment (uv, pnpm), repo layout, the API auth model (user token / API key / global key), adding API endpoints, and the rule that API changes must update the MCP server and skills. Triggers on "langbot backend", "langbot dev", "langbot api", "add langbot endpoint", "langbot migration".
Install
npx vskill@latest install langbot-app/langbot/langbot-devSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
LangBot Core Development
This skill covers developing the LangBot core (the main repo), distinct from plugin development (see langbot-plugin-dev) and deployment (langbot-deploy).
Stack
- Backend: Python
>=3.11,<4.0, deps viauv. Framework: Quart (async
Flask). Serves the HTTP API + pre-built web UI on http://127.0.0.1:5300.
- Frontend (
web/): Vite + React Router 7 + shadcn/ui + Tailwind,
managed by pnpm. Dev server on :3000. (NOT Next.js — dev script is vite.)
Dev environment
First run generates data/config.yaml; DB defaults to SQLite (PostgreSQL supported). Migrations run automatically on startup.
Repo layout (key paths)
HTTP API auth model
Route auth is declared per-route via AuthType in pkg/api/http/controller/group.py:
NONE— public.USER_TOKEN— web UI JWT (Authorization: Bearer <jwt>).API_KEY—X-API-KeyorAuthorization: Bearer <key>.USER_TOKEN_OR_API_KEY— either.
Authenticated routes receive an immutable RequestContext containing the principal, authorized Workspace membership, fixed-role permissions, instance, request id, and placement generation. A browser's X-Workspace-Id is only a selector and is always checked against the Account membership. Tenant services must accept this context (or an explicit trusted execution context) and fail closed when it is absent.
API-key authentication accepts:
- the global key from
config.yamlapi.global_api_keyonly for a
community instance with exactly one local Workspace, then
- web-UI keys whose one-time
lbk_secret is stored only as a hash and is
bound to one Workspace, explicit scopes, status, and optional expiry.
An API key derives its Workspace from the key record and ignores a caller's Workspace selector. Public Bot/Webhook routes similarly derive Workspace from the opaque owning resource rather than a header.
Route groups self-register via @group.group_class(name, path) and are discovered by importutil.import_modules_in_pkg.
Adding an API endpoint
- Add/extend a controller in
pkg/api/http/controller/groups/and the matching
service method in pkg/api/http/service/.
- Pick the right
AuthType. - **If the endpoint should be agent-accessible, add/adjust the matching MCP tool
in pkg/api/mcp/server.py and update the langbot-mcp-ops skill.** API and MCP surface must stay aligned (see AGENTS.md).
- If
lbctluses the route or capability, check the separate
`langbot-cli` client for compatibility.
- Update
docs/service-api-openapi.jsonif you maintain the OpenAPI overview.
Database migrations (Alembic)
Single migration set supports SQLite + PostgreSQL. Files in src/langbot/pkg/persistence/alembic/versions/.
Standards
- All code comments/docstrings in English; user-facing strings need i18n
(en_US + zh_Hans minimum, ja_JP where present).
- Consider toC and toB compatibility + security.
- Commit format:
<type>(<scope>): <subject>(feat/fix/docs/refactor/...).
Tests
See also
langbot-plugin-dev— plugin SDK / runtime development.langbot-testing— WebUI/e2e QA harness (bin/lbs).langbot-deploy— Docker/compose deployment + config.langbot-mcp-ops— operating the LangBot MCP server.- `langbot-cli` —
lbctl, a standalone Service API client for managing running Workspaces.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/skills/langbot-dev/SKILL.md
Popularity
- Repository stars
- 18,144
- Repository forks
- 1,635
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Extension points
hookPre/post lifecycle hooks
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/langbot-app/langbot/langbot-dev)