{"id":31557335,"url":"https://github.com/1337hero/rovocms","last_synced_at":"2025-10-04T23:54:23.748Z","repository":{"id":315109872,"uuid":"1058142721","full_name":"1337hero/rovocms","owner":"1337hero","description":"The CMS that doesn't get in your way. Built for agencies. Safe for clients.","archived":false,"fork":false,"pushed_at":"2025-09-16T17:46:24.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-16T20:09:16.090Z","etag":null,"topics":["cms","content-management","content-management-system","html","javascript","static-site-generator"],"latest_commit_sha":null,"homepage":"https://rovocms.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/1337hero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-16T17:17:49.000Z","updated_at":"2025-09-16T18:08:17.000Z","dependencies_parsed_at":"2025-09-16T20:10:15.512Z","dependency_job_id":"0e40d55d-49e1-48d6-a250-61866958d56d","html_url":"https://github.com/1337hero/rovocms","commit_stats":null,"previous_names":["1337hero/rovocms"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/1337hero/rovocms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1337hero%2Frovocms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1337hero%2Frovocms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1337hero%2Frovocms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1337hero%2Frovocms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/1337hero","download_url":"https://codeload.github.com/1337hero/rovocms/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1337hero%2Frovocms/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278391189,"owners_count":25978945,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cms","content-management","content-management-system","html","javascript","static-site-generator"],"created_at":"2025-10-04T23:54:14.146Z","updated_at":"2025-10-04T23:54:23.733Z","avatar_url":"https://github.com/1337hero.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RovoCMS\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Built with Bun](https://img.shields.io/badge/Built%20with-Bun-black?logo=bun\u0026logoColor=white)](https://bun.sh)\n[![Database: SQLite](https://img.shields.io/badge/Database-SQLite-blue?logo=sqlite\u0026logoColor=white)](https://www.sqlite.org/)\n[![Open Source Love](https://badges.frapsoft.com/os/v2/open-source.svg?v=103)](https://github.com/rovocms/rovocms)\n\n### **Move fast. Edit safe.**\n\n\nThe CMS that doesn't get in your way. Built for agencies. Safe for clients.\n\n## Why RovoCMS?\n\n- **All content, zero bloat** - Just HTML with `$placeholders$`\n- **Lightweight CMS, heavyweight results** - Under 400 lines of elegant code\n- **Fast, minimal, unbreakable** - No build steps, no complexity, no headaches\n\nRovoCMS lets agencies explore creative designs while clients safely \"rove\" through editing. The name evokes rover/rove → exploration, freedom, movement. Perfect for a lightweight CMS that gives you creative freedom.\n\n## Features\n\n- **Zero Build Philosophy**: Write HTML, mark editable regions with `$placeholder$`, deploy\n- **Front-Facing Editing**: Type \"rovocms\" on any page to edit inline\n- **Auto-Everything**: Content auto-initializes, attributes auto-generate\n- **Draft/Publish Workflow**: Save drafts, preview, then publish\n- **Multi-Page Support**: Organize pages in a clean structure\n- **SSR Hydration**: SEO-friendly server-side rendering\n- **SQLite Storage**: Simple, portable database\n\n## Quick Start\n\n***Note***: I built this around Bun \u0026 Hono\n\n```bash\n# Install dependencies\nbun install\n\n# Run development server\nbun dev\n\n# Visit http://localhost:3000\n```\n\n## How to Use\n\n### 1. Create Pages\n\nJust write HTML with `$placeholder$` markers for any text you want to be editable:\n\n```html\n\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n\u003chead\u003e\n  \u003ctitle\u003e$page_title$\u003c/title\u003e\n  \u003clink rel=\"stylesheet\" href=\"/assets/css/styles.css\"\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n  \u003ch1\u003e$hero_title$\u003c/h1\u003e\n  \u003cp\u003e$intro_text$\u003c/p\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n```\n\nThat's it! RovoCMS automatically:\n- ✅ Adds `data-cms-key` attributes\n- ✅ Creates database entries\n- ✅ Makes content editable\n- ✅ Generates sensible defaults\n\n### 2. Edit Content\n\n1. Visit any page in your browser\n2. Type **\"rovocms\"** (not in any input field)\n3. Enter password: **demo**\n4. Click any outlined element to edit\n5. Save to draft → Publish when ready\n\n### 3. Deploy\n\nRovoCMS works anywhere Bun/Node runs:\n\n```bash\n# Docker\ndocker build -t rovocms .\ndocker run -p 3000:3000 rovocms\n\n# PM2\npm2 start server.ts --interpreter bun --name rovocms\n\n# Any VPS\nbun start\n```\n\n## Project Structure\n\n```\nrovocms/\n├── pages/              # Your HTML pages\n│   ├── index.html      # Just use $placeholders$\n│   ├── about.html\n│   └── contact.html\n├── assets/             # Static assets\n│   ├── css/           # Your styles\n│   ├── js/            # RovoCMS editor (auto-loaded)\n│   └── images/        # Your media\n├── server.ts          # The entire backend (\u003c 300 lines!)\n└── cms.db            # SQLite database (auto-created)\n```\n\n## Developer Workflow\n\nThe workflow agencies love:\n\n1. **Designer creates HTML** with `$placeholder$` markers\n2. **RovoCMS auto-initializes** everything on first load\n3. **Client edits content** safely through the browser\n4. **No backend work needed** - it just works\n5. **Client cannot wreck design** - they can edit content - but can't break the site\n\n### Adding Pages\n\nDrop an HTML file in `pages/`:\n\n```html\n\u003c!-- pages/services.html --\u003e\n\u003ch1\u003e$services_title$\u003c/h1\u003e\n\u003cp\u003e$services_intro$\u003c/p\u003e\n```\n\nVisit `/services` - boom, it's editable.\n\n### Custom Styling\n\nYour CSS, your rules:\n\n```css\n/* assets/css/custom.css */\n.hero {\n  /* RovoCMS doesn't touch your styles */\n}\n```\n\n## API\n\nSimple and predictable:\n\n- `GET /api/cms/content?page=/\u0026state=published` - Get content\n- `PUT /api/cms/content` - Save content (auth required)\n- `POST /api/cms/publish` - Publish drafts (auth required)\n\n## Database Schema\n\nOne table, infinite possibilities:\n\n```sql\ncontent(\n  page,       -- /about, /services\n  lang,       -- en, es, fr\n  key,        -- hero_title, intro_text\n  state,      -- draft or published\n  value,      -- The actual content\n)\n```\n\n## Philosophy\n\nRovoCMS believes in:\n\n1. **Zero Configuration** - It should just work\n2. **Progressive Enhancement** - Start simple, stay simple\n3. **Developer Freedom** - Your HTML, your way\n4. **Client Safety** - They can't break what they can't touch\n\n## For Agencies\n\nRovoCMS is built for the agency workflow:\n\n- **Fast prototypes** - Ship in hours, not days\n- **Safe for clients** - They edit content, not code\n- **Easy handoff** - No documentation needed\n- **Maintenance-free** - No updates, no breaking changes\n\n## The RovoCMS Promise\n\n\u003e \"Move fast. Edit safe.\"\n\nWe promise a CMS that:\n- Never gets in your way\n- Never breaks your design\n- Never confuses your clients\n- Always just works\n\n---\n\n**RovoCMS** - All content, zero bloat. Built with ❤️ by 1337Hero for agencies who value their time and their clients' success.\n\n## License\n\nRovoCMS is open-sourced under the [MIT License](LICENSE).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1337hero%2Frovocms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F1337hero%2Frovocms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1337hero%2Frovocms/lists"}