CLI Reference
Copy page
Complete reference for the Inkeep CLI commands
Overview
The Inkeep CLI is the primary tool for interacting with the Inkeep Agent Framework. It allows you to push agent configurations and interact with your multi-agent system.
Installation
Global Options
All commands support the following global options:
--version
- Display CLI version--help
- Display help for a command
Commands
inkeep init
Initialize a new Inkeep configuration file in your project.
Options:
--no-interactive
- Skip interactive path selection--config <path>
- Path to use as template for new configuration
Examples:
inkeep push
Primary use case: Push a project containing agent configurations to your server. This command deploys your entire multi-agent project, including all graphs, agents, and tools.
Options:
--project <project-id>
- Project ID or path to project directory--env <environment>
- Load environment-specific credentials fromenvironments/<environment>.env.ts
--config <path>
- Override config file path (bypasses automatic config discovery)--tenant-id <id>
- Override tenant ID--agents-manage-api-url <url>
- Override the management API URL from config--agents-run-api-url <url>
- Override agents run API URL--json
- Generate project data as JSON file instead of pushing to server
Examples:
Environment Credentials:
The --env
flag loads environment-specific credentials when pushing your project. This will look for files like environments/development.env.ts
or environments/production.env.ts
in your project directory and load the credential configurations defined there.
Example environment file:
Project Discovery and Structure
The inkeep push
command follows this discovery process:
-
Config File Discovery: Searches for
inkeep.config.ts
using this pattern:- Starts from current working directory
- Traverses upward through parent directories until found
- Can be overridden by providing a path to the config file with the
--config
flag
-
Workspace Structure: Expects this directory layout:
-
Resource Compilation: Automatically discovers and compiles:
- All project directories containing
index.ts
- All TypeScript files within each project directory
- Categorizes files by type (graphs, agents, tools, data components)
- Resolves dependencies and relationships within each project
- All project directories containing
Push Behavior
When pushing, the CLI:
- Finds and loads configuration from
inkeep.config.ts
at workspace root - Discovers all project directories containing
index.ts
- Applies environment-specific settings if
--env
is specified - Compiles all project resources defined in each project's
index.ts
- Validates agent relationships and tool configurations across all projects
- Deploys all projects to the management API
- Prints deployment summary with resource counts per project
inkeep pull
Pull project configuration from the server and update all TypeScript files in your local project using LLM generation.
Options:
--project <project-id>
- Project ID or path to project directory--config <path>
- Override config file path (bypasses automatic config discovery)--agents-manage-api-url <url>
- Override the management API URL from config--env <environment>
- Environment file to generate (development, staging, production). Defaults to development--json
- Save project data as JSON file instead of updating TypeScript files--debug
- Enable debug logging for LLM generation
How it Works:
The pull command discovers and updates all TypeScript files in your project based on the latest configuration from the server:
- File Discovery: Recursively finds all
.ts
files in your project (excludingenvironments/
andnode_modules/
) - Smart Categorization: Categorizes files as index, graphs, agents, tools, or other files
- Context-Aware Updates: Updates each file with relevant context from the server:
- Graph files: Updated with specific graph data
- Agent files: Updated with specific agent configurations
- Tool files: Updated with specific tool definitions
- Other files: Updated with full project context
- LLM Generation: Uses AI to maintain code structure while updating with latest data
TypeScript Updates (Default)
By default, the pull command updates your existing TypeScript files using LLM generation:
- Context Preservation: Maintains your existing code structure and patterns
- Selective Updates: Only updates relevant parts based on server configuration changes
- File-Specific Context: Each file type receives appropriate context (graphs get graph data, agents get agent data, etc.)
Examples:
Model Configuration
The inkeep pull
command currently uses a fixed model for LLM generation: anthropic/claude-sonnet-4-20250514
.
TypeScript generation fails:
- Ensure your network connectivity and API endpoints are correct
- Check that your model provider credentials (if required by backend) are set up
- Try using
--json
flag as a fallback to get the raw project data
Validation errors during pull:
- The generated TypeScript may have syntax errors or missing dependencies
- Check the generated file manually for obvious issues
- Try pulling as JSON first to verify the source data:
inkeep pull --json
inkeep chat
Start an interactive chat session with a graph.
Options:
--tenant-id <tenant-id>
- Tenant ID--agents-manage-api-url <url>
- Agents manage API URL--agents-run-api-url <url>
- Agents run API URL--config <path>
- Path to configuration file--config-file-path <path>
- Path to configuration file (deprecated, use --config)
Examples:
inkeep list-graphs
List all available graphs for a specific project.
Options:
--project <project-id>
- Required. Project ID to list graphs for--tenant-id <tenant-id>
- Tenant ID--agents-manage-api-url <url>
- Agents manage API URL--config <path>
- Path to configuration file--config-file-path <path>
- Path to configuration file (deprecated, use --config)
Examples:
inkeep dev
Start the Inkeep dashboard server, build for production, or export the Next.js project.
Options:
--port <port>
- Port to run the server on (default: 3000)--host <host>
- Host to bind the server to (default: localhost)--build
- Build the Dashboard UI for production (packages standalone build)--export
- Export the Next.js project source files--output-dir <dir>
- Output directory for build files (default: ./inkeep-dev)--path
- Output the path to the Dashboard UI
Examples:
inkeep config
Manage Inkeep configuration values.
Subcommands:
inkeep config get [key]
Get configuration value(s).
Options:
--config <path>
- Path to configuration file--config-file-path <path>
- Path to configuration file (deprecated, use --config)
Examples:
inkeep config set <key> <value>
Set a configuration value.
Options:
--config <path>
- Path to configuration file--config-file-path <path>
- Path to configuration file (deprecated, use --config)
Examples:
inkeep config list
List all configuration values.
Options:
--config <path>
- Path to configuration file--config-file-path <path>
- Path to configuration file (deprecated, use --config)
inkeep add
Pull a template project from the Inkeep Agents Cookbook.
Options:
--target-path <path>
- Target path to add the template to--config <path>
- Path to configuration file
Examples:
Configuration File
The CLI uses a configuration file (typically inkeep.config.ts
) to store settings:
Configuration Priority
Effective resolution order:
- Command-line flags (highest)
- Environment variables (override config values)
inkeep.config.ts
values
Environment Variables
The CLI and SDK respect the following environment variables:
INKEEP_TENANT_ID
- Tenant identifierINKEEP_AGENTS_MANAGE_API_URL
- Management API base URLINKEEP_AGENTS_RUN_API_URL
- Run API base URLINKEEP_ENV
- Environment name for credentials loading duringinkeep push
INKEEP_AGENTS_MANAGE_API_BYPASS_SECRET
- Optional bearer for Manage API (advanced)INKEEP_AGENTS_RUN_API_BYPASS_SECRET
- Optional bearer for Run API (advanced)
Troubleshooting
Project Not Found:
- Projects are automatically managed based on your tenantId
inkeep push
will create resources as needed
Getting Help
For additional help with any command:
For issues or feature requests, visit: GitHub Issues