Browse documentation
Test locally and validate the manifest
Catch project and extension declaration errors before creating a deployment.
View MarkdownSalambo validates source projects locally, but the managed model loop and sandbox extension host run in the hosted environment. Local validation and hosted smoke testing prove different things.
1. Check prerequisites
salambo doctordoctor checks salambo.yaml, the managed runtime contract, the compiled agent manifest, optional managed packages, authentication, and declared secret environment variables. It does not require Docker or Compose because Salambo owns the hosted image build.
2. Compile the deployment contract
salambo manifest --path . --jsonThis command imports declared extension modules with the discovery API and validates:
- model and active-tool settings;
- system instructions, skills, and prompts;
- extension paths and loading modes;
- tool names, descriptions, and parameter schemas;
- supported hook subscriptions;
- duplicate identifiers and unsafe paths.
3. Read diagnostics as contract failures
| Diagnostic | Typical cause |
|---|---|
| Extension must export a default function | Missing export default function extension(pi) |
| Invalid tool name | Name exceeds 64 characters or uses unsupported characters |
| Missing description | Tool description is empty |
| Unsupported hook warning | Event is not in the hosted contract |
| Unsafe entrypoint | Absolute path or parent-directory traversal |
What local validation does not prove
manifest discovers registrations. It does not execute:
- a real model request;
- a custom tool body;
- lifecycle hook return behavior;
- sandbox networking;
- workspace checkpointing;
- integration context projection.
Those require a hosted deployment and smoke test.
Optional source checks
Run your own JavaScript tests for pure extension logic. Keep host-specific behavior behind small functions so it can be tested without recreating Salambo's runtime.
When both commands pass, deploy and smoke-test the agent.