API Reference

Local SDK Reference

Programmatic access to Mimik AI's skill management, knowledge engine, and sync capabilities. Everything runs locally — no API keys, no rate limits, no cloud.

Introduction

The Mimik AI SDK provides a Node.js/TypeScript API for programmatically interacting with your local Mimik AI installation. All operations are performed locally — no network requests are made.

Installation
npm install @mimik-ai/sdk
TypeScript
import { MimikAI } from '@mimik-ai/sdk';

const mimik = new MimikAI({
  skillsDir: '~/.mimik/skills',
  knowledgeDir: '~/.mimik/knowledge',
});

// List all installed skills
const skills = await mimik.skills.list();
console.log(`${skills.length} skills installed`);

Authentication

The SDK validates your local license automatically. No API keys are needed — your license key is verified from ~/.mimik/license.key.

TypeScript
const mimik = new MimikAI();

// Check license status
const license = await mimik.license.status();
// {
//   plan: 'Pro',
//   devicesAllowed: 3,
//   devicesUsed: 1,
//   activated: '2026-03-08T00:00:00Z',
//   updates: 'lifetime'
// }
GET mimik.skills.list(options?)

List Skills

Returns all installed skills, optionally filtered by category or search query.

Parameters

Parameter Type Description
category string Filter by category: development, security, devops, design, data, ai
search string Fuzzy search query against skill names and descriptions
limit number Maximum number of results (default: 50)
Example
const skills = await mimik.skills.list({
  category: 'security',
  search: 'owasp'
});

// Returns:
// [
//   {
//     name: 'owasp-top-10',
//     version: '2.1.0',
//     category: 'security',
//     description: 'Identify and remediate OWASP Top 10...',
//     triggers: ['owasp', 'security', 'vulnerability'],
//     installedAt: '2026-01-15T10:30:00Z'
//   }
// ]
POST mimik.skills.install(name, options?)

Install Skill

Installs a skill from the Mimik AI library. The skill files are downloaded and unpacked into your local skills directory.

Example
const result = await mimik.skills.install('react-best-practices', {
  version: 'latest',     // or pin: '2.1.0'
  overwrite: false        // don't overwrite existing customizations
});

// { success: true, name: 'react-best-practices', version: '2.1.0' }
DELETE mimik.skills.uninstall(name)

Uninstall Skill

Removes a skill and its associated files from the local skills directory.

Example
await mimik.skills.uninstall('react-best-practices');
// { success: true, removed: 'react-best-practices' }
POST mimik.skills.create(options)

Create Skill

Scaffolds a new custom skill with the standard directory structure.

Example
const skill = await mimik.skills.create({
  name: 'my-company-standards',
  description: 'Internal coding standards and review checklists',
  category: 'development',
  triggers: ['code review', 'standards', 'lint']
});

// Creates:
// ~/.mimik/skills/my-company-standards/
// ├── SKILL.md
// ├── scripts/
// ├── examples/
// └── resources/
POST mimik.knowledge.index(directory, options?)

Index Directory

Scans a directory and extracts knowledge items from source code, documentation, and other files.

Example
const result = await mimik.knowledge.index('./my-project', {
  recursive: true,
  extensions: ['.ts', '.js', '.md', '.py'],
  ignore: ['node_modules', '.git', 'dist']
});

// {
//   itemsCreated: 142,
//   filesScanned: 387,
//   duration: '4.2s'
// }
GET mimik.knowledge.get(id)

Get Knowledge Item

Retrieves a single knowledge item by its ID, including all metadata and artifacts.

Example
const item = await mimik.knowledge.get('ki_a1b2c3');
// {
//   id: 'ki_a1b2c3',
//   title: 'JWT Authentication Middleware',
//   summary: '...',
//   artifacts: ['auth_patterns.md', 'middleware_flow.md'],
//   references: ['src/middleware/auth.ts', 'src/config/jwt.ts'],
//   createdAt: '2026-02-15T09:00:00Z',
//   updatedAt: '2026-03-01T14:20:00Z'
// }
GET mimik.knowledge.export(options?)

Export Knowledge

Exports the entire knowledge base or a filtered subset for sharing or backup.

Example
const exported = await mimik.knowledge.export({
  format: 'json',          // 'json' | 'markdown'
  since: '2026-01-01',     // only items after this date
  categories: ['auth', 'database']
});

// Returns a JSON string or array of markdown files
POST mimik.sync.init(options?)

Initialize Sync

Starts the P2P sync service and generates a pairing code for connecting devices.

Example
const sync = await mimik.sync.init({
  port: 9876,               // optional, auto-assigned by default
  encryption: 'aes-256'     // default
});

// {
//   pairingCode: 'MKMK-7F3A-9B2D',
//   expiresIn: 300,           // seconds
//   port: 9876,
//   deviceId: 'dev_macbook_01'
// }
POST mimik.sync.pair(code)

Pair Device

Connects to another Mimik AI device using a pairing code.

Example
const paired = await mimik.sync.pair('MKMK-7F3A-9B2D');
// {
//   success: true,
//   connectedTo: 'dev_linux_desktop',
//   skillsSynced: 127,
//   knowledgeSynced: 3421
// }
GET mimik.sync.status()

Sync Status

Returns the current sync status including connected devices and sync health.

Example
const status = await mimik.sync.status();
// {
//   active: true,
//   devices: [
//     { id: 'dev_macbook_01', name: 'MacBook Pro', lastSeen: '2m ago' },
//     { id: 'dev_linux_desktop', name: 'Linux Desktop', lastSeen: '5m ago' }
//   ],
//   totalSkills: 127,
//   totalKnowledge: 3421,
//   lastSync: '2026-03-08T12:00:00Z'
// }
GET mimik.config.get(key?)

Get Config

Reads the current configuration or a specific key.

Example
// Get all config
const config = await mimik.config.get();

// Get specific key
const skillsDir = await mimik.config.get('skills.directory');
// '~/.mimik/skills'
PUT mimik.config.set(key, value)

Set Config

Updates a configuration value. Changes are persisted to mimik.config.yaml.

Example
await mimik.config.set('knowledge.auto_index', true);
await mimik.config.set('editor.hot_reload', true);
// { success: true }