Repository navigation
Releases: Freakling/SaaSAllTheThings
Release list
v0.9.1
What's new
- An install from a source with unreleased changes says so. When the source's
CHANGELOG.mdhas an Unreleased section with entries, the manifest's first line reads# saasallthethings <version> + unreleased (<commit>), and the closing lines say the install is a development snapshot, not a release, with a link to the releases page. The commit is recorded in a# sourceline whenever the source is a git checkout, so a release install records its commit too. A release (an empty Unreleased section, or none) records the plain version as before. Upgrade detection strips the suffix, so an upgrade from an unreleased install works.- Upgrade steps: none needed. The next upgrade rewrites the manifest.
How to install
Designed to work with any AI coding assistant that reads AGENTS.md. Built and tested on Claude Code; other assistants are untested.
Your app needs git (git init if it has none) and no uncommitted changes. You also need bash (on Windows it comes with Git for Windows), and the toolchain of your backend stack: the .NET SDK 8+ for the default.
Option 1: the Claude Code plugin. In Claude Code:
/plugin marketplace add Freakling/SaaSAllTheThings
/plugin install saasallthethings@saasallthethings
The plugin installs the latest release. Then open a new Claude Code session in your app's folder (or run /reload-plugins), and run /saasallthethings:saas-all-the-things.
Option 2: manual install. Put the latest release in your app's root folder as a folder named SaaSAllTheThings. The release's tag is v followed by its version number, and the Releases page shows the latest one. Either run git clone --branch <tag> --depth 1 https://github.com/Freakling/SaaSAllTheThings.git SaaSAllTheThings there, replacing <tag> with it, or download that release's source zip from the Releases page and rename the extracted folder. Then ask your assistant:
Read SaaSAllTheThings/ONBOARDING.md and follow it to install SaaSAllTheThings into this project.
Option 3: the skills CLI (installs the skill for the assistant you choose; in Claude Code it becomes a slash command):
npx skills add Freakling/SaaSAllTheThings
Then ask your assistant to "SaaS all the things" in your app's folder. The skill clones this repository's matching release into a temporary folder outside your app, and follows ONBOARDING.md from there.
How to upgrade
- Plugin: run
/plugin marketplace update saasallthethingsand then/plugin update saasallthethings@saasallthethings. Start a new session in the app and run/saasallthethings:saas-all-the-thingsagain. - Manual: put the new SaaSAllTheThings folder in the app, and ask for ONBOARDING.md again.
- Skills CLI: run
npx skills add Freakling/SaaSAllTheThingsagain, then ask for the upgrade.
Only the framework's own files are replaced, and your edits to them are kept. When a new version also changes a file you edited, the new version is written next to it as <file>.satt-new for you to merge.
This release's upgrade steps: none needed. The next upgrade rewrites the manifest.
v0.9.0
What's new
- New: a product brief template for you to fill in, in your own words (
product/director-brief.md). Every app gets it, for a new SaaS or an existing app. It is the SaaS variant of the director's product brief. It covers the product (summary, problem, goals, audience, value and features, user flow), and four sections a customer's architect or product owner answers: the enterprise architecture the SaaS must fit into (identity provider, data residency, hosting constraints, integrations, existing standards, approvals), the requirements (functional and non-functional), the security requirements, and the control frameworks the customer must meet, with the customer's security framework named. Onboarding offers it before the interview, as an alternative to the chat interview or an addition to it, and says why it helps: a written brief gives the agent your intent and context, and sets the stage for the design sessions, the assessment and the builds that follow, anchored in the customer's security framework.- It stays yours.
product/prd.mdremains the record of current requirements that the agent maintains. Your brief is input: the agent reads it, never edits it, and writes the current requirements into the PRD's own sections (Data and Compliance carries the control frameworks and the security requirements), so each fact lives in one place. It never treats a requirement as met because the brief names a framework. - Onboarding reads a filled one first. For a new SaaS it takes the interview's answers from it and asks only what it leaves open. For an existing app it builds the initial assessment (PRD sections, Architecture rows, first items) from it, together with the code, the assessment report and the workshop notes. It marks what it took
(from your document)and what it worked out itself(inferred, please confirm), records decisions withwhy: from your document, drafts ADRs for the architecture constraints it names, and turns what is undecided into open questions. It tells you to put the frameworks' requirements, or the customer's own control list, incompliance/, which architecture sessions and research read. - The assessment reads it too.
saas-assessmentasks for the brief in its first questions, reads a filled one first, takes the answers it gives instead of asking again, and marks in the report what came from the brief and what it inferred.
- It stays yours.
- Align checks the PRD and ADRs against reality.
align.md's item 6 is "Brief against reality". It reads the whole PRD and every ADR, and checks every statement of state (a section marked later or planned, a count, a list of what exists, a line saying work waits on something, "once X exists", and an ADR's status) against the built system, the done items and the latest releases. It also checks every decision line since the lastdocs: aligncommit one by one, not a sample. Mechanical drift gets fixed; design calls are reported with the stale statement named.
How to install
Designed to work with any AI coding assistant that reads AGENTS.md. Built and tested on Claude Code; other assistants are untested.
Your app needs git (git init if it has none) and no uncommitted changes. You also need bash (on Windows it comes with Git for Windows), and the toolchain of your backend stack: the .NET SDK 8+ for the default.
Option 1: the Claude Code plugin. In Claude Code:
/plugin marketplace add Freakling/SaaSAllTheThings
/plugin install saasallthethings@saasallthethings
The plugin installs the latest release. Then open a new Claude Code session in your app's folder (or run /reload-plugins), and run /saasallthethings:saas-all-the-things.
Option 2: manual install. Put the latest release in your app's root folder as a folder named SaaSAllTheThings. The release's tag is v followed by its version number, and the Releases page shows the latest one. Either run git clone --branch <tag> --depth 1 https://github.com/Freakling/SaaSAllTheThings.git SaaSAllTheThings there, replacing <tag> with it, or download that release's source zip from the Releases page and rename the extracted folder. Then ask your assistant:
Read SaaSAllTheThings/ONBOARDING.md and follow it to install SaaSAllTheThings into this project.
Option 3: the skills CLI (installs the skill for the assistant you choose; in Claude Code it becomes a slash command):
npx skills add Freakling/SaaSAllTheThings
Then ask your assistant to "SaaS all the things" in your app's folder. The skill clones this repository's matching release into a temporary folder outside your app, and follows ONBOARDING.md from there.
How to upgrade
- Plugin: run
/plugin marketplace update saasallthethingsand then/plugin update saasallthethings@saasallthethings. Start a new session in the app and run/saasallthethings:saas-all-the-thingsagain. - Manual: put the new SaaSAllTheThings folder in the app, and ask for ONBOARDING.md again.
- Skills CLI: run
npx skills add Freakling/SaaSAllTheThingsagain, then ask for the upgrade.
Only the framework's own files are replaced, and your edits to them are kept. When a new version also changes a file you edited, the new version is written next to it as <file>.satt-new for you to merge.
This release's upgrade steps:
product/director-brief.md: the installer adds the brief when the app doesn't have it (project seeds are copied once and then yours). After the upgrade, the agent tells you it exists, where it is, and why writing it helps. If you or the customer's architect or product owner fill it in, the agent reads it as ONBOARDING.md describes and bringsproduct/prd.mdin line, marking what it inferred.
The align change is framework-owned and arrives on upgrade. No other app-owned file changes are required.
v0.8.0
What's new
- New:
/research, the research assistant (procedures/research.md). When a product or architecture question depends on facts nobody has checked, or you ask for research, a read-onlyresearchersubagent looks into it in a fresh context and reports a note. It informs; you decide: its recommendation is one option shown with its reason, and it never records a decision, edits the PRD,product/decisions.mdor an ADR, answers an open question, accepts an ADR, or asks you anything. It states its assumptions in the note instead.- Research is a task type. Research items get their own IDs,
R<n>, drawn from theNext IDsline like bugs. Instead ofDone whenthey haveQuestion:and, when they feed an open question,Informs: Q<n>. They are sized like any item, and the size picks the model. An item is done when its note exists. - Two ways to start. On the fly: a product or architecture session delegates a complex question, or you run
/research <question>, and the item is created and run at once. For later: queue the item, and list it underDepends onof the tasks that need its findings. A task that needs the decision stays gated by the open question itself. /next-taskhands research items to theresearcher. No check runs and no review: research changes no code. This session writes the note toproduct/research/YYYY-MM-DD-<slug>.mdand commits it with the records. A finished item that informsQ<n>makes that question ready for a product or architecture call, and a run goes on to the next item.- Product and architecture sessions list
product/research/first, show notes on the topic in the context brief, delegate a question that needs facts, and link the note afterwards: the decision line'swhyends with its path, and the ADR's Context does. - The note is one dated file per topic: the conclusion first, the options and trade-offs, the recommendation, every claim with its source, source tier and confidence, the date the claims were verified, and what stays unknown.
- A domain file (
.satt/research-domain.md) is read when the question touches Azure, the reference architecture, the customer's security framework or an architecture decision. It sets out Azure first when Azure is central (current Microsoft guidance as input, never as the answer), the reference architecture's authority (a deviation starts with "comply"; costs start fromreference/cost.md), the customer's security framework as a binding source (each requirement traced to a control and labelled direct, partial, interpretive or unverified, with the shared-responsibility boundary named), an ADR-ready summary for a significant decision, and a checklist for architecture questions. - Confidentiality. Project text, customer and tenant names, requirements, integration contracts and resource identifiers never go into a public search query or fetch.
- The researcher has
Read,Grep,Glob,WebSearchandWebFetch: no edit, write or shell tool..claude/settings.jsonallows web search and fetch. Claude Code can't scope a permission to one subagent, so the allow applies to every session in the app, not only the researcher; the researcher's own tool list is the restriction. Everything with side effects keeps asking.
- Research is a task type. Research items get their own IDs,
- Align checks that
Next IDshas anRcounter, that research items have aQuestion:and anInforms:instead ofTouchesandDone when, and that each done research item has its note. - The design-session skill (
saas-design-session) doesn't carry the research procedure, because the Claude apps have no subagents and no app folder to hold notes. Its bundledrules.md,tasks.md,design.mdandarchitect.mdare refreshed, and itsSKILL.mdsays what to do where a procedure says to research first: check one fact yourself, otherwise make the missing facts open questions or ask. - Selftest checks that the research files exist and are wired into the procedures, the item format, the seeds and the docs, that the researcher has no edit, write or shell tool, that only
permissions.allowlists web search and fetch, that the installer ships everything (including with--tools none), that a research note commits without running the check, and that the design-session skill leaves the procedure out and says so. - The example (
examples/order-desk) shows theRcounter and the note folder, and the scenarios gain three for research. - The plugin installs the latest release. The marketplace names the plugin as a
githubsource withrefv<version>, because Claude Code's relative-path source (./) can't pin a ref and so took the default branch. The skills already clonev<version>; with this, every install path gets the release, andmainis where changes are integrated..claude/CLAUDE.md› After any change lists.claude-plugin/marketplace.jsonamong the files that carry the version and says each release is taggedv<version>once its pull request is merged. The selftest checks the marketplace'srefagainstVERSION. - The manual install takes the latest release. Option 2 in the README clones the release tag (
git clone --branch <tag> --depth 1), or downloads that release's source zip, instead ofmain, so it installs the same release as the plugin and the skills. The Releases page shows the tag.
How to install
Designed to work with any AI coding assistant that reads AGENTS.md. Built and tested on Claude Code; other assistants are untested.
Your app needs git (git init if it has none) and no uncommitted changes. You also need bash (on Windows it comes with Git for Windows), and the toolchain of your backend stack: the .NET SDK 8+ for the default.
Option 1: the Claude Code plugin. In Claude Code:
/plugin marketplace add Freakling/SaaSAllTheThings
/plugin install saasallthethings@saasallthethings
The plugin installs the latest release. Then open a new Claude Code session in your app's folder (or run /reload-plugins), and run /saasallthethings:saas-all-the-things.
Option 2: manual install. Put the latest release in your app's root folder as a folder named SaaSAllTheThings. The release's tag is v followed by its version number, and the Releases page shows the latest one. Either run git clone --branch <tag> --depth 1 https://github.com/Freakling/SaaSAllTheThings.git SaaSAllTheThings there, replacing <tag> with it, or download that release's source zip from the Releases page and rename the extracted folder. Then ask your assistant:
Read SaaSAllTheThings/ONBOARDING.md and follow it to install SaaSAllTheThings into this project.
Option 3: the skills CLI (installs the skill for the assistant you choose; in Claude Code it becomes a slash command):
npx skills add Freakling/SaaSAllTheThings
Then ask your assistant to "SaaS all the things" in your app's folder. The skill clones this repository's matching release into a temporary folder outside your app, and follows ONBOARDING.md from there.
How to upgrade
- Plugin: run
/plugin marketplace update saasallthethingsand then/plugin update saasallthethings@saasallthethings. Start a new session in the app and run/saasallthethings:saas-all-the-thingsagain. - Manual: put the new SaaSAllTheThings folder in the app, and ask for ONBOARDING.md again.
- Skills CLI: run
npx skills add Freakling/SaaSAllTheThingsagain, then ask for the upgrade.
Only the framework's own files are replaced, and your edits to them are kept. When a new version also changes a file you edited, the new version is written next to it as <file>.satt-new for you to merge.
This release's upgrade steps:
- TASKS.md: add an
Rcounter to theNext IDsline, so**Next IDs:** T12 · B3becomes**Next IDs:** T12 · B3 · R1. product/research/: the installer creates the folder with a shortREADME.md(a project file, yours from then on) when the app doesn't have it. Notes are added there as research runs; commit them like the other records..claude/settings.jsonis framework-owned, so it is replaced on upgrade. If you edited it, the new version arrives as.claude/settings.json.satt-new; merge it, and make sure"WebSearch"and"WebFetch"are inpermissions.allow. They are allowed for every session in the app, not only the researcher, which lets the researcher read the web without asking each time. Restart Claude Code afterwards so the new skill, subagent and permissions load.
No other app-owned file changes are required.
v0.7.0
What's new
- README: "Part of Director-Driven Development". A new section after the opening description places SaaSAllTheThings among the three Director-Driven Development frameworks (Godot-Director, App-Director, SaaSAllTheThings), and links the step-by-step guide to building a B2B SaaS on Azure with it.
- The upgrade-file check ignores nested clones.
git ls-fileslists a nested repository in an ignored folder (such as a clone inwork/) as a directory, which blocked every commit while no upgrade file existed. The pre-commit hook, the/aligncheck and onboarding now keep only paths that end in.satt-new, so a real upgrade file still blocks the commit. The self-test checks both cases. - The self-test skips .NET without an SDK. A machine with the .NET runtime host but no SDK ran the .NET checks, and three of them failed. The self-test now skips the .NET part unless
dotnet --list-sdkslists an installed SDK, with the same message as a machine without dotnet. Where an SDK is installed, the .NET part runs as before. - One commit model, shared with App-Director and Godot-Director. One task, one commit, with the pre-commit check as the gate.
- A single
/next-taskpauses for your approval of its commit. - A run commits without pausing. When you ask for one ("grab tasks until you're blocked", "work through the queue", "the next N tasks"), each task commits as soon as its check passes. The run stops when an item is blocked on you, a build fails, or you decline a commit, and the final report lists every commit. A run approves commits in advance, not pushes, deploys or changes to cloud resources.
git commitis allowed in.claude/settings.jsonwithout a prompt.git push, rebasing, restoring,git configand theazandazdcommands listed underaskstill ask, and skipping the check with--no-verifyis still denied.
- A single
How to install
Designed to work with any AI coding assistant that reads AGENTS.md. Built and tested on Claude Code; other assistants are untested.
Claude Code plugin: in Claude Code, run:
/plugin marketplace add Freakling/SaaSAllTheThings
/plugin install saasallthethings@saasallthethings
Then open a new Claude Code session in your app's folder (or run /reload-plugins), and run /saasallthethings:saas-all-the-things.
Manual install: put this repository in your app's root folder as a folder named SaaSAllTheThings: run git clone https://github.com/Freakling/SaaSAllTheThings.git SaaSAllTheThings there, or download the zip and rename the extracted folder. Then ask your assistant:
Read SaaSAllTheThings/ONBOARDING.md and follow it to install SaaSAllTheThings into this project.
Skills CLI (installs the skill for the assistant you choose; in Claude Code it becomes a slash command):
npx skills add Freakling/SaaSAllTheThings
Then ask your assistant to "SaaS all the things" in your app's folder. The skill clones this repository's matching release into a temporary folder outside your app, and follows ONBOARDING.md from there.
How to upgrade
- Plugin: run
/plugin marketplace update saasallthethings, then/plugin update saasallthethings@saasallthethings. Start a new session in the app and run/saasallthethings:saas-all-the-thingsagain. - Manual: put the new SaaSAllTheThings folder in the app, and ask for ONBOARDING.md again.
- Skills CLI: run
npx skills add Freakling/SaaSAllTheThingsagain, then ask for the upgrade.
Only the framework's own files are replaced, and your edits to them are kept. When a new version also changes a file you edited, the new version is written next to it as <file>.satt-new for you to merge.
This release's upgrade steps: none to your own files. .claude/settings.json is framework-owned, so it is replaced on upgrade. If you edited it, the new version arrives as .claude/settings.json.satt-new; merge it, and make sure Bash(git commit *) is in permissions.allow and no longer in permissions.ask (an ask entry wins over allow, so the old entry would keep the prompt). Restart Claude Code afterwards so the changed skill description and permissions load.
v0.6.0
What's new
/drift-reset, the design drift reset. When a design principle has been built in more than one way, patching makes it worse; the reset guides the director through a structured redo instead. Align often, reset when you have to.- Only the director starts it. The assistant can't start it on its own;
/alignmay only recommend it. - As built (read only): one read-only analysis per area in a fresh context, with tenancy and identity always its own area, since drift there is a security finding. Writes
resets/YYYY-MM-DD/as-built.mdwithfile:lineevidence. - Interpretations (read only): each pillar, PRD rule, contract rule and accepted ADR classified as consistent, divergent or contradictory, with its failure mode.
- Rewrite the design: one design call per split item, as in
/design, with room for the director's own answer. The old PRD is archived; only the director's choices reachdecisions.md. Accepted ADRs are never dropped without a new ADR, and framework rules (tenancy, identity, cost, the check) are out of scope: a real conflict goes through/architect. - Plan the rebuild: sized TASKS.md items with exact
Touches, security bugs first. No application code; the rebuild runs through/next-task. /drift-reset postmortem: checks each failure mode after the rebuild and proposes checks fortools/check.local.shas design calls, so repeated judgment turns into checks.
- Only the director starts it. The assistant can't start it on its own;
/alignrecommends a drift reset when a conflict has come up before, or one conflict involves several principles.
How to install
Designed to work with any AI coding assistant that reads AGENTS.md. Built and tested on Claude Code; other assistants are untested.
Claude Code plugin (recommended): Settings › Plugins, search for SaaSAllTheThings, click Add.
Skills CLI (installs the skill for the assistant you choose; in Claude Code it becomes a slash command):
npx skills add saas-all-the-things
Direct: clone this repository to a permanent location and follow ONBOARDING.md with $SATT pointing at it.
How to upgrade
Re-run the installer (/saas-all-the-things or npx skills add saas-all-the-things) in the app's repository.
This release's upgrade steps: none. Framework files are replaced on upgrade; resets/ is created by the first reset.
v0.5.6
What's new
- Context surfaced to the director before every options call. In design, architecture and integration sessions, the session now shows the relevant existing decisions before presenting options — so the director always sees the full picture before choosing:
- Design session (
design.md): quotes or summarises the applicable Product Pillars, the current PRD rule, and any related line fromdecisions.md. - Architecture session (
architect.md): quotes or summarises the reference rule in question, the classification (open choice, deviation, gap or requirements conflict), and the title and status of any related ADRs. - Integration session (
integrate.md): quotes the relevant guidance fromintegrations.md(including the Navision table) and the current contract value before each round.
- Design session (
How to install
Designed to work with any AI coding assistant that reads AGENTS.md. Built and tested on Claude Code; other assistants are untested.
Claude Code plugin (recommended): Settings › Plugins, search for SaaSAllTheThings, click Add.
Skills CLI (installs the skill for the assistant you choose; in Claude Code it becomes a slash command):
npx skills add saas-all-the-things
Direct: clone this repository to a permanent location and follow ONBOARDING.md with $SATT pointing at it.
How to upgrade
Re-run the installer (/saas-all-the-things or npx skills add saas-all-the-things) in the app's repository.
This release's upgrade steps: none. Framework files are replaced on upgrade.
v0.5.5
What's new
- Architecture session context surfaced to the director. Before offering options on any architecture question, the session now quotes or summarises the reference rule in question, the classification (open choice, deviation, gap or requirements conflict), and the title and status of any related ADRs. The director sees what they are deciding against before choosing.
How to install
Designed to work with any AI coding assistant that reads AGENTS.md. Built and tested on Claude Code; other assistants are untested.
Claude Code plugin (recommended): Settings › Plugins, search for SaaSAllTheThings, click Add.
Skills CLI (installs the skill for the assistant you choose; in Claude Code it becomes a slash command):
npx skills add saas-all-the-things
Direct: clone this repository to a permanent location and follow ONBOARDING.md with $SATT pointing at it.
How to upgrade
Re-run the installer (/saas-all-the-things or npx skills add saas-all-the-things) in the app's repository.
This release's upgrade steps: none. Framework files are replaced on upgrade.
v0.5.4
What's new
- Design session context surfaced to the director. Before offering options on any product question, the session now quotes or summarises the applicable Product Pillars, the current PRD rule, and any related line from
decisions.md. The director sees the full picture before choosing, not just the options.
How to install
Designed to work with any AI coding assistant that reads AGENTS.md. Built and tested on Claude Code; other assistants are untested.
Claude Code plugin (recommended): Settings › Plugins, search for SaaSAllTheThings, click Add.
Skills CLI (installs the skill for the assistant you choose; in Claude Code it becomes a slash command):
npx skills add saas-all-the-things
Direct: clone this repository to a permanent location and follow ONBOARDING.md with $SATT pointing at it.
How to upgrade
Re-run the installer (/saas-all-the-things or npx skills add saas-all-the-things) in the app's repository.
This release's upgrade steps: none. Framework files are replaced on upgrade.
v0.5.3
What's new
- En and em dashes removed throughout. Every en dash (U+2013) and em dash (U+2014) replaced by its contextual equivalent: a hyphen for ranges (
1-3,2-4), a colon or comma for asides, and parentheses for parentheticals.selftest.shnow asserts the count is zero..claude/CLAUDE.mdadds the typography rule for future edits. - Project seeds updated.
AGENTS.mdLayout table,TASKS.mdfield values and human item headings,product/prd.mdcomment, andvalidation/TEMPLATE.mdnow use hyphens in place of dashes.
How to install
Designed to work with any AI coding assistant that reads AGENTS.md. Built and tested on Claude Code; other assistants are untested.
Claude Code plugin (recommended): Settings › Plugins, search for SaaSAllTheThings, click Add.
Skills CLI (installs the skill for the assistant you choose; in Claude Code it becomes a slash command):
npx skills add saas-all-the-things
Direct: clone this repository to a permanent location and follow ONBOARDING.md with $SATT pointing at it.
How to upgrade
Re-run the installer (/saas-all-the-things or npx skills add saas-all-the-things) in the app's repository.
This release's upgrade steps:
- In your
AGENTS.mdLayout table, any empty "Layer" cell written as an em dash becomes(none). - In
TASKS.md, field values written as a single em dash (Depends on,PRD,Touches) becomenone; human item headings with the size written as an em dash becomenone. - In
product/prd.mdandvalidation/TEMPLATE.md, replace en dashes in numeric ranges with hyphens (1-5,3-6,3-5). - Framework files are replaced on upgrade: no manual changes needed there.
0.5.1
What's new
- Model sizing corrected to five independent entries. The two-tier rule (XS/S → smallest, M/L/XL → session model) was wrong: M, L and XL all ran on the same model regardless of complexity.
rules.mdnow defines one model ID per size; for Claude Code the defaults are Haiku for XS+S, Sonnet for M, and Opus for L+XL.next-task.mdreads the per-size entry and falls back to the session model if none exists. Escalation (XS→S, S→M) now uses the model mapped to the new size. /refresh-model-sizingskill and procedure (procedures/refresh-model-sizing.md): checks whether the tool can spawn a subagent with a chosen model (capability check — Claude Code: yes; if the tool cannot: skip), proposes the five defaults, and writes or updates the block in AGENTS.md › Project rules.- Onboarding step 8 updated: does the capability check inline, writes the full five-entry block for Claude Code (or skips for unsupported tools), mentions
/refresh-model-sizingfor later updates. - AI assistant support statement aligned. One position throughout: designed to work with any assistant that reads AGENTS.md, built and tested on Claude Code only. Removed hedges and competitor names from user-facing text. Capability note added to the README "With another AI assistant" section.
How to install
Designed to work with any AI coding assistant that reads AGENTS.md. Built and tested on Claude Code; other assistants are untested.
Your app needs git, bash (on Windows: Git for Windows), and the toolchain for your backend stack (.NET SDK 8+ for the default).
Option 1 — Claude Code plugin:
/plugin marketplace add Freakling/SaaSAllTheThings
/plugin install saasallthethings@saasallthethings
Open a new session in your app's folder (or run /reload-plugins), then run /saasallthethings:saas-all-the-things.
Option 2 — Skills CLI (installs the skill for the assistant you choose; in Claude Code it becomes a slash command):
npx skills add Freakling/SaaSAllTheThings
Then ask "SaaS all the things" in your app's folder.
Option 3 — Manual: clone or download this release into your app root as a folder named SaaSAllTheThings, then ask your assistant to read SaaSAllTheThings/ONBOARDING.md and follow it.
How to upgrade
Plugin: /plugin marketplace update saasallthethings then /plugin update saasallthethings@saasallthethings. Open a new session and run /saasallthethings:saas-all-the-things — onboarding detects the upgrade, summarises what changed, and asks Fast or Full.
Skills CLI: npx skills add Freakling/SaaSAllTheThings again, then ask "SaaS all the things".
Manual: put this release's folder in the app and ask the assistant to read ONBOARDING.md again.
Only framework files are replaced; your edits are kept.
This release's upgrade step: replace the Model sizing: on / Model sizing: off line in AGENTS.md › Project rules with the five-entry block. Run /refresh-model-sizing to do this — it will check capability and propose the defaults.