Hi - I answer from the OpenSmartRoute documentation: routing, the API, plans and quotas, self-hosting. Ask away, or open a support ticket if you need a person.
Grounded in the docs - follow a source before acting on it.
Instruction file imported from navapbc/digital-service-orchestra (.github/instructions/shell.instructions.md). Copyright stays with the author.
Bash Coverage Areas
Coverage areas for bash:
Quoting of variables in conditionals and command arguments.
Shell options (set -euo pipefail) and pipeline exit handling.
Exit codes on error paths, especially in hook scripts that must block an
operation.
Concurrency and temp-file handling.
Project conventions (facts, not severity guidance):
Hook and plugin scripts prefer parse_json_field, json_build, or
python3 over jq for JSON parsing. Flag jq use in hook/plugin
scripts where a jq-free alternative exists.
/tmp writes go through mktemp.
Use it
Copy one of these into your project. Installing also returns the manifest and these snippets.
# after Install: the listing is in your workspace's routing pool - a plan picks it for its slot
curl -s -X POST https://api.opensmartroute.ai/api/v1/route -H 'Authorization: Bearer $OSR_API_KEY' -H 'Content-Type: application/json' -d '{"text": "...", "plan": true}'
Manifest
An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.