CLI
edge-connector
Developer workflow
Terminal window
Terminal window Terminal window Terminal window Terminal window Terminal window
Edge Connector project layout (typical local dev)
Quick start
Section titled “Quick start”npm install -g @nara/edge-connector
edge-connector auth --token "<ADMIN_JWT>"edge-connector generate --language typescript --tool my_tooledge-connector test --implementations ./custom-implementations --tool my_tooledge-connector packageedge-connector uploadCore commands
Section titled “Core commands”Authenticate the CLI against your organization.
edge-connector auth --token "<ADMIN_JWT>"- stores the token in
auth-token.json(configurable viaAUTH_TOKEN_PATH) - validates that the token is not expired and belongs to an organization
- required before
generate,package,upload, and mosttestflows
Options:
-t, --token <token>– JWT or service token for your nara organization-i, --interactive– guide through an interactive authentication flow
Generate boilerplate code for a specific tool.
edge-connector generate \ --language typescript \ --tool my_tool \ --output ./custom-implementationsWhat it does:
- connects to the Tool RPC server with your auth token
- discovers tools that can run on EDGE or DESKTOP
- generates type-safe stubs (TypeScript or Python) for the selected tool
Options:
-l, --language <language>–typescriptorpython-t, --tool <tool>– tool name as registered in nara-o, --output <path>– output directory (default./custom-implementations)-i, --interactive– choose language and tool from a prompt
Execute a custom implementation locally and inspect the result.
edge-connector test \ --implementations ./custom-implementations \ --tool my_tool \ --args '{"foo":"bar"}'Depending on the flags, the command either:
- runs the implementation purely locally, or
- connects to the Tool RPC server to fetch the tool definition and context
Key options:
-i, --implementations <path>– path to your implementation root-t, --tool <name>– tool name to test-a, --args <json>– JSON string of arguments (or use the editor prompt)-h, --host <host>– Tool RPC host (defaultlocalhost)-p, --port <port>– Tool RPC port (default3001)-u, --url <url>– full Tool RPC URL, overrides host/port
Build a distributable bundle (.tgz) of your tool implementations.
edge-connector package \ --implementations ./custom-implementations \ --out ./artifactsThe bundle contains:
- compiled implementations (usually from
dist/) - a
manifest.jsonwith organization, language, tools, checksum, and build timestamp
Options:
-i, --implementations <path>– implementation directory (default./custom-implementations)-o, --out <dir>– output directory (default./artifacts)--no-build– skippnpm build(assumes your TypeScript is already compiled)
Upload a bundle to the nara platform.
edge-connector upload \ --file ./artifacts/edge-bundle-org-123.tgz \ --api https://your-nara-webapp.example.comIf --file is omitted, upload can automatically call package first.
Key options:
-f, --file <path>– path to a.tgzbundle (created bypackage)-i, --implementations <path>– implementation directory if packaging on the fly--no-build– skip building before packaging--api <url>– platform API base URL (defaults to configuredplatformApiUrl)--notes <text>– freeform notes attached to the bundle version
Configuration files and paths
Section titled “Configuration files and paths”.├─ config.json # runtime configuration (Tool RPC URL, paths)├─ auth-token.json # stored auth token for CLI/runtime├─ deployment-credentials.json# deploymentId + deploymentSecret (server mode)└─ custom-implementations/ # your tool implementations