@6digit/satellite-core
v0.3.1
Published
Core satellite application with tool registry and Convex integration for 6digit AI coding assistants
Downloads
10
Maintainers
Readme
@6digit/satellite-core
Core satellite application with tool registry and Convex integration for 6digit AI coding assistants.
Overview
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.
Features
- 🔗 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
Installation
npm install @6digit/satellite-coreQuick Start
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 startsCreating Custom Tools
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);Environment Variables
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())
Architecture
The satellite system consists of:
- Satellite Core - Main application framework (this package)
- Tool Registry - Manages available tools and their execution
- Convex Client - Handles communication with backend
- Persistent Identity - Project-specific satellite identification
API Reference
Satellite Class
class Satellite {
constructor(config: SatelliteConfig)
start(): Promise<void>
stop(): Promise<void>
getToolRegistry(): ToolRegistry
sendHeartbeat(): Promise<void>
getMetadata(): SatelliteMetadata
}SatelliteTool Interface
interface SatelliteTool {
name: string
description: string
parameters: z.ZodSchema<any>
execute: (parameters: any) => Promise<any>
}License
MIT
Contributing
See CONTRIBUTING.md for development guidelines.
Support
- 🌐 Website: 6digit.studio
- 📧 Issues: GitHub Issues
