egma/tests/. Nothing secret ever lands in the egma/ folder, so there are no .gitignore lines to write and none to forget. Your team reviews tests in pull requests, edits them in the same editor as your agent code, and keeps their full history in git.
Folder structure
egma init (or the interactive wizard) creates the following layout:
egma/ is committed. The config.yaml file records the verified identity of your Egma instance, so every command run in this repository finds it automatically.
Test file anatomy
Each file inegma/tests/ has two parts: a YAML front matter block and a set of Markdown sections.
Front matter
Name a persona only when the situation calls for a particular kind of caller. Most tests work fine with the default.
Sections
- ## Scenario
- ## Expected behaviors
A natural-language description of the call. Write it as a brief situation the caller is in, not as a script. The simulator uses this to set the scene.Keep it concrete: who the caller is, what they want, and any relevant context (time pressure, emotional state, prior history). The more specific the scenario, the more useful the simulation.
Test-level tool overrides
Below the expected behaviors, you can add the same### <tool-name> sections used in mock-tools.md. These override the project-wide mock for this test only, and are versioned with the test file itself.
Use this when a test needs a specific backend state — an empty calendar, a failed payment, a service that is down — that the project-wide mock should not enforce globally.