WebsiteOS is a complete TypeScript starter for reusable website infrastructure across Appneural platforms.
It manages websites, CMS pages, page blocks, navigation menus, themes, media assets, blog posts, forms, submissions, redirects, SEO audits, sitemaps, robots.txt, publish snapshots, web analytics, event logs, audit logs, and role-based permissions.
npm run build
npm startDefault server:
http://localhost:5500Health:
http://localhost:5500/healthDocs:
http://localhost:5500/docsdemo-tenantUseful demo IDs:
site_demo_appneural
dom_appneural_primary
theme_appneural_light
page_home
page_products
block_home_hero
block_home_features
menu_header
media_hero_ai
post_os_architecture
form_demo_contact
redir_old_products
snap_demo_initial
seo_home_demoWebsiteOS uses simple role headers for this starter implementation.
x-tenant-id: demo-tenant
x-user-id: admin-user
x-role: adminSupported roles:
viewer
content_editor
seo_manager
designer
publisher
forms_manager
admin
ownerSites
Domains
Themes
Pages
Page Blocks
Menus
Media Assets
Blog Posts
Forms
Form Submissions
Redirects
SEO Audits
Publishing
Sitemap
Robots.txt
Analytics Events
Audit Logs
Events
RBACCreate a page:
curl -X POST http://localhost:5500/websiteos/pages \
-H 'Content-Type: application/json' \
-H 'x-role: admin' \
-d '{
"siteId": "site_demo_appneural",
"title": "Solutions",
"path": "/solutions",
"pageType": "landing",
"seo": {
"title": "Solutions | Appneural",
"description": "Explore Appneural OS solutions."
}
}'Add a block:
curl -X POST http://localhost:5500/websiteos/pages/page_home/blocks \
-H 'Content-Type: application/json' \
-H 'x-role: admin' \
-d '{
"type": "cta",
"content": {
"heading": "Start building with WebsiteOS",
"button": { "label": "Contact", "url": "/contact" }
}
}'Run SEO audit:
curl -X POST http://localhost:5500/websiteos/seo/pages/page_home/audit \
-H 'x-role: admin'Create a publish snapshot:
curl -X POST http://localhost:5500/websiteos/publish/snapshots \
-H 'Content-Type: application/json' \
-H 'x-role: admin' \
-d '{
"siteId": "site_demo_appneural",
"title": "Production publish"
}'View sitemap data:
curl http://localhost:5500/websiteos/sitemap/site_demo_appneural -H 'x-role: admin'Submit a form:
curl -X POST http://localhost:5500/websiteos/forms/form_demo_contact/submit \
-H 'Content-Type: application/json' \
-H 'x-role: admin' \
-d '{
"sourceUrl": "/contact",
"data": {
"name": "Asha",
"email": "asha@example.com",
"message": "Need WebsiteOS demo"
}
}'This starter uses a JSON file store so it can run without dependencies. For production:
- Replace
DataStorewith PostgreSQL usingdatabase/schema.sql. - Put file uploads behind S3, Cloudflare R2, GCS, or Azure Blob Storage.
- Add real user authentication and integrate with SecurityOS for RBAC.
- Add CDN cache invalidation to publish deployments.
- Connect form submissions to ClientOS, GrowthOS, AutomationOS, and SalesOS.
- Connect analytics events to AnalyticsOS.
- Add rendering/export workers for static site generation when needed.
npm test- Official package:
@appneurox/websiteos - Manifest:
manifest.json - Domain API namespace:
/v1/website - Modes: standalone and PlatformOS integrated
- Related systems: BrandOS, ContentOS, GrowthOS
See docs/planning.md for the planning contract applied from APPNEURAL Plannings/OSs.