Skip to content

v0.7.0

Choose a tag to compare

@Freakling Freakling released this 15 Oct 18:11
· 24 commits to main since this release
2355683

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-files lists a nested repository in an ignored folder (such as a clone in work/) as a directory, which blocked every commit while no upgrade file existed. The pre-commit hook, the /align check 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-sdks lists 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-task pauses 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 commit is allowed in .claude/settings.json without a prompt. git push, rebasing, restoring, git config and the az and azd commands listed under ask still ask, and skipping the check with --no-verify is still denied.

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-things again.
  • Manual: put the new SaaSAllTheThings folder in the app, and ask for ONBOARDING.md again.
  • Skills CLI: run npx skills add Freakling/SaaSAllTheThings again, 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.