SMELDR - CONTENT BACKEND
Your content, your rules.
Every interface.
The same lifecycle rules apply to every reader - browser, API, CLI, and AI agent. Self-hosted, open source, zero runtime dependencies.
How it works
Set the rules once
Define your content types, validation, and access roles. Forge applies them to your team, your API, and your AI - without exceptions.
Ship the content
Turn the decision into drafts, edits, schedules, and published pages - without sending it through five different tools.
Protect
AI can help move content forward, but Forge keeps the rules in place. No action happens outside your roles, lifecycle, and permissions.
Why Forge
Your content reaches every audience
When your team publishes, it shows up - in search results, in link previews, and in AI-generated answers. No extra setup, no separate integrations, no plugins to update.
Nothing breaks on someone else's schedule
Forge has zero runtime dependencies. No packages, no external services, no CDN calls. When something changes, it is because you changed it.
Your rules. No exceptions.
You define your content types and their validation. You define access roles - who can draft, who can publish, who can delete. You decide what your AI agent is allowed to do.
Forge enforces it. Every rule applies everywhere - in your admin interface, in the API, and in every tool your AI calls. No workarounds for anyone. No special cases for AI.
You set the boundaries once. Forge holds them.
For developers
Built in Go. Zero dependencies. SQLite or Postgres.
Define your content types as Go structs. Forge handles the rest.
View on GitHub →$ go get forge-cms.dev/forge