sf status
Report the current SaaSFoundryAI project state and workflow preconditions (manifest, workflow, SRS module, git, optional GitHub CLI).
Usage
sf status [--json] [--agent-friendly | --claude-friendly] [--check-gh] [--no-network]Options
| Flag | Description | Default |
|---|---|---|
--json | Machine-readable JSON report (fails with exit code 1 on any fail check) | - |
--agent-friendly | Markdown report for initialization in any agent host (exit code 0) | - |
--claude-friendly | Compatible alias for --agent-friendly; existing hooks keep working | - |
--no-network | Skip network-dependent checks | - |
--check-gh | Probe for gh (GitHub CLI) availability in $PATH | off |
Preconditions
Configuration
What the manifest declares, and whether the tooling around it is wired up.
| Name | Checks |
|---|---|
manifest | .saasfoundry.json exists at the project root |
workflow | workflow.tool is set (non-none) |
srs | tools.srs.enabled with a rootPage configured (skipped when SRS is not installed) |
git | Project is a git repo and the working tree is clean |
gh | GitHub CLI available in $PATH (only when --check-gh is passed) |
Runtime
Whether the project can actually run, which a well-formed manifest says nothing about. A project can be perfectly configured and still have no node_modules, no database answering, and no ORM client generated — and until these existed, sf status reported it as healthy.
| Name | Checks |
|---|---|
dependencies | The root workspace in a monorepo, api and web otherwise |
database | Something answers on the port the manifest records. Skipped when the project does not host its own database, and when --no-network is passed |
ormClient | The generated Prisma client is present under the API |
All three are skipped on a project that is not a generated one — the CLI's own repository, for instance.
When any of them fails, sf resume is what finishes the job.
Examples
# Human-readable status (default)
sf status# Machine-readable JSON — suitable for scripts
sf status --json# Explicit initialization in any coding agent
sf status --agent-friendly --no-networkExit codes
0— All preconditions pass, or either friendly flag was used (both preserve the hook-compatible non-failing exit behavior)1— At least one precondition has statusfail(default or--jsonoutput)
Friendly output can contain failing preconditions even though its process exits successfully. The agent must read and act on those checks. When --json and either friendly flag are combined, JSON output wins and the friendly exit behavior is retained, matching the legacy alias.
The listed skills are filesystem inventory; this report does not prove native skill discovery or hook execution. Use sf agents doctor to distinguish artifact checks from host capabilities.
See also
sf new— Create a new project (resolves a missing manifest)sf update— Install additional modules (resolves missing SRS setup)sf workflow— Configure the workflow tool