用 AI 开发
本页内容
AI 编辑器和编码智能体常常把 sitelo 搞错 —— 它们会套用 React、Next 或 Astro 的写法,而这些在这里并不适用。本指南说明如何把它们指向最新的 sitelo 文档,并让生成的代码保持在正确的模型上。
llms.txt
sitelo 在 sitelo.dev/llms.txt 发布了一份机器可读的框架摘要。很多智能体都能抓取 URL;在写 sitelo 代码之前,让它先读这个文件(以及给人看的文档)。
- https://sitelo.dev/llms.txt —— 精简的 API 与约定
- https://sitelo.dev/zh/docs —— 完整指南
- GitHub README —— 心智模型与功能概览
- https://ht.js.org ——
javascript-to-html的文档(推荐用它在 JS 里写 HTML)
与文档型 MCP 服务器不同,llms.txt 不需要安装 —— 把 URL 贴进对话、写进项目规则,或者让智能体自己抓取即可。
项目规则
如果你的工具支持长期指令(AGENTS.md、Cursor 规则、Copilot instructions,…),加一条简短的 sitelo 规则,让每次会话都从正确的心智模型开始。基础示例里就有一份可以直接复制的 AGENTS.md:
# sitelo
本项目使用 [sitelo](https://sitelo.dev) —— 一个由 Vite 驱动的静态站点生成器。
## 规则
- 页面是 `src/` 下的模块,扩展名形如 `.ht.js` / `.ht.ts` / `.ht.jsx`,并且**默认导出一个返回 HTML 的函数(或字符串)**。
- 除非用户明确要求,**不要**引入 React、Next.js、Astro 或任何组件/水合框架。
- 路由基于文件:`about.ht.js` → `/about`,`[slug].ht.js` → 动态路由(`sitelo build` 时使用 `generateStaticParams`)。
- 用 `export async function data(ctx)` 加载数据。需要带缓存的 HTTP 时,使用 `sitelo` 提供的 `fetchWithCache`。需要读取本地 JSON 时,使用 `sitelo/data` 的 `readJson` / `readJsonCollection`。
- 只有被 HTML 引用的 JS/CSS 才会打包进 `dist/`。让服务端代码保持无引用,它就永远不会被发布。
- 配置写在 `sitelo.config.js` 里。Vite 选项放在 `vite` 下。
- 命令:`sitelo`(dev)、`sitelo build`、`sitelo preview`。
- 当前 API 请阅读 https://sitelo.dev/llms.txt 和 https://sitelo.dev/docs —— 不要照搬其他框架的 API。
- 标记优先使用 [javascript-to-html](https://ht.js.org)(`ht.js`):返回 HTML 字符串的标签函数。文档:https://ht.js.org
Cursor
在项目里创建 .cursor/rules/sitelo.mdc(或把同样的文本粘进 Cursor 的项目规则界面):
---
description: sitelo 静态站点约定
alwaysApply: true
---
# sitelo
页面是返回 HTML 字符串的 `.ht.js`(等)模块,而不是 React/Next/Astro 组件。
标记优先使用 javascript-to-html (https://ht.js.org)。使用基于文件的路由、`data()` 和 `sitelo build`。
sitelo 的 API 请参阅 https://sitelo.dev/llms.txt
用 AI 开发 sitelo 的建议
- 从模板出发 —— 让智能体基于 examples/basic 或 examples/wordpress 搭骨架,而不是自己发明一套框架。
- 标记优先使用 javascript-to-html(
ht.js)—— 返回 HTML 字符串的标签函数,不需要模板引擎,也不需要 React。把智能体指向 ht.js.org,免得它们凭空造出 JSX 组件树。 - 页面就是返回 HTML 的函数 ——
export default () => `<html>…</html>`,或者用javascript-to-html组合。只要 JSX 能编译成字符串就没问题;并不需要 React 运行时。 - 使用 sitelo 的 CLI ——
sitelo/sitelo build—— 而不是直接调用vite,除非你确定需要自定义的 Vite 配置。 - 对照 llms.txt 核实 API —— 尤其是
generateStaticParams、fetchWithCache和服务端区块。 - 默认零 JS —— 只有页面确实需要客户端代码时才引入
<script>;未被引用的模块会留在服务端。 - 复查并运行 —— 智能体改完页面后,务必跑一次
sitelo build(或开发服务器);把生成的标记当作草稿看待。