Native Shell
Native Shell:AI 生成的 UI,在你的應用中原生呈現,涵蓋每個平台。iOS、Android、macOS、Windows 與 Linux 上的應用、GPUI 應用與網頁在執行時載入已簽名、沙箱隔離的 TSX 模組並繪製 th
AI 翻譯
尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
One sentence to an audited, ready-to-deploy website (promptsite CLI) + 41 accessible GrapesJS blocks, forms and Stripe checkout
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Two npm packages that work together:
promptsite, a command line tool. It writes a multi-page site from one sentence with your own model, lets you polish it in a visual editor, audits it for leaked secrets, and deploys it to Cloudflare Pages or Netlify.grapesjs-advance-components, a GrapesJS plugin with 41 accessible, themeable blocks (pricing, testimonials, team, tabs, forms that submit, Stripe checkout and more), defineComponent for your own blocks, and multi-page export.npx promptsite generate "Family bakery in Leeds, sourdough and custom cakes" --template small-business
npx promptsite edit ./site # polish it visually, then press Publish
npx promptsite deploy ./site --to cloudflare --project my-site --dry-run
A real recording using the offline --provider mock, so no API key is needed. With a key, your model writes the copy.
📖 Documentation · 🧪 Playground · 🎨 Block showcase, three themes
Embedding an editor in your own app? Use the plugin.
Want a finished site from a prompt, or an automation (n8n, CI)? Use promptsite.
promptsite depends on the plugin; the plugin never depends on it and has no runtime dependencies, so embedders carry no CLI or server code.
It is a small, single-maintainer project, so here is what is checked instead of asking you to trust it:
promptsite audit (and promptsite deploy, which runs it first) fails on committed API keys and unsafe markup. Credentials are read from the environment and never accepted as flags.promptsite deploy is tested with a fake runner but not yet against a live Cloudflare or Netlify account. The docs say so where it applies.The blocks look finished with no setup, and every colour and the corner radius reads a CSS custom property. One line re-skins them:
:root { --aac-accent: #0ea5e9; --aac-radius: 4px; } /* brand colour, corners */
/* a dark page: <body data-aac-theme="dark"> */
Or turn the stylesheet off (injectStyles: false) and style the .aac-* classes yourself. See the showcase (light, dark and a teal re-skin of the same blocks) and Theming.
It is meant to sit beside them, not replace them.
| You need | Use |
|---|---|
| Layout columns, basic text, link, image, video | grapesjs-blocks-basic |
| A full editor UI preset | grapesjs-preset-webpage |
| Paste raw HTML or script into a block | grapesjs-custom-code |
| Finished marketing sections, forms that post to your endpoint, Stripe checkout, tabs, and a way to build your own tested blocks | this plugin |
| A whole site from a prompt, audited and deployable | promptsite |
packages/grapesjs-advance-components/ the plugin (browser)
packages/promptsite/ the CLI and API server (Node)
docs/ documentation site and playground (GitHub Pages)
.github/workflows/ CI, docs deploy, release
npm install # links both packages into node_modules
npm run build # plugin first, then the CLI
npm run typecheck
npm test # both packages
npm run docs # builds the plugin and copies it into docs/ for local preview
Each package is versioned and released on its own with release-please. Commit with Conventional Commits; a Release PR per package opens automatically, and merging it tags, creates the GitHub release and publishes to npm with provenance. See RELEASING.md.
See SECURITY.md to report a vulnerability and for what is and is not covered.
MIT