这个项目能做什么

Go Performance Starter 是一个有明确技术立场的、面向小型 SaaS 产品的服务端渲染起点,融合 Go(Chi)、templ 模板、HTMX + Alpine.js、Tailwind CSS、Supabase(认证 + PostgreSQL)及 Cloudflare。其核心主张是服务端 Go + 最小化 JavaScript,性能预算与 AI 代理护栏均在 CI 中强制执行,而非仅停留在文档描述。 核心能力 认证使用 Supabase 邮箱/密码方式配合服务端 JWT 验证,同时支持匿名用户登录,使演示访客无需注册即可获得真实身份。多租户依赖 PostgreSQL 行级安全(RLS):请求 JWT claims 通过 Scoped 事务(SET LOCAL ROLE 加上 request.jwt.claims)传递至每条查询,使 auth.uid() 在 RLS 策略内部解析,仓储层无法绕过租户作用域。README 指出这使得 Supabase 成为承重组件,而非可插拔适配器;替换为厂商无关认证需重写认证中间件、RLS 作用域助手及对应策略。 内置 Demo 用于全面演练该栈:/patterns 页面展示各支持的 HTMX/Alpine 模式及实时演示与源码;架构问答功能将错误答案保存为每用户专属 Flashcard,以真实 RLS 保护行存储;后台任务通过 Supabase 管理 API 过期不活跃匿名用户。 开发者工具链涵盖:类型安全的 templ 模板编译为 Go、sqlc 代码生成搭配仓储模式、air 热重载、Taskfile 自动化、golangci-lint、Prometheus 指标、log/slog 结构化日志、健康检查及 CI/CD。基于角色的设计系统使用语义化令牌如 bg-surface 和 text-muted-foreground,深色模式翻转令牌而非组件,CI 检查禁止原始灰色值和 dark: 漂移。 性能预算 README 列出强制预算:P95 响应时间低于 100ms、二进制体积低于 20MB、Docker 镜像低于 30MB、稳态内存低于 128MB、启动时间低于 500ms,由 task test:performance 和 task test:binary-size 验证。 代理辅助开发 项目附带分层 AI 宪法:CLAUDE.md 包含违规即停规则,.claude/engineering.md、workflow.md 和 stack.md 分别承载工程默认值、流程说明与技术栈事实。AGENTS.md 由 task agents:build 从上述各层生成,CI 会在其偏离时失败。非平凡特性遵循三阶段流程:Architect → Coder → Reviewer。唯一完成标准是 task ci quality gate(格式化、lint、race 测试、漂移检查、二进制大小、漏洞扫描),代理必须达标且不得降低阈值。 架构决策记录(ADR)均含 Enforcement 章节,将规则映射至检查项。task check:adr 运行确定性套件验证可测试 ADR 后果,包括秘密扫描器。检查初始为警告状态,经达标期或实际捕获后升级为阻断。两处钩子为阻断型:Stop-gate 防止代理在完成回合时留下失败测试或阻塞项;PreToolUse 守卫防止手动编辑现有 ADR、AGENTS.md 或生成代码;两者均配备kill switch。README 标注了各模块属于承重还是可移除,并附完全精简 enforcement suite 的操作指引。 根目录 versions.json 作为公开消费契约列出技术栈版本锁定;task versions:check 在各键与仓库内源不一致时失败,新增键允许,重命名或删除键视为破坏性变更。 快速开始与范围 前置要求:Go 1.26+、Docker、Docker Compose、Task 及 Node.js 20+。快速上手步骤包括克隆仓库、复制 .env.example、启动数据库、执行迁移、生成 sqlc 类型、安装 Go 与 npm 依赖,并以热重载方式启动开发服务器(默认监听 4000 端口)。另记录了一次性 Supabase 密码重置模板配置。可用任务包括 dev、ci、build、test、coverage、performance 和 binary-size 检查、lint、CSS 构建、Docker 镜像构建及漏洞扫描。本项目采用 MIT 许可证发布。