Skip to main content
The project tool auto-detects your toolchain from config files and runs the correct commands β€” no setup, no guessing.

Actions

Parameters

Toolchain detection

detectProfile(cwd) scans for config files and lockfiles:

JS/TS linter detection

Priority order:
  1. biome.json / biome.jsonc -> biome check .
  2. oxlintrc.json / .oxlintrc.json -> oxlint .
  3. eslint.config.js / .eslintrc* -> eslint .

Python type checker detection

  • pyrightconfig.json exists -> pyright
  • Otherwise -> mypy .

Full ecosystem support

Pre-commit checks

When the agent runs git commit via the shell tool, SoulForge auto-runs detectNativeChecks(cwd) before allowing the commit:
  • JS/TS: biome check . && tsc --noEmit
  • Rust: cargo clippy && cargo check
  • Go: golangci-lint run && go build ./...
  • Python: ruff check && pyright
If checks fail, the commit is blocked and errors are returned to the agent. This is code-enforced β€” no prompt instruction needed. To skip pre-commit checks, commit directly via shell outside SoulForge.
The pre-commit check uses detectNativeChecks() which identifies tools from config files directly, never from package.json scripts. This ensures only known, safe tools are run.

Monorepo discovery

project(action: "list") discovers workspace packages:

Supported workspace formats

  • pnpm: pnpm-workspace.yaml
  • npm/yarn: workspaces field in package.json
  • Cargo: [workspace] members in Cargo.toml
  • Go: use directives in go.work

Example output

Each package gets its own detectProfile() call, so capabilities are accurate per-package.

System prompt integration

The detected toolchain is injected into the system prompt:
The agent sees available actions without guessing.

Shell redirect hints

When the agent runs bun run lint, cargo clippy, etc. via shell instead of the project tool, the result includes a hint:
This educates the agent to prefer the project tool without blocking the command.