{"id":13515188,"url":"https://github.com/modernweb-dev/rocket","last_synced_at":"2026-06-07T02:01:31.565Z","repository":{"id":37169638,"uuid":"326419125","full_name":"modernweb-dev/rocket","owner":"modernweb-dev","description":"The modern web setup for static sites with a sprinkle of JavaScript","archived":false,"fork":false,"pushed_at":"2024-02-24T16:56:56.000Z","size":31796,"stargazers_count":373,"open_issues_count":59,"forks_count":52,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-05-01T23:22:32.567Z","etag":null,"topics":["eleventy","hacktoberfest","modern-web","rollup","static-site-generator","web-components"],"latest_commit_sha":null,"homepage":"https://rocket.modern-web.dev","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/modernweb-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"open_collective":"modern-web"}},"created_at":"2021-01-03T13:55:46.000Z","updated_at":"2025-04-03T13:44:21.000Z","dependencies_parsed_at":"2024-02-26T15:11:24.159Z","dependency_job_id":null,"html_url":"https://github.com/modernweb-dev/rocket","commit_stats":{"total_commits":393,"total_committers":33,"mean_commits":"11.909090909090908","dds":"0.48091603053435117","last_synced_commit":"754705423fc6c3f062f5818f9c979bf5988ad102"},"previous_names":[],"tags_count":184,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modernweb-dev%2Frocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modernweb-dev%2Frocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modernweb-dev%2Frocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modernweb-dev%2Frocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/modernweb-dev","download_url":"https://codeload.github.com/modernweb-dev/rocket/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252648297,"owners_count":21782361,"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","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":["eleventy","hacktoberfest","modern-web","rollup","static-site-generator","web-components"],"created_at":"2024-08-01T05:01:07.299Z","updated_at":"2026-06-07T02:01:31.560Z","avatar_url":"https://github.com/modernweb-dev.png","language":"JavaScript","funding_links":["https://opencollective.com/modern-web","https://opencollective.com/modern-web/contribute"],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003e Rocket is in public alpha. Expect APIs and documentation to keep improving before 1.0.\n\n\u003cp align=\"center\"\u003e\n  \u003cpicture width=\"60%\"\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/modernweb-dev/rocket/main/docs/assets/rocket-logo-dark-with-text.svg\"\u003e\n    \u003cimg alt=\"Rocket Logo\" src=\"https://raw.githubusercontent.com/modernweb-dev/rocket/main/docs/assets/rocket-logo-light-with-text.svg\"\u003e\n  \u003c/picture\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/modernweb-dev/rocket/actions\"\n    \u003e\u003cimg\n      src=\"https://img.shields.io/github/actions/workflow/status/modernweb-dev/rocket/release.yml?branch=main\u0026label=release\u0026style=flat-square\"\n      alt=\"Release workflow status\"\n  /\u003e\u003c/a\u003e\n  \u003ca href=\"https://twitter.com/modern_web_dev\"\n    \u003e\u003cimg\n      src=\"https://img.shields.io/badge/twitter-@modern_web_dev-1DA1F3?style=flat-square\"\n      alt=\"Follow @modern_web_dev on Twitter\"\n  /\u003e\u003c/a\u003e\n  \u003ca href=\"https://open.vscode.dev/modernweb-dev/rocket\"\n    \u003e\u003cimg\n      src=\"https://img.shields.io/static/v1?logo=visualstudiocode\u0026label=\u0026message=Open%20in%20Visual%20Studio%20Code\u0026labelColor=2c2c32\u0026color=007acc\u0026logoColor=007acc\"\n      alt=\"Open in VS Code\"\n  /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://rocket.modern-web.dev\"\u003eWebsite\u003c/a\u003e\n  ·\n  \u003ca href=\"https://rocket.modern-web.dev/setup/build-with-ai\"\u003eStart with AI\u003c/a\u003e\n  ·\n  \u003ca href=\"https://rocket.modern-web.dev/chat\"\u003eDiscord Community\u003c/a\u003e\n\u003c/p\u003e\n\n# Rocket\n\nRocket is a static-site metaframework for content sites and Web Component docs: HTML-first, zero JS\nby default, AI-friendly, and deployable anywhere.\n\n- **Start with AI:** Copy the starter prompt, paste it into Claude, Cursor, Codex, or another\n  coding agent, and get a deployable Rocket site made of plain files.\n- **Content first:** Write durable pages in Markdown, then opt into JavaScript only when it helps.\n- **Explicit routes:** Each Page owns its public URL with `config.path`, independent of file\n  location.\n- **Component loading:** Choose `server`, `client`, or `hydrate:*` per Registered Component.\n- **Modern Web stack:** Build on Lit, Vite, and Modern Web tooling without hiding the underlying\n  configuration.\n\nRocket is not a SPA framework, React/Vite/Astro replacement, or backend application framework. Use\nit when the output should mostly be static HTML and the source should stay easy for humans and\ncoding agents to inspect.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://rocket.modern-web.dev/setup/build-with-ai/\"\u003e\u003cstrong\u003eStart With AI\u0026nbsp;\u0026nbsp;▶\u003c/strong\u003e\u003c/a\u003e\n  ·\n  \u003ca href=\"https://rocket.modern-web.dev/setup/manual-quick-start/\"\u003eManual Quick Start\u003c/a\u003e\n\u003c/p\u003e\n\n## Five-minute path\n\nUse [Start With AI](https://rocket.modern-web.dev/setup/build-with-ai/) when you want an agent to\ncreate the project shell, pages, layout, metadata, and Netlify config for you:\n\n1. Copy the Rocket prompt.\n2. Paste it into Claude, Cursor, Codex, or another coding agent with a short Site Brief.\n3. Let the agent create the files, run `npm run build`, and fix failures.\n4. Keep the plain Markdown, JavaScript, CSS, and config files afterward.\n\nRocket requires Node.js 22 or newer.\n\nFor a manual project, install the package from npm:\n\n```bash\nnpm install @rocket/js\nnpx rocket init\n```\n\n`rocket init` creates a compact Atlas docs starter, including `rocket-config.js`,\n`docs/pages/sharedData.js`, starter Markdown Pages, a static JSON Page for a Request Demo, and a\nremovable project-local Rocket Agent Skill. It also adds npm scripts when the names are available:\n\n```json\n{\n  \"type\": \"module\",\n  \"scripts\": {\n    \"start\": \"rocket start\",\n    \"build\": \"rocket build\"\n  },\n  \"dependencies\": {\n    \"@rocket/js\": \"^0.1.0\"\n  }\n}\n```\n\nThe generated `rocket-config.js` discovers general documentation Pages under `docs/pages` and\ncolocated component reference Pages under `src`:\n\n```js\n/** @type {import('@rocket/js/types.js').RocketConfig} */\nexport default {\n  includeGlobs: ['docs/pages/**/*.rocket.{md,js}', 'src/**/*.rocket.{md,js}'],\n};\n```\n\nThe generated `docs/pages/index.rocket.md` gives you an Atlas hero home Page:\n\n````md\n```js server\nexport const config = {\n  path: '/',\n  metadata: {\n    title: 'Rocket Site',\n    description: 'Documentation built with Rocket.',\n  },\n  menu: {\n    iconName: 'house',\n    order: 0,\n  },\n};\n\nimport { atlasHeroLayout, atlasHeroComponents } from '@rocket/js/layouts/atlasHero.js';\nimport { heroData } from './sharedData.js';\n\nexport const components = atlasHeroComponents;\nexport const layout = pageData =\u003e atlasHeroLayout(pageData, heroData);\n```\n\n# Rocket Site\n\nThis starter is rendered with Rocket's Atlas hero layout.\n````\n\nThen run:\n\n```bash\nnpm start\nnpm run build\n```\n\nThe build writes static output to `dist/`:\n\n```txt\ndist/\n|-- index.html\n`-- assets/\n```\n\nFollow the [Manual Quick Start](https://rocket.modern-web.dev/setup/manual-quick-start/) when you\nwant to create the smallest working project by hand.\n\n## When to use Rocket\n\nUse Rocket for:\n\n- content-first static sites\n- documentation sites\n- Web Component and design-system docs\n- AI-generated sites you want to own afterward\n- pages that should ship as HTML before JavaScript\n\nDo not use Rocket for:\n\n- SPA products with complex client-side routing\n- backend applications\n- projects that need a large plugin ecosystem today\n- teams that specifically want React, Astro, Eleventy, or VitePress conventions\n\n## Package and dependency philosophy\n\nRocket optimizes the generated site output, not the npm dependency count. A Rocket project installs\n`@rocket/js` and gets the build pipeline, Markdown processing, dev server, Lit-based server\nrendering, and docs-layout affordances in one package. Visitor pages stay static by default, and\nbrowser JavaScript is only emitted for loading strategies you choose.\n\n## Status and docs\n\nRocket is currently in **public alpha** at `0.1.x`. APIs can change before `1.0.0`;\nbreaking changes are documented through changesets and release notes.\n\n- [Start With AI](https://rocket.modern-web.dev/setup/build-with-ai/)\n- [Manual Quick Start](https://rocket.modern-web.dev/setup/manual-quick-start/)\n- [Build a Site](https://rocket.modern-web.dev/tutorials/acme-ui-docs)\n- [Examples](https://rocket.modern-web.dev/examples)\n- [Reference](https://rocket.modern-web.dev/reference)\n- [Known Limitations](https://rocket.modern-web.dev/help/known-limitations)\n- [Roadmap](./ROADMAP.md)\n\nRocket is part of the [Modern Web Family](https://modern-web.dev/discover/about/).\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://rocket.modern-web.dev/chat\"\u003e\u003cstrong\u003eJoin our Discord Community\u0026nbsp;\u0026nbsp;▶\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Working on this repo\n\n```bash\nnpm ci\nnpm start\nnpm run types\nnpm test\nnpm run lint\n```\n\n`npm start` runs the Rocket docs site. `npm test` runs the Node test suite.\n\n## 🤝 Contributing\n\nWe are always looking for contributors of all skill levels! If you're looking to ease your way into the project, try out a [good first issue](https://github.com/modernweb-dev/rocket/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22).\n\nIf you are interested in helping contribute to Modern Web, please take a look at our [Contributing Guide](https://github.com/modernweb-dev/rocket/blob/main/CONTRIBUTING.md). Also, feel free to drop into [Discord](https://rocket.modern-web.dev/chat) and say hi. 👋\n\n### Financial Contributors\n\nBecome a financial contributor and help us sustain our community. [[Contribute](https://opencollective.com/modern-web/contribute)]\n\n## License\n\nRocket is released under the [MIT License](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodernweb-dev%2Frocket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmodernweb-dev%2Frocket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodernweb-dev%2Frocket/lists"}