Registry / devops / ardunno-cli

ardunno-cli

JSON →
library1.1.1jsnpmunverified

A nice-grpc API wrapper for the Arduino CLI, providing a generated TypeScript client from the official proto files. Version 1.1.1 is current and supports Arduino CLI daemon connections. Key differentiators: full type safety, stream support for operations like init(), and a JSON schema for Arduino CLI configuration. Release cadence is tied to upstream Arduino CLI changes; pin compatible version in arduino-cli.version file.

npm install ardunno-cli
INSTALL
IMPORT
SIG · ARDUNNO-CLI
A
ardunno-cli
devopsjavascriptv1.1.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

ArduinoCoreServiceDefinition
import { ArduinoCoreServiceDefinition } from 'ardunno-cli'
import ArduinoCoreServiceDefinition from 'ardunno-cli'
Named export, not default. TypeScript/ESM only.
createChannel
import { createChannel } from 'nice-grpc'
import { createChannel } from 'ardunno-cli'
Provided by nice-grpc, not by ardunno-cli.
createClient
import { createClient } from 'nice-grpc'
const { createClient } = require('ardunno-cli')
Require from wrong package; createClient is not re-exported.

Connects to a running Arduino CLI daemon, creates a client, initializes the instance, and searches for SAMD platforms.

import { createChannel, createClient } from 'nice-grpc'; import { ArduinoCoreServiceDefinition } from 'ardunno-cli'; const channel = createChannel('localhost:50051'); const client = createClient(ArduinoCoreServiceDefinition, channel); async function main() { const { instance } = await client.create({}); for await (const { message } of client.init({ instance })) { if (message.$case === 'error') { throw new Error(message.error); } } const { searchOutput } = await client.platformSearch({ instance, searchArgs: 'SAMD' }); searchOutput.forEach(({ id, latest }) => console.log(`${id}@${latest}`)); } main().catch(console.error);
Debug
Known issues
gotchaRequires running Arduino CLI daemon on specified port; client will hang if daemon not running.
fix
Start daemon: `arduino-cli daemon --port 50051`
affects: >=1.0.0
gotchaThe `init()` method returns an async iterable; forgetting `for await` will not process responses.
fix
Use `for await (const { message } of client.init({ instance })) { ... }`
affects: >=1.0.0
gotchaInstance lifetime is managed by Arduino CLI daemon; reusing stale instance causes errors.
fix
Always use fresh instance from `client.create()` for each session.
affects: >=1.0.0
Errors
Common errors & fixes
Error: 14 UNAVAILABLE: No connection established
Arduino CLI daemon not running or wrong address
fix
Start daemon: `arduino-cli daemon --port 50051` and ensure `localhost:50051` matches daemon port.
TypeError: client.init is not a function
Wrong import: ArduinoCoreServiceDefinition not used or incorrect client creation
fix
Use: `const client = createClient(ArduinoCoreServiceDefinition, channel)`
Upgrade
Version history
1.1.1latest on npm
Audit
Dependencies
nice-grpcrequiredRequired to create gRPC channels and clients
Agent activity
14 hits · last 30 days
node
12
OpenAI (training)
1
Resources
ardunno-cli — npm install ardunno-cli · libregistry