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 skillSection 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 testsThe 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 testsLint and auto-fix
> lint and fix everythingRuns your linter (biome, eslint, oxlint, ruff, clippy, golangci-lint - auto-detected) with the fix flag where supported.
Typecheck
> typecheckRuns tsc --noEmit, mypy, pyright, cargo check, dart analyze, etc.
Commit
Press Ctrl+G, then c. Or:
> commit my changesEmpryo:
- Runs lint + typecheck (blocks if either fails).
- Writes a conventional-commit message based on your diff.
- Shows you the message and the diff.
- 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-authorToggles 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:
| Ask | Runs |
|---|---|
| "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.