首页
看点啥
插画图片
首页 科技看点 SaaSAllTheThings:AI Agent 工具实践指南

SaaSAllTheThings:AI Agent 工具实践指南

2026-10-06 0

工作中遇到相关需求时,SaaSAllTheThings值得先读说明,因为它主要用于从头开始构建 B2B SaaS,或者使用 AI 助手将概念验证或现有应用程序转变为 Azure 上成熟的多租户 SaaS:您拥有产品。实际做日常自动化时,经常会碰到输入边界、依赖和失败处理如果不清楚就很难稳定复用,所以功能列表并不能代替验证。落地前可以用一项范围明确的真实任务完成最小试跑,用配置时间、输出质量、异常信息和维护痕迹判断它是否真的省事。我的判断是,它更适合愿意先做小范围验证并复查原始文档的团队;若眼下没有这类需求,先保留观察即可。

Freakling/SaaSAllTheThings 项目截图 1

SaaSAllTheThings

从头开始构建 B2B SaaS,或者将工作概念证明或现有应用程序转变为成熟、现代的 SaaS,并由 AI 助理进行构建。

两个起点,一个目的地:一种多租户产品,企业客户使用自己的身份提供商登录,按照您定义的计划,连接到他们已经运行的系统,在事件驱动的 Azure 后端上,该后端保持便宜,但规模较小,并随着使用而增长。

您拥有该产品:它能做什么、为谁服务、以什么顺序。该框架拥有该架构并强制执行:事件驱动的 Azure Functions 后端、独立的 Windows 和移动客户端、使用联合身份登录的 OIDC、稍后可以将客户转移到自己的部署的池化多租户,以及从 Navision 开始的企业集成(Dynamics NAV / Business Central)。 AI 在该架构中构建、测试并保存记录。专为 Claude Code 打造,可与任何读取 AGENTS.md 的 AI 编码助手一起使用。所有内容都位于您应用程序自己的 git 存储库中。

在您的应用程序中,其简称为 .satt/ (SaaS All The Things),设置命令为 /saasallthethings:saas-all-the-things。

为什么

AI 后端代码编写速度快。如果没有结构,速度就会以熟悉的方式出错:

三大原则

如何使用

首先评估(可选)

还不确定需要什么? saas-assessment 技能在不更改现有应用程序的情况下分析现有应用程序,并编写一份报告:应用程序的准备程度(评分,有证据)、粗略努力的分阶段开发路线图、要做出的决策以及要举办的研讨会,每个研讨会都有参与者、准备工作、定时议程和方法。它首先询问您的堆栈首选项。安装如下技能(它随插件一起提供,或 npx skills add Freakling/SaaSAllTheThings),然后询问“如何使这个应用程序成为 SaaS?”。研讨会的笔记和报告将在随后的入职培训中提供,因此无需重复询问。

随时随地进行设计会议

架构和产品决策、集成合同和研讨会不需要终端。 saas-design-session 技能可以在 Claude Code、Cowork 或 Claude 应用程序(Web、桌面、移动)中运行它们,无论有或没有应用程序的存储库。它带有参考架构和研讨会手册,因此它按照与其他所有内容相同的规则进行论证:带有建议的选项,首先遵守参考,您决定。

询问诸如“我们应该使用哪个数据存储?”、“Navision 应该拥有什么?”、“准备集成研讨会”或“记录这个研讨会”之类的问题。它准备议程和预读,在研讨会期间记录时间和记录决策,并以笔记结束每次会议,包括用于架构决策的 ADR 草稿。在您的存储库之外,您可以下载笔记。将它们放入应用程序的 assessment/workshops/ 中,然后在 Claude Code 中“处理研讨会笔记”将它们转换为记录(如果尚未安装 SaaSAllTheThings,则入职会将其转换为记录)。在安装了 SaaSAllTheThings 的应用程序中,该技能通过应用程序自己的程序自行写入记录。

安装

您的应用程序需要 git(如果没有,则为 git init)并且没有未提交的更改。您还需要 bash(在 Windows 上,它附带了适用于 Windows 的 Git)和后端堆栈的工具链:默认为 .NET SDK 8+。

选项 1:Claude Code 插件。 在 Claude Code 中:

/plugin marketplace add Freakling/SaaSAllTheThings
/plugin install saasallthethings@saasallthethings

然后在应用程序的文件夹中打开一个新的 Claude Code 会话(或运行 /reload-plugins),并运行 /saasallthethings:saas-all-the-things。

选项 2:手动安装。 将此存储库作为名为 SaaSAllTheThings 的文件夹放在应用程序的根文件夹中:在其中运行 git clone https://github.com/Freakling/SaaSAllTheThings.git SaaSAllTheThings,或下载 zip 并重命名提取的文件夹。然后问你的助理:

阅读 SaaSAllTheThings/ONBOARDING.md 并按照其将 SaaSAllTheThings 安装到该项目中。

选项3:技能CLI(任何读取技能的助手):

npx skills add Freakling/SaaSAllTheThings

然后让你的助手在你的应用程序文件夹中输入“SaaS all the things”。该技能将此存储库的匹配版本克隆到应用程序外部的临时文件夹中,并从那里遵循 ONBOARDING.md 。

无论哪种方式,入职都会确定这是新应用程序、现有应用程序还是升级。然后它:

  1. 安装文件;
  2. 与您一起解决后端堆栈:对于现有应用程序,它会询问您的偏好,如果兼容,则保留您的堆栈,否则列出兼容的堆栈;
  3. 采访您(新应用程序)或阅读现有应用程序,包括其单租户习惯和秘密;
  4. 将路线图的第一阶段SaaS写入TASKS.md;
  5. 以一项供您批准的提交结束。

然后,重新启动 Claude Code,以便加载新命令。稍后该应用程序的每个新克隆都需要一个命令:bash tools/setup-clone.sh。

使用另一个 AI 助手: 告诉 onboarding,它仅安装工具中立核心 (--tools none)。您的助手读取 AGENTS.md,这将其指向 .satt/rules.md 和过程。检查和 git hook 对于每个工具和您来说都是相同的。

升级

仅替换框架自己的文件,并保留您对它们的编辑。当新版本也更改了您编辑的文件时,新版本会在其旁边写入 .satt-new 供您合并。

日复一日

说 会发生什么
"Do the next task" (/next-task) 构建下一个准备好的项目(首先是高严重性错误),通过检查证明它,更新记录,并要求您批准提交。
“执行接下来的 3 个任务”、“通过队列进行工作” 同样的,一件又一件,直到有人需要你。
"Assess the app", "Which workshops do we need?" (/assess) 只读评估报告:准备情况、粗略努力的分阶段路线图以及研讨会及其议程。 “处理研讨会笔记”将会议的决定转化为记录。
"Plan the next stage" (/roadmap) 将路线图的下一阶段作为小项目写入 SaaS。
"Which open questions block development?" (/product questions) 根据未阻止的内容对开放产品问题进行排名,并为每个问题提供选项和建议。
“让我们锻炼一下{能力}”(/product {topic}) 产品会议。您的决策将变成 PRD 文本、决策日志行和任务项。
“哪种 UI 技术适用于 Windows 客户端?”、“我们可以改用 SQL 吗?” (/architect) 架构会话:首先包含“comply”选项,然后是您接受的 ADR。
“添加 Navision 集成”(/integrate navision) 与您制定集成合同(方向、记录系统、冲突),然后分阶段进行计划。
“入驻租户{客户}”(/tenant) 准备情况检查和新客户的人工步骤:同意、计划、联系。
“准备验收检查”、“处理它”(/acceptance) 正在运行的应用程序中需要人眼查看的已构建内容的清单; you tick Works or Broken.
“新反馈报告”、“处理此反馈”(/feedback) 将客户或试点会话转化为错误、评分趋势和产品提案。
"Release to dev" (/release dev) 检查、假设、部署和冒烟测试,每一步都经过您的批准。 Production is yours to run.
“检查文档是否对齐”(/align) 一致性通过。漂移得到修复; gaps and conflicts come to you.
"Prune the task list" (/prune) Moves done items to TASKS-archive.md.
you, a customer or a pilot has an idea
        │
        ▼
product session ── options + a recommendation ── you decide ──► PRD + decisions.md + TASKS.md items
        │                                       architecture call? ──► /architect ──► ADR you accept
        ▼
next task ── builds the next ready item ── tests ── bash tools/check.sh ──► commit (you approve)
        │
        ▼
acceptance check (does each built rule work?)  ·  feedback (does it help the customer?)
        │
        ▼
bugs and product proposals ── you decide ── repeat

这是什么

谁做什么

负责
你 产品:功能、UX、计划和定价、优先级、客户、哪个系统拥有哪个数据; accepting ADRs; approving commits and deploys.
框架 架构:.satt/reference/,由检查强制执行。它在 SaaSAllTheThings 中更改上游,或者通过您接受的 ADR 对于一个项目进行更改。
AI 助手 代码、测试、基础设施即代码、合同、记录; proposing options and ADRs.

您的应用程序中安装了什么

your-app/
│  yours: never overwritten
├── AGENTS.md                   for every assistant: project facts, layout, architecture table, project rules
├── CLAUDE.md                   "@AGENTS.md", for Claude Code
├── TASKS.md                    milestones (the SaaSAllTheThings stages) and the queue (tasks and bugs)
├── product/prd.md              the product's current requirements, and Open Questions
├── product/decisions.md        why: one line per product decision
├── adr/                        architecture decision records: choices and accepted deviations
├── integrations//      one contract per external system (written by /integrate)
├── assessment/                 assessment reports and workshop notes (written by /assess)
├── validation/TEMPLATE.md      the feedback template, one section per capability
├── tools/check.cfg             the stack, the layers' folders, size limits
│
│  the framework's, tool-neutral: updated on upgrade
├── .satt/rules.md              the workflow rules, loaded through AGENTS.md
├── .satt/reference/            the reference architecture, one topic per file (the authority)
├── .satt/procedures/           next-task · build · assess · roadmap · product · architect · integrate ·
│                               tenant · acceptance · feedback · release · align · prune · review
├── .satt/templates/            ADR, integration contract and assessment templates
├── .satt/workshops/            the workshop playbook: one file per workshop, agendas and methods
├── .satt/tasks.md              the TASKS.md item format
├── tools/check.sh, archcheck.awk, cfg.sh, stacks/   the check, and one profile per backend stack
├── tools/setup-clone.sh        per clone: toolchain, dependencies, the pre-commit hook
├── .githooks/pre-commit        runs the check before commits that touch more than docs
├── validation/README.md        how acceptance checks and feedback reports work
│
│  the framework's, Claude Code adapter: updated on upgrade
├── .claude/skills/             /next-task and the rest: each points to its procedure
├── .claude/agents/             builder (builds each item in a fresh context) · reviewer (read-only)
├── .claude/hooks/              runs the check before a turn ends; blocks risky git and Azure commands;
│                               asks you before framework files change or an ADR is accepted
└── .claude/settings.json       permissions, hooks, timeouts

机器本地和 gitignored:.satt/state/(检查日志和缓存)和 .claude/settings.local.json。

The architecture, briefly

完整参考位于 .satt/reference/,每个文件一个主题;助理会读出某个项目涉及的主题。

规则,简要说明

完整的规则位于 .satt/rules.md 中,助手每次都会阅读它们。

上下文和令牌使用

设计者(主会话)和开发者(构建者子代理)是故意分开的上下文。每个优化都不同。

主要会议——设计师和协调者

构建器子代理 - 具有新上下文的开发人员

审阅者子代理 - 只读,也隔离

平行会议(设计+编码)

sequenceDiagram
    participant H as You
    participant M as Main session (designer/orchestrator)
    participant B as Builder subagent (fresh context)
    participant Rev as Reviewer subagent (fresh context)
    participant R as Git records (TASKS.md, commits, PRD, ADRs)

    Note over M: starts with AGENTS.md + rules (~10 KB), loads procedures lazily

    H->>M: /next-task
    M->>R: grep candidates, read item
    M->>R: claim item as in-progress
    M->>+B: item ID and full text
    Note over B: reads Touches, Architecture rows, PRD sections, reference topics
    B->>B: build, then run check.sh
    B-->>-M: ~20-line report
    Note over M: keeps only the report — not source files, test output or check logs

    opt L/XL item, or M item touching contracts/isolation/identity/schema
        M->>R: git diff to review.diff
        M->>+Rev: item ID, report, check result
        Rev-->>-M: ranked findings
        M->>+B: rebuild with findings
        B-->>-M: updated report
    end

    M->>R: mark done, update TASKS.md and AGENTS.md
    M->>H: approve commit?
    H->>M: approved
    M->>R: commit

    Note over R: records are the handoff — /clear or a new session loses nothing

模型尺寸(推荐):XS 和 S 项目在最小的可用模型上运行构建器(克劳德代码中的俳句); M 到 XL 使用会话模型。入职要求您选择;记录在AGENTS.md › 项目规则中。

支票

bash tools/check.sh运行四个步骤:

  1. 架构规则(tools/archcheck.awk):层、纯域、仅来自令牌的租户、没有特定于租户的代码、没有秘密、版本化事件和命令、文件大小、Bicep 中的成本 SKUs;
  2. 后端堆栈的构建和测试(tools/stacks/.sh:dotnet、typescript、python 或无);
  3. 安装 Bicep CLI 时,infra/ 中的 Bicep 文件;
  4. tools/check.local.sh,如果应用程序有一个(客户端构建、模拟器测试)。

bash tools/check.sh --architecture 在几秒钟内单独运行步骤 1,无需工具链。检查通过时退出 0,失败时退出 1,无法运行时退出 3。它从不调用 Azure、网络或外部系统,并记住最后一次传递的状态,因此挂钩不会在没有任何更改时重新运行它。

定制

这个存储库

路径
ONBOARDING.md 助手按照什么进行安装或升级
install.sh 确定性地复制文件,保留您的编辑,编写清单(--tools claude\ | 没有)
framework/ 安装到每个应用程序中:工具中立核心,加上 Claude Code 的 .claude/
project/ 应用程序自己的文件的种子,仅在丢失时复制
.claude-plugin/, skills/ Claude Code 插件,以及技能 CLI (npx skills add) 的相同技能:saas-all-the-things 安装,saas-assessment 在安装前评估应用程序,saas-design-session 在任何地方运行设计会议和研讨会
examples/order-desk/ 一个使用工作流程的小应用程序:一个工作示例和自测试的固定装置
examples/scenarios.md 提示在更改框架后尝试,以检查行为是否仍然有效
bundle.sh 将参考、剧本和会话过程复制到 skills/saas-design-session/references/(bash bundle.sh;如果副本发生偏差,自检会失败)
selftest.sh 测试安装程序、架构检查和挂钩 (bash selftest.sh)
CHANGELOG.md 发生了什么变化以及应用程序的升级步骤
.claude/CLAUDE.md 助理处理 SaaSAllTheThings 本身的说明

隐私:SaaSAllTheThings 在您的计算机上运行,不会向任何地方发送任何内容;参见 PRIVACY.md。

喜欢(0)

上一篇

reactive-resume:实践指南

reactive-resume:实践指南

下一篇

teamcity-cli:实践指南

teamcity-cli:实践指南
猜你喜欢