4 Commits

Author SHA1 Message Date
xfy
a3ca08f3f6 chore(docker): 完善 .dockerignore 规则
原 .dockerignore 仅覆盖 target/.git/node_modules 与部分 public 产物,
遗漏多个会导致上下文膨胀或信息泄露的路径:

- 修复信息泄露: .env(含真实 DATABASE_URL)此前会进入构建上下文
- 新增未忽略的构建产物: public/xterm/、public/doc/
- 排除机器本地/无关目录: others/(55M 引用博客)、.freebsd-sysroot/、
  docker/(runner 镜像源,单独构建)、docs/、tests/、scripts/
- 排除 agent/IDE/CI 工具: .zcode/、.superpowers/、.agents/、.gitea/、
  .vscode/、.idea/、rust-analyzer.toml 等
- 补充常见本地文件: .DS_Store、*.swp、profile.json.gz、compose*.yaml

保留所有真实构建输入(Cargo.toml、build.rs、Dioxus.toml、input.css、
.cargo/config.toml、src/、migrations/、libs/ 工作区、themes/、syntaxes/
及 public 运行时资源 favicon.ico/icons/images/),已逐一核对。
2026-07-15 15:18:13 +08:00
xfy
d537c641c4 chore: add backups to dockerignore 2026-07-10 11:27:44 +08:00
xfy
2a7f7be738 chore(docker,ci): Dockerfile 与 CI 切换 pnpm workspace,docs 同步
Dockerfile:
- Node 22 安装段追加 corepack enable + pnpm 11.8.0
- 缓存层从'只 tiptap 的 package.json'扩展为整个 workspace
  (libs/package.json + pnpm-workspace.yaml + pnpm-lock.yaml + 4 lib manifest),
  npm ci 改为 pnpm install --frozen-lockfile,覆盖全部 4 个 lib 的 Docker 层缓存
- 构建步骤 make build-editor 改为 make build-libs

Gitea CI:
- check job 的 Install Node 步骤加装 pnpm,新增 Biome lint 步骤
  (cd libs && pnpm install --frozen-lockfile && pnpm exec biome check .)
- build job 同步装 pnpm,make build 不变(Makefile 已改用 workspace)

.dockerignore: 补齐其余 3 个 lib 的 public 产物 + workspace node_modules 模式

AGENTS.md: Development Commands 删 make clippy、新增 make lint/make fix 说明;
Prerequisites 补 Biome;libs 段改为 pnpm workspace 模型;修正文档漂移
(tt-reveal→tt-expand,eval→Reflect::get)
2026-07-02 18:10:11 +08:00
xfy
ae84c37f21 build: add Dockerfile and .dockerignore for static musl image
Some checks failed
CI / build (push) Has been cancelled
CI / check (push) Has been cancelled
- Multi-stage build using rust:1.96-bookworm builder and scratch runtime.
- Produces a fully statically linked x86_64-unknown-linux-musl server binary.
- Builds frontend assets (Tiptap, Tailwind, Dioxus WASM) and bundles public/.
- Image size ~25 MB; server listens on 0.0.0.0:3000.
2026-06-17 09:48:12 +08:00