An AI-native content management system in one Rust binary: block content, themes as data, WebAssembly-sandboxed plugins, a marketplace built in. Docs: vyasa.site/docs · Demo: demo.vyasa.site
See the code
Vyasa is an AI-native content management system — a fast WordPress alternative written in Rust.
Website · Docs · Live demo · Discussions
Content is stored as structured blocks rather than markup, themes are data rather than code, and plugins run in a WebAssembly sandbox with only the capabilities they declare. One server binary and PostgreSQL are all it needs.
व्यास — vyāsa, from vi + √as, "to divide, to arrange". Veda Vyāsa earned the name by dividing the one Veda into four collections; the word is a title, not a personal name. In Sanskrit grammar vyāsa is also the term for analysis — decomposing a compound into its parts — against samāsa, which composes them back. That is what an editor does in each direction.
With Docker:
mkdir vyasa && cd vyasa
curl -fsSLO https://raw.githubusercontent.com/vyasa-cms/vyasa/main/docker-compose.yml
docker compose run --rm app migrate # create the database schema
docker compose up -d
docker compose exec app cat .run/setup-token # the one-time setup token
Open http://localhost:3000/admin/setup, enter the token, and create the
first administrator. The site is on http://localhost:3000, the admin on
/admin. The compose file follows the latest release; pin a version with
VYASA_VERSION=0.1.0 in front of the commands (or in an .env file next
to docker-compose.yml).
Without Docker, the installer fetches the release for your platform,
verifies it and puts vyasa on your PATH; it needs a PostgreSQL
database to run against:
curl -fsSL https://vyasa.site/install.sh | sh
cd ~/vyasa && VYASA_DATABASE_URL=postgres://vyasa:PASSWORD@localhost:5432/vyasa vyasa migrate && vyasa serve
Building from source and production deployment are covered in
CONTRIBUTING.md and docs/DEPLOYMENT.md.
Configuration comes from vyasa.toml if present, overridden by VYASA_*
environment variables — __ separates nesting, so VYASA_LOG__LEVEL=debug.
| Topic | Where |
|---|---|
| How it fits together | docs/ARCHITECTURE.md |
| Building themes | docs/THEMES.md |
| Writing plugins | docs/plugin-api.md, plugin-sdk/ |
| Publishing to the marketplace | docs/PUBLISHING.md |
| AI agents over MCP | docs/MCP.md |
| Deploying and running | docs/DEPLOYMENT.md, docs/OPERATIONS.md |
| Security model | docs/SECURITY.md |
| Who may call which API route | docs/ROUTE-ACCESS.md |
| Versions and upgrades | docs/VERSIONING.md |
Pre-1.0: usable and running in production, but APIs may still change between minor versions — see docs/VERSIONING.md and the changelog. Back up your database before upgrading; migrations are forward-only.
Every install browses the official marketplace out of the box — Plugins → Browse plugins, Appearance → Browse themes. To publish yours, start from the theme-starter or plugin-starter template and follow docs/PUBLISHING.md.
Bug reports, docs, plugins, themes and code are all welcome. Start with
CONTRIBUTING.md and the
good first issue
label, and please follow the Code of Conduct. Report
security issues privately as described in SECURITY.md.
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
An AI-native content management system in one Rust binary: block content, themes as data, WebAssembly-sandboxed plugins, a marketplace built in. Docs: vyasa.site/docs · Demo: demo.vyasa.site
See the code
Vyasa is an AI-native content management system — a fast WordPress alternative written in Rust.
Website · Docs · Live demo · Discussions
Content is stored as structured blocks rather than markup, themes are data rather than code, and plugins run in a WebAssembly sandbox with only the capabilities they declare. One server binary and PostgreSQL are all it needs.
व्यास — vyāsa, from vi + √as, "to divide, to arrange". Veda Vyāsa earned the name by dividing the one Veda into four collections; the word is a title, not a personal name. In Sanskrit grammar vyāsa is also the term for analysis — decomposing a compound into its parts — against samāsa, which composes them back. That is what an editor does in each direction.
With Docker:
mkdir vyasa && cd vyasa
curl -fsSLO https://raw.githubusercontent.com/vyasa-cms/vyasa/main/docker-compose.yml
docker compose run --rm app migrate # create the database schema
docker compose up -d
docker compose exec app cat .run/setup-token # the one-time setup token
Open http://localhost:3000/admin/setup, enter the token, and create the
first administrator. The site is on http://localhost:3000, the admin on
/admin. The compose file follows the latest release; pin a version with
VYASA_VERSION=0.1.0 in front of the commands (or in an .env file next
to docker-compose.yml).
Without Docker, the installer fetches the release for your platform,
verifies it and puts vyasa on your PATH; it needs a PostgreSQL
database to run against:
curl -fsSL https://vyasa.site/install.sh | sh
cd ~/vyasa && VYASA_DATABASE_URL=postgres://vyasa:PASSWORD@localhost:5432/vyasa vyasa migrate && vyasa serve
Building from source and production deployment are covered in
CONTRIBUTING.md and docs/DEPLOYMENT.md.
Configuration comes from vyasa.toml if present, overridden by VYASA_*
environment variables — __ separates nesting, so VYASA_LOG__LEVEL=debug.
| Topic | Where |
|---|---|
| How it fits together | docs/ARCHITECTURE.md |
| Building themes | docs/THEMES.md |
| Writing plugins | docs/plugin-api.md, plugin-sdk/ |
| Publishing to the marketplace | docs/PUBLISHING.md |
| AI agents over MCP | docs/MCP.md |
| Deploying and running | docs/DEPLOYMENT.md, docs/OPERATIONS.md |
| Security model | docs/SECURITY.md |
| Who may call which API route | docs/ROUTE-ACCESS.md |
| Versions and upgrades | docs/VERSIONING.md |
Pre-1.0: usable and running in production, but APIs may still change between minor versions — see docs/VERSIONING.md and the changelog. Back up your database before upgrading; migrations are forward-only.
Every install browses the official marketplace out of the box — Plugins → Browse plugins, Appearance → Browse themes. To publish yours, start from the theme-starter or plugin-starter template and follow docs/PUBLISHING.md.
Bug reports, docs, plugins, themes and code are all welcome. Start with
CONTRIBUTING.md and the
good first issue
label, and please follow the Code of Conduct. Report
security issues privately as described in SECURITY.md.
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.