Test, lint, commit
Ask Empryo to run your tests, linter, and type checker with the right commands for your project, fix what fails, and commit the result with a clear message.
Copy & share
On this page6 sections
You do not need to tell Empryo which commands your project uses. It detects your toolchain from the project files and runs the right test, lint, typecheck, and build commands.
Run your testsLink to this section
> run testsEmpryo recognizes many toolchains, including Bun, npm, pnpm, Yarn, Deno, Cargo, Go, Gradle, Maven, .NET, Swift, Dart and Flutter, Elixir (mix), and Zig.
To run only some tests:
> run only the auth testsLint and fixLink to this section
> lint and fix everythingEmpryo runs your linter, such as Biome, ESLint, oxlint, Ruff, Clippy, or golangci-lint, with its auto-fix option where the linter has one. The agent then fixes what is left by hand.
TypecheckLink to this section
> typecheckEmpryo runs your project's type checker, for example tsc --noEmit for TypeScript or cargo check for Rust.
CommitLink to this section
Ask in the chat:
> commit my changesThe agent reads the diff, writes a commit message that describes the change, and commits. If you want to check the message first, say so: "show me the commit message before you commit".
You can also commit yourself: press Ctrl+G to open the git menu, or type /git commit.
A good habit is to ask for everything in one go:
> run the tests and typecheck, fix anything that fails, then commitCo-author lineLink to this section
To mark commits the agent makes, turn on the co-author line:
/git co-authorWhen it is on, commits made by the agent end with:
Co-Authored-By: Empryo <noreply@empryo.com>Run the command again to turn it off. The setting is coAuthorCommits in your configuration.
The project toolLink to this section
All of the above uses the agent's project tool. You never have to call it yourself, but this is what your requests turn into:
| You ask | The agent 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") |
In a monorepo, the agent runs the command in the package that owns the file it is working on. See the project tool for the full list of supported toolchains.