Core satellite application with tool registry and Convex integration for 6digit AI coding assistants
npm install @6digit/satellite-coreCore satellite application with tool registry and Convex integration for 6digit AI coding assistants.
The 6digit Satellite Core provides the foundational framework for creating AI-powered coding satellites that can execute tools and commands on behalf of AI assistants. It handles persistent pairing, heartbeat monitoring, tool registration, and real-time communication with Convex backends.
- 🔗 Persistent Pairing - Satellites pair once and automatically reconnect
- 💓 Heartbeat Monitoring - Keeps satellite sessions alive with server updates
- 🛠️ Tool Registry - Register and execute custom tools with Zod validation
- 📡 Real-time Communication - Convex integration for live tool invocations
- 🆔 Project-specific Identity - Satellite identity stored per project
- 🔧 Built-in Tools - Includes ping tool for connectivity testing
``bash`
npm install @6digit/satellite-core
`typescript
import { Satellite, pingTool } from '@6digit/satellite-core';
// Create satellite instance
const satellite = new Satellite({
studioUrl: process.env.CONVEX_URL!,
authToken: process.env.STUDIO_API_KEY,
type: 'devour',
name: 'my-coding-satellite'
});
// Register tools
const toolRegistry = satellite.getToolRegistry();
toolRegistry.registerTool(pingTool);
// Start satellite
await satellite.start();
// The satellite will display a pairing code for first-time setup
// After pairing, it automatically reconnects on subsequent starts
`
`typescript
import { SatelliteTool } from '@6digit/satellite-core';
import { z } from 'zod';
export const myCustomTool: SatelliteTool = {
name: 'myTool',
description: 'Does something useful',
parameters: z.object({
input: z.string().describe('Input parameter')
}),
execute: async (parameters) => {
// Your tool logic here
return { success: true, result: parameters.input };
}
};
// Register with satellite
toolRegistry.registerTool(myCustomTool);
`
- CONVEX_URL - Your Convex deployment URLSTUDIO_API_KEY
- - Authentication token for 6digit StudioSATELLITE_NAME
- - Optional satellite name (defaults to hostname)SATELLITE_CWD
- - Optional working directory (defaults to process.cwd())
The satellite system consists of:
1. Satellite Core - Main application framework (this package)
2. Tool Registry - Manages available tools and their execution
3. Convex Client - Handles communication with backend
4. Persistent Identity - Project-specific satellite identification
`typescript`
class Satellite {
constructor(config: SatelliteConfig)
start(): Promise
stop(): Promise
getToolRegistry(): ToolRegistry
sendHeartbeat(): Promise
getMetadata(): SatelliteMetadata
}
`typescript``
interface SatelliteTool {
name: string
description: string
parameters: z.ZodSchema
execute: (parameters: any) => Promise
}
MIT
See CONTRIBUTING.md for development guidelines.
- 🌐 Website: 6digit.studio
- 📧 Issues: GitHub Issues