laikacms
v1.0.0
Published
The basis for modern content management.
Maintainers
Readme
laikacms
Modular, runtime-agnostic content management. The basis for modern CMS apps.
API-first headless CMS designed to work with Decap CMS or your own UI. Swap storage backends (filesystem, R2, GitHub, …) without rewriting code. Runs on Node, Bun, and Cloudflare Workers.
pnpm add laikacmsQuick start
Node / Bun
import { buildJsonApi } from 'laikacms/storage-api';
import { FileSystemStorageRepository } from 'laikacms/storage-fs';
const repo = new FileSystemStorageRepository({ basePath: './content' });
const api = buildJsonApi({ repo });
export default { fetch: api.fetch };Cloudflare Workers
import { buildJsonApi } from 'laikacms/storage-api';
import { R2StorageRepository } from 'laikacms/storage-r2';
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const repo = new R2StorageRepository({ bucket: env.CONTENT_BUCKET });
return buildJsonApi({ repo }).fetch(request);
},
};What's in the box
laikacms is a single package with many focused subpath exports. Import only what you need.
APIs (JSON:API HTTP layer)
| Export | Purpose |
| -------------------------- | ---------------------------------- |
| laikacms/storage-api | Storage CRUD over JSON:API |
| laikacms/documents-api | Document/record CRUD over JSON:API |
| laikacms/assets-api | Asset metadata + uploads |
| laikacms/contentbase-api | Contentbase settings management |
Domain (interfaces & entities)
| Export | Purpose |
| ------------------------------- | ------------------------------- |
| laikacms/storage | StorageRepository interface |
| laikacms/documents | DocumentsRepository interface |
| laikacms/assets | AssetsRepository interface |
| laikacms/contentbase-settings | SettingsProvider interface |
Implementations
| Export | Backs |
| --------------------------------------- | -------------------------------- |
| laikacms/storage-fs | Filesystem |
| laikacms/storage-r2 | Cloudflare R2 |
| laikacms/storage-drizzle | SQL via Drizzle |
| laikacms/storage-jsonapi-proxy | Remote JSON:API server |
| laikacms/documents-contentbase | Documents on top of storage |
| laikacms/documents-drizzle | Documents in SQL |
| laikacms/assets-contentbase | Assets on top of storage |
| laikacms/assets-r2 | Assets in R2 |
| laikacms/contentbase-settings-default | In-memory / file-backed settings |
Serializers
laikacms/storage-serializers-json · …-yaml · …-markdown · …-raw
Shared utilities
laikacms/core · laikacms/crypto · laikacms/file-sanitizer · laikacms/sanitizer ·
laikacms/json-api · laikacms/i18n (/en, /nl)
Companion packages
@laikacms/github— GitHub-backed storage repository@laikacms/aws— AWS service implementations (DynamoDB)@laikacms/decap— Decap CMS integrations (backend, OAuth2, widgets, AI chat)
Documentation
Full docs, architecture notes, and deployment guides live in the laikacms repository.
License
MIT
