recipes

Test, lint, commit

Run tests, lint, and typecheck through the agent with auto-detected toolchains, then commit with a clean conventional-commit message after pre-commit checks

Copy & share

Loading sections…

Connect MCP or install the Empryo skill

Section exports contain only that heading’s content. Markdown and text links fetch the selected content directly, without the rest of the page.

Run your tests

> run tests

The agent auto-detects your toolchain (Bun, npm, cargo, go, pytest, gradle, and 20+ others) and runs the right command.

Target a specific test:

> run only the auth tests

Lint and auto-fix

> lint and fix everything

Runs your linter (biome, eslint, oxlint, ruff, clippy, golangci-lint - auto-detected) with the fix flag where supported.

Typecheck

> typecheck

Runs tsc --noEmit, mypy, pyright, cargo check, dart analyze, etc.

Commit

Press Ctrl+G, then c. Or:

> commit my changes

Empryo:

  1. Runs lint + typecheck (blocks if either fails).
  2. Writes a conventional-commit message based on your diff.
  3. Shows you the message and the diff.
  4. Commits after you confirm.

To skip the pre-commit checks, commit via shell outside Empryo.

Co-author trailers

Add your LLM as a co-author:

/git co-author

Toggles between on (adds Co-Authored-By: <model>) and off. Saved per-scope.

The project tool

Under the hood, all of the above use the project tool. If you want to run it directly:

AskRuns
"run tests"project(action: "test")
"run the auth tests"project(action: "test", file: "auth")
"build"project(action: "build")
"lint and fix"project(action: "lint", fix: true)
"typecheck"project(action: "typecheck")
"what packages are in this monorepo?"project(action: "list")

See project tool for the full list of supported ecosystems.

Documentation