@voidagency/minu-cms-sdk
v0.8.0
Published
AI-friendly JavaScript SDK for Minu CMS
Readme
@voidagency/minu-cms-sdk
AI-friendly JavaScript/TypeScript SDK for Minu CMS. Use it in Node.js (18+) or in the browser to list, create, update, and delete pages, media, block types, taxonomies, terms, and site settings without writing HTTP by hand.
Install
npm install @voidagency/minu-cms-sdkUsage
Configure the client with your API base URL (e.g. https://cms.example.com/api). The SDK appends resource paths (/pages, /media, etc.).
ESM
import MinuClient from '@voidagency/minu-cms-sdk';
import { ClientResponseError } from '@voidagency/minu-cms-sdk';
const client = new MinuClient('https://my-cms.example.com/api');
const pages = await client.pages.list(1, 20);
const page = await client.pages.getBySlug('about');
await client.pages.create({ title: 'New', slug: 'new' });CJS
const { default: MinuClient, ClientResponseError } = require('@voidagency/minu-cms-sdk/cjs');
const client = new MinuClient('https://my-cms.example.com/api');Error handling
try {
await client.pages.get('missing-id');
} catch (e) {
if (e instanceof ClientResponseError) {
console.log(e.status, e.url, e.response);
}
}Resources
- Pages:
client.pages.list(),.get(id),.getBySlug(slug),.getMeta(id),.getMetaBySlug(slug),.create(body),.update(id, body),.delete(id) - Media:
client.media.list(),.get(id),.create(body),.createFromUrl(url),.upload(blob),.update(id, body),.delete(id) - Block types:
client.blockTypes.list(),.get(id),.getByKey(key),.create(body),.update(id, body),.delete(id) - Taxonomies:
client.taxonomies.list(),.get(id),.create(body),.update(id, body),.delete(id) - Terms:
client.terms(taxonomyId).list(),.get(termId),.create(body),.update(termId, body),.delete(termId) - Settings:
client.settings.get(),.update(body)
API reference
For copy-paste examples and full method signatures, see the agent skill reference: .agents/skills/minu-js-sdk/references/js-sdk.md (in this repo) or the contracts in the spec.
Requirements
- Node 18+ or a modern browser with ESM and
fetch - Minu CMS instance with CORS enabled when using from the browser
Changelog
See CHANGELOG.md.
License
MIT
