🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@open-gitagent/gitagent

Package Overview
Dependencies
Maintainers
2
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@open-gitagent/gitagent - npm Package Compare versions

Comparing version
0.1.9
to
0.2.0
+30
dist/adapters/gitclaw.d.ts
/**
* Export a gitagent to gitclaw format.
*
* Gitclaw uses the same git-native directory structure but with differences:
* - agent.yaml model format: "provider:model-id" (colon, not slash)
* - knowledge/index.yaml uses "entries" (not "documents")
* - tools are a flat string array of built-in names in agent.yaml
* - Has plugins section
*
* Most files (SOUL.md, RULES.md, DUTIES.md, skills/, hooks/) pass through
* unchanged. The adapter transforms agent.yaml and knowledge/index.yaml.
*/
export interface GitclawExport {
agentYaml: string;
soulMd: string | null;
rulesMd: string | null;
dutiesMd: string | null;
knowledgeIndex: string | null;
skills: Array<{
name: string;
content: string;
}>;
tools: Array<{
name: string;
content: string;
}>;
hooks: string | null;
}
export declare function exportToGitclaw(dir: string): GitclawExport;
export declare function exportToGitclawString(dir: string): string;
import { existsSync, readFileSync, readdirSync } from 'node:fs';
import { join, resolve } from 'node:path';
import yaml from 'js-yaml';
import { loadAgentManifest, loadFileIfExists } from '../utils/loader.js';
export function exportToGitclaw(dir) {
const agentDir = resolve(dir);
const manifest = loadAgentManifest(agentDir);
const agentYaml = buildAgentYaml(agentDir, manifest);
const soulMd = loadFileIfExists(join(agentDir, 'SOUL.md'));
const rulesMd = loadFileIfExists(join(agentDir, 'RULES.md'));
const dutiesMd = loadFileIfExists(join(agentDir, 'DUTIES.md'));
const knowledgeIndex = buildKnowledgeIndex(agentDir);
const skills = collectSkills(agentDir);
const tools = collectTools(agentDir);
const hooks = loadFileIfExists(join(agentDir, 'hooks', 'hooks.yaml'));
return { agentYaml, soulMd, rulesMd, dutiesMd, knowledgeIndex, skills, tools, hooks };
}
export function exportToGitclawString(dir) {
const exp = exportToGitclaw(dir);
const parts = [];
parts.push('# === agent.yaml ===');
parts.push(exp.agentYaml);
if (exp.soulMd) {
parts.push('\n# === SOUL.md ===');
parts.push(exp.soulMd);
}
if (exp.rulesMd) {
parts.push('\n# === RULES.md ===');
parts.push(exp.rulesMd);
}
if (exp.dutiesMd) {
parts.push('\n# === DUTIES.md ===');
parts.push(exp.dutiesMd);
}
if (exp.knowledgeIndex) {
parts.push('\n# === knowledge/index.yaml ===');
parts.push(exp.knowledgeIndex);
}
for (const skill of exp.skills) {
parts.push(`\n# === skills/${skill.name}/SKILL.md ===`);
parts.push(skill.content);
}
for (const tool of exp.tools) {
parts.push(`\n# === tools/${tool.name} ===`);
parts.push(tool.content);
}
if (exp.hooks) {
parts.push('\n# === hooks/hooks.yaml ===');
parts.push(exp.hooks);
}
return parts.join('\n');
}
function buildAgentYaml(agentDir, manifest) {
const gc = {
spec_version: '0.1.0',
name: manifest.name,
version: manifest.version,
description: manifest.description,
};
if (manifest.author)
gc.author = manifest.author;
if (manifest.license)
gc.license = manifest.license;
// Model: convert to gitclaw "provider:model-id" format
if (manifest.model) {
const model = {};
if (manifest.model.preferred) {
model.preferred = toGitclawModel(manifest.model.preferred);
}
if (manifest.model.fallback) {
model.fallback = manifest.model.fallback.map(toGitclawModel);
}
if (manifest.model.constraints) {
model.constraints = manifest.model.constraints;
}
gc.model = model;
}
// Tools: collect tool names as flat string array
const toolNames = collectToolNames(agentDir);
if (toolNames.length > 0) {
gc.tools = toolNames;
}
// Skills: list skill names
if (manifest.skills && manifest.skills.length > 0) {
gc.skills = manifest.skills;
}
// Runtime
if (manifest.runtime) {
gc.runtime = manifest.runtime;
}
// Extends
if (manifest.extends) {
gc.extends = manifest.extends;
}
// Delegation
if (manifest.delegation) {
gc.delegation = manifest.delegation;
}
// Sub-agents
if (manifest.agents) {
gc.agents = manifest.agents;
}
return yaml.dump(gc, { lineWidth: 120 });
}
/**
* Convert gitagent model name to gitclaw "provider:model-id" format.
* gitagent: "claude-sonnet-4-5" or "anthropic/claude-sonnet-4-5"
* gitclaw: "anthropic:claude-sonnet-4-5"
*/
function toGitclawModel(model) {
// Already in provider:model format
if (model.includes(':') && !model.includes('://'))
return model;
// provider/model → provider:model
if (model.includes('/')) {
return model.replace('/', ':');
}
// Infer provider from model name
if (model.startsWith('claude') || model.includes('anthropic'))
return `anthropic:${model}`;
if (model.startsWith('gpt') || model.startsWith('o1') || model.startsWith('o3') || model.startsWith('o4'))
return `openai:${model}`;
if (model.startsWith('gemini'))
return `google:${model}`;
if (model.startsWith('deepseek'))
return `deepseek:${model}`;
if (model.startsWith('llama') || model.startsWith('mistral'))
return `ollama:${model}`;
return `openai:${model}`;
}
function collectToolNames(agentDir) {
const names = [];
const toolsDir = join(agentDir, 'tools');
if (!existsSync(toolsDir))
return names;
const files = readdirSync(toolsDir).filter(f => f.endsWith('.yaml'));
for (const file of files) {
try {
const content = readFileSync(join(toolsDir, file), 'utf-8');
const toolConfig = yaml.load(content);
if (toolConfig?.name)
names.push(toolConfig.name);
}
catch { /* skip malformed tools */ }
}
return names;
}
/**
* Convert gitagent knowledge/index.yaml (documents) to gitclaw format (entries).
*/
function buildKnowledgeIndex(agentDir) {
const indexPath = join(agentDir, 'knowledge', 'index.yaml');
if (!existsSync(indexPath))
return null;
try {
const raw = yaml.load(readFileSync(indexPath, 'utf-8'));
if (!raw?.documents || raw.documents.length === 0)
return null;
const entries = raw.documents.map(doc => ({
path: doc.path,
always_load: doc.always_load ?? false,
...(doc.tags ? { tags: doc.tags } : {}),
priority: doc.always_load ? 'high' : 'medium',
}));
return yaml.dump({ entries }, { lineWidth: 120 });
}
catch {
return null;
}
}
function collectSkills(agentDir) {
const skills = [];
const skillsDir = join(agentDir, 'skills');
if (!existsSync(skillsDir))
return skills;
const entries = readdirSync(skillsDir, { withFileTypes: true });
for (const entry of entries) {
if (!entry.isDirectory())
continue;
const skillMdPath = join(skillsDir, entry.name, 'SKILL.md');
if (!existsSync(skillMdPath))
continue;
skills.push({
name: entry.name,
content: readFileSync(skillMdPath, 'utf-8'),
});
}
return skills;
}
function collectTools(agentDir) {
const tools = [];
const toolsDir = join(agentDir, 'tools');
if (!existsSync(toolsDir))
return tools;
const files = readdirSync(toolsDir).filter(f => f.endsWith('.yaml'));
for (const file of files) {
tools.push({
name: file,
content: readFileSync(join(toolsDir, file), 'utf-8'),
});
}
return tools;
}
//# sourceMappingURL=gitclaw.js.map
{"version":3,"file":"gitclaw.js","sourceRoot":"","sources":["../../src/adapters/gitclaw.ts"],"names":[],"mappings":"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"}
/**
* Export a gitagent to AWS Kiro CLI custom agent format.
*
* Kiro CLI uses a JSON config file (`.kiro/agents/<name>.json`) with:
* - name, description, prompt (inline or file:// URI)
* - mcpServers, tools, allowedTools
* - model, hooks, resources
*
* Reference: https://kiro.dev/docs/cli/custom-agents/configuration-reference/
*/
export interface KiroExport {
config: Record<string, unknown>;
prompt: string;
}
export declare function exportToKiro(dir: string): KiroExport;
export declare function exportToKiroString(dir: string): string;
import { existsSync, readFileSync, readdirSync } from 'node:fs';
import { join, resolve } from 'node:path';
import yaml from 'js-yaml';
import { loadAgentManifest, loadFileIfExists } from '../utils/loader.js';
import { loadAllSkills, getAllowedTools } from '../utils/skill-loader.js';
import { buildComplianceSection } from './shared.js';
export function exportToKiro(dir) {
const agentDir = resolve(dir);
const manifest = loadAgentManifest(agentDir);
const prompt = buildPrompt(agentDir, manifest);
const config = buildConfig(agentDir, manifest);
return { config, prompt };
}
export function exportToKiroString(dir) {
const exp = exportToKiro(dir);
const parts = [];
parts.push('# === .kiro/agents/<name>.json ===');
parts.push(JSON.stringify(exp.config, null, 2));
parts.push('\n# === prompt.md (referenced via file://./prompt.md) ===');
parts.push(exp.prompt);
return parts.join('\n');
}
function buildPrompt(agentDir, manifest) {
const parts = [];
parts.push(`# ${manifest.name}`);
parts.push(`${manifest.description}`);
parts.push('');
const soul = loadFileIfExists(join(agentDir, 'SOUL.md'));
if (soul) {
parts.push(soul);
parts.push('');
}
const rules = loadFileIfExists(join(agentDir, 'RULES.md'));
if (rules) {
parts.push(rules);
parts.push('');
}
const duty = loadFileIfExists(join(agentDir, 'DUTIES.md'));
if (duty) {
parts.push(duty);
parts.push('');
}
const skillsDir = join(agentDir, 'skills');
const skills = loadAllSkills(skillsDir);
if (skills.length > 0) {
parts.push('## Skills');
parts.push('');
for (const skill of skills) {
const toolsList = getAllowedTools(skill.frontmatter);
const toolsNote = toolsList.length > 0 ? `\nAllowed tools: ${toolsList.join(', ')}` : '';
parts.push(`### ${skill.frontmatter.name}`);
parts.push(`${skill.frontmatter.description}${toolsNote}`);
parts.push('');
parts.push(skill.instructions);
parts.push('');
}
}
const toolsDir = join(agentDir, 'tools');
if (existsSync(toolsDir)) {
const toolFiles = readdirSync(toolsDir).filter(f => f.endsWith('.yaml'));
if (toolFiles.length > 0) {
parts.push('## Tools');
parts.push('');
for (const file of toolFiles) {
try {
const content = readFileSync(join(toolsDir, file), 'utf-8');
const toolConfig = yaml.load(content);
if (toolConfig?.name) {
parts.push(`### ${toolConfig.name}`);
if (toolConfig.description) {
parts.push(toolConfig.description);
}
if (toolConfig.input_schema) {
parts.push('');
parts.push('```yaml');
parts.push(yaml.dump(toolConfig.input_schema).trimEnd());
parts.push('```');
}
parts.push('');
}
}
catch { /* skip malformed tools */ }
}
}
}
const knowledgeDir = join(agentDir, 'knowledge');
const indexPath = join(knowledgeDir, 'index.yaml');
if (existsSync(indexPath)) {
const index = yaml.load(readFileSync(indexPath, 'utf-8'));
if (index.documents) {
const alwaysLoad = index.documents.filter(d => d.always_load);
if (alwaysLoad.length > 0) {
parts.push('## Knowledge');
parts.push('');
for (const doc of alwaysLoad) {
const content = loadFileIfExists(join(knowledgeDir, doc.path));
if (content) {
parts.push(`### ${doc.path}`);
parts.push(content);
parts.push('');
}
}
}
}
}
if (manifest.compliance) {
const constraints = buildComplianceSection(manifest.compliance);
if (constraints) {
parts.push(constraints);
parts.push('');
}
}
return parts.join('\n').trimEnd() + '\n';
}
function buildConfig(agentDir, manifest) {
const config = {};
config.name = manifest.name;
if (manifest.description) {
config.description = manifest.description;
}
// Use file:// URI for prompt so the markdown file is maintained separately
config.prompt = 'file://./prompt.md';
if (manifest.model?.preferred) {
config.model = manifest.model.preferred;
}
// Collect tools from skills and tool definitions
const tools = collectTools(agentDir);
if (tools.length > 0) {
config.tools = tools;
config.allowedTools = tools;
}
// Map MCP servers from tools/*.yaml that declare mcp_server
const mcpServers = collectMcpServers(agentDir);
if (Object.keys(mcpServers).length > 0) {
config.mcpServers = mcpServers;
}
// Hooks
const hooks = buildHooks(agentDir);
if (hooks && Object.keys(hooks).length > 0) {
config.hooks = hooks;
}
// Sub-agents as welcome message hint
if (manifest.agents && Object.keys(manifest.agents).length > 0) {
const agentNames = Object.keys(manifest.agents);
config.welcomeMessage = `This agent delegates to: ${agentNames.join(', ')}`;
}
return config;
}
function collectTools(agentDir) {
const tools = new Set();
const skillsDir = join(agentDir, 'skills');
const skills = loadAllSkills(skillsDir);
for (const skill of skills) {
for (const tool of getAllowedTools(skill.frontmatter)) {
tools.add(tool);
}
}
const toolsDir = join(agentDir, 'tools');
if (existsSync(toolsDir)) {
const files = readdirSync(toolsDir).filter(f => f.endsWith('.yaml'));
for (const file of files) {
try {
const content = readFileSync(join(toolsDir, file), 'utf-8');
const toolConfig = yaml.load(content);
if (toolConfig?.name) {
tools.add(toolConfig.name);
}
}
catch { /* skip malformed tools */ }
}
}
return Array.from(tools);
}
function collectMcpServers(agentDir) {
const servers = {};
const toolsDir = join(agentDir, 'tools');
if (!existsSync(toolsDir))
return servers;
const files = readdirSync(toolsDir).filter(f => f.endsWith('.yaml'));
for (const file of files) {
try {
const content = readFileSync(join(toolsDir, file), 'utf-8');
const toolConfig = yaml.load(content);
if (toolConfig?.mcp_server?.name) {
const mcp = toolConfig.mcp_server;
const entry = {};
if (mcp.type)
entry.type = mcp.type;
if (mcp.command)
entry.command = mcp.command;
if (mcp.args)
entry.args = mcp.args;
if (mcp.env)
entry.env = mcp.env;
if (mcp.url)
entry.url = mcp.url;
servers[mcp.name] = entry;
}
}
catch { /* skip malformed tools */ }
}
return servers;
}
function buildHooks(agentDir) {
try {
const hooksPath = join(agentDir, 'hooks', 'hooks.yaml');
if (!existsSync(hooksPath))
return null;
const hooksYaml = readFileSync(hooksPath, 'utf-8');
const hooksConfig = yaml.load(hooksYaml);
if (!hooksConfig.hooks || Object.keys(hooksConfig.hooks).length === 0)
return null;
// Kiro CLI hook events use camelCase: preToolUse, postToolUse, stop, agentSpawn, userPromptSubmit
const eventMap = {
'on_session_start': 'agentSpawn',
'pre_tool_use': 'preToolUse',
'post_tool_use': 'postToolUse',
'pre_response': 'userPromptSubmit',
'on_session_end': 'stop',
};
const kiroHooks = {};
for (const [event, hooks] of Object.entries(hooksConfig.hooks)) {
const kiroEvent = eventMap[event];
if (!kiroEvent)
continue;
const validHooks = hooks.filter(hook => existsSync(join(agentDir, 'hooks', hook.script)));
if (validHooks.length === 0)
continue;
kiroHooks[kiroEvent] = validHooks.map(hook => ({
command: `hooks/${hook.script}`,
}));
}
return Object.keys(kiroHooks).length > 0 ? kiroHooks : null;
}
catch {
return null;
}
}
//# sourceMappingURL=kiro.js.map
{"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../src/adapters/kiro.ts"],"names":[],"mappings":"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"}
import { AgentManifest } from '../utils/loader.js';
export interface GitclawRunOptions {
prompt?: string;
}
/**
* Run a gitagent agent using the gitclaw SDK.
*
* Creates a temporary workspace with the full gitclaw directory structure:
* - agent.yaml (provider:model format)
* - SOUL.md, RULES.md, DUTIES.md
* - skills/, tools/, hooks/, knowledge/
*
* Then launches `gitclaw` CLI in that workspace.
* Supports both interactive mode (no prompt) and single-shot mode (`gitclaw run -p`).
*/
export declare function runWithGitclaw(agentDir: string, manifest: AgentManifest, options?: GitclawRunOptions): void;
import { writeFileSync, mkdirSync, rmSync } from 'node:fs';
import { join } from 'node:path';
import { tmpdir } from 'node:os';
import { spawnSync } from 'node:child_process';
import { randomBytes } from 'node:crypto';
import { exportToGitclaw } from '../adapters/gitclaw.js';
import { error, info } from '../utils/format.js';
/**
* Run a gitagent agent using the gitclaw SDK.
*
* Creates a temporary workspace with the full gitclaw directory structure:
* - agent.yaml (provider:model format)
* - SOUL.md, RULES.md, DUTIES.md
* - skills/, tools/, hooks/, knowledge/
*
* Then launches `gitclaw` CLI in that workspace.
* Supports both interactive mode (no prompt) and single-shot mode (`gitclaw run -p`).
*/
export function runWithGitclaw(agentDir, manifest, options = {}) {
const exp = exportToGitclaw(agentDir);
// Create a temporary workspace
const workspaceDir = join(tmpdir(), `gitagent-gitclaw-${randomBytes(4).toString('hex')}`);
mkdirSync(workspaceDir, { recursive: true });
// Write agent.yaml
writeFileSync(join(workspaceDir, 'agent.yaml'), exp.agentYaml, 'utf-8');
// Write identity files
if (exp.soulMd)
writeFileSync(join(workspaceDir, 'SOUL.md'), exp.soulMd, 'utf-8');
if (exp.rulesMd)
writeFileSync(join(workspaceDir, 'RULES.md'), exp.rulesMd, 'utf-8');
if (exp.dutiesMd)
writeFileSync(join(workspaceDir, 'DUTIES.md'), exp.dutiesMd, 'utf-8');
// Write knowledge index
if (exp.knowledgeIndex) {
mkdirSync(join(workspaceDir, 'knowledge'), { recursive: true });
writeFileSync(join(workspaceDir, 'knowledge', 'index.yaml'), exp.knowledgeIndex, 'utf-8');
}
// Write skills
for (const skill of exp.skills) {
const skillDir = join(workspaceDir, 'skills', skill.name);
mkdirSync(skillDir, { recursive: true });
writeFileSync(join(skillDir, 'SKILL.md'), skill.content, 'utf-8');
}
// Write tools
if (exp.tools.length > 0) {
mkdirSync(join(workspaceDir, 'tools'), { recursive: true });
for (const tool of exp.tools) {
writeFileSync(join(workspaceDir, 'tools', tool.name), tool.content, 'utf-8');
}
}
// Write hooks
if (exp.hooks) {
mkdirSync(join(workspaceDir, 'hooks'), { recursive: true });
writeFileSync(join(workspaceDir, 'hooks', 'hooks.yaml'), exp.hooks, 'utf-8');
}
info(`Workspace prepared at ${workspaceDir}`);
info(` agent.yaml${exp.soulMd ? ', SOUL.md' : ''}${exp.rulesMd ? ', RULES.md' : ''}`);
if (exp.skills.length > 0) {
info(` Skills: ${exp.skills.map(s => s.name).join(', ')}`);
}
if (manifest.model?.preferred) {
info(` Model: ${manifest.model.preferred}`);
}
// Build gitclaw CLI args
const args = [];
if (options.prompt) {
args.push('run', '-p', options.prompt);
}
info(`Launching gitclaw agent "${manifest.name}"...`);
if (!options.prompt) {
info('Starting interactive mode. Type your messages to chat.');
}
const result = spawnSync('gitclaw', args, {
stdio: 'inherit',
cwd: workspaceDir,
env: { ...process.env },
});
// Cleanup temp workspace before exiting
try {
rmSync(workspaceDir, { recursive: true, force: true });
}
catch { /* ignore */ }
if (result.error) {
error(`Failed to launch gitclaw: ${result.error.message}`);
info('Make sure gitclaw is installed: npm install -g gitclaw');
process.exitCode = 1;
return;
}
process.exitCode = result.status ?? 0;
}
//# sourceMappingURL=gitclaw.js.map
{"version":3,"file":"gitclaw.js","sourceRoot":"","sources":["../../src/runners/gitclaw.ts"],"names":[],"mappings":"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"}
spec_version: "0.1.0"
name: llm-wiki
version: 1.0.0
description: "LLM-maintained personal wiki — a persistent, compounding knowledge base built from raw sources. Inspired by Karpathy's LLM Wiki pattern."
author: gitagent-examples
license: MIT
model:
preferred: claude-sonnet-4-5-20250929
fallback:
- claude-haiku-4-5-20251001
skills:
- wiki-ingest
- wiki-query
- wiki-lint
runtime:
max_turns: 50
timeout: 300
tags:
- knowledge-management
- wiki
- research
- personal-knowledge-base
documents: []
# Add your raw source documents here. Example:
# documents:
# - path: article-title.md
# tags: [topic, subtopic]
# priority: high
# always_load: false
# description: "Brief description of what this source contains"
# Wiki Memory
## Structure
- `wiki/` — LLM-generated wiki pages (the compiled knowledge base)
- `wiki/index.md` — master catalog of all wiki pages
- `log.md` — chronological record of all operations
- `daily-log/` — per-session working notes
## Stats
- Sources ingested: 0
- Wiki pages: 0
- Last operation: none
layers:
- name: index
path: MEMORY.md
max_lines: 200
format: markdown
- name: wiki
path: wiki/
format: markdown
- name: log
path: log.md
format: markdown
- name: daily-log
path: daily-log/
format: markdown
rotation: daily
update_triggers:
- on_session_end
- on_explicit_save
archive_policy:
max_entries: 5000
retention_period: 7y
# Wiki Index
No pages yet. Use `/wiki-ingest` to add your first source.
# Rules
## Must Always
- Read `memory/wiki/index.md` before any operation to understand the current wiki state
- Cite source documents when making claims in wiki pages
- Use `[[wikilinks]]` for cross-references between wiki pages
- Update `memory/wiki/index.md` after creating or significantly modifying any wiki page
- Append to `memory/log.md` after every ingest, query-filing, or lint operation
- Preserve existing wiki content — update and extend, never overwrite without reason
- Flag contradictions explicitly when new sources conflict with existing wiki pages
## Must Never
- Modify files in `knowledge/` — raw sources are immutable
- Delete wiki pages without explaining why in the log
- Make claims not grounded in source documents
- Let the wiki index drift out of sync with actual pages
- Skip cross-reference updates when adding new content
## Wiki Page Format
- Every wiki page starts with a `# Title` heading
- Include a "Sources" section at the bottom listing which raw documents contributed
- Use YAML frontmatter for metadata: `tags`, `created`, `updated`, `source_count`
- Keep pages focused — one entity, concept, or topic per page
## File Conventions
- Wiki pages live in `memory/wiki/`
- Page filenames: lowercase, hyphens, `.md` extension (e.g., `quantum-computing.md`)
- `memory/wiki/index.md` is the master catalog — every page listed with link + one-line summary
- `memory/log.md` is append-only, entries prefixed with `## [YYYY-MM-DD] operation | title`
- `knowledge/index.yaml` lists all raw sources with tags and priority
---
name: wiki-ingest
description: "Ingest a raw source document into the wiki. Reads the source, extracts key information, creates or updates wiki pages, maintains cross-references, and logs the operation. Use when the user adds a new source or says 'ingest this'."
allowed-tools: Read Write Edit Glob Grep
---
# Wiki Ingest
Process a new source document and integrate its knowledge into the wiki.
## Workflow
### Step 1: Read the source
Read the full source document from `knowledge/`. Identify:
- Key entities (people, organizations, concepts, technologies)
- Main claims and findings
- Relationships between entities
- Data points and statistics
- Contradictions with or confirmations of existing knowledge
### Step 2: Discuss with the user
Before writing, share a brief summary of key takeaways. Ask:
- What aspects to emphasize?
- Any entities or concepts to prioritize?
- Should this update existing pages or create new ones?
### Step 3: Update the wiki
For each significant entity or concept found in the source:
1. **Check if a wiki page exists** — read `memory/wiki/index.md`
2. **If page exists** — read it, integrate new information, update the "Sources" section, update frontmatter `updated` date and `source_count`
3. **If page doesn't exist** — create a new page in `memory/wiki/` with proper frontmatter, content, and source citations
4. **Update cross-references** — add `[[wikilinks]]` in both directions between related pages
### Step 4: Write a source summary page
Create `memory/wiki/sources/<source-name>.md` with:
- One-paragraph summary
- Key claims extracted
- Entities mentioned (with wikilinks to their pages)
- Date ingested
### Step 5: Update index and log
1. Update `memory/wiki/index.md` — add/update entries for all pages touched
2. Update `knowledge/index.yaml` — ensure the source is cataloged with tags and priority
3. Append to `memory/log.md`:
```
## [YYYY-MM-DD] ingest | Source Title
- Pages created: [list]
- Pages updated: [list]
- Key findings: [1-2 sentences]
```
## Example
User drops `knowledge/quantum-computing-review-2026.pdf` and says "ingest this".
1. Read the paper, identify entities: quantum computing, error correction, IBM, Google, topological qubits
2. Discuss key findings with user
3. Create/update: `quantum-computing.md`, `error-correction.md`, `ibm.md`, `google.md`
4. Create: `sources/quantum-computing-review-2026.md`
5. Update `index.md` with all new/updated pages
6. Append ingest entry to `log.md`
A single source might touch 5-15 wiki pages. This is normal and expected.
---
name: wiki-lint
description: "Health-check the wiki for contradictions, stale claims, orphan pages, missing cross-references, and knowledge gaps. Use periodically or when the user says 'lint the wiki' or 'check wiki health'."
allowed-tools: Read Glob Grep
---
# Wiki Lint
Audit the wiki for quality and consistency issues.
## Workflow
### Step 1: Read the full index
Read `memory/wiki/index.md` to get the complete page catalog.
### Step 2: Check each category
**Contradictions**
- Scan pages that reference the same entities or concepts
- Flag claims that conflict across pages
- Note which sources support each side
- Recommend resolution (usually: update the older claim with a note)
**Stale claims**
- Check page frontmatter `updated` dates
- Flag pages not updated in recent ingests that cover topics where new sources exist
- Identify claims that newer sources have superseded
**Orphan pages**
- Find pages with no inbound `[[wikilinks]]` from other pages
- These may be valid standalone pages or may indicate missing cross-references
**Missing pages**
- Scan for `[[wikilinks]]` that point to pages that don't exist yet
- Identify important concepts mentioned frequently but lacking their own page
**Missing cross-references**
- Find pages that discuss the same entities but don't link to each other
- Suggest wikilinks that should be added
**Knowledge gaps**
- Based on the topics covered, suggest:
- Questions worth investigating
- Sources worth finding
- Angles not yet explored
### Step 3: Report
Produce a structured report:
```markdown
# Wiki Health Report — [date]
## Contradictions (X found)
- [page-a] vs [page-b]: [description of conflict]
## Stale Claims (X found)
- [page]: last updated [date], but [newer-source] may supersede
## Orphan Pages (X found)
- [page]: no inbound links
## Missing Pages (X found)
- [[concept-name]]: referenced in [N] pages but has no page
## Missing Cross-References (X found)
- [page-a] and [page-b] both discuss [topic] but don't link
## Suggested Investigations
- [question or source suggestion]
```
### Step 4: Log
Append to `memory/log.md`:
```
## [YYYY-MM-DD] lint | Wiki Health Check
- Contradictions: X
- Stale claims: X
- Orphan pages: X
- Missing pages: X
- Missing cross-references: X
```
---
name: wiki-query
description: "Query the wiki to answer questions. Searches wiki pages, synthesizes answers with citations, and optionally files valuable answers back as new wiki pages. Use when the user asks a question about the knowledge base."
allowed-tools: Read Write Edit Glob Grep
---
# Wiki Query
Answer questions by searching and synthesizing from the wiki.
## Workflow
### Step 1: Search the wiki
1. Read `memory/wiki/index.md` to find relevant pages
2. Use Grep to search for specific terms across `memory/wiki/`
3. Read the most relevant pages (usually 3-10)
### Step 2: Synthesize an answer
- Combine information from multiple wiki pages
- Cite sources: reference both wiki pages and the underlying raw documents
- Note confidence level — distinguish well-sourced claims from inferences
- Flag if the wiki has gaps on this topic
### Step 3: Present the answer
Format depends on the question:
- **Factual question** — direct answer with citations
- **Comparison** — markdown table comparing entities/concepts
- **Overview** — structured summary with sections
- **Analysis** — synthesis with explicit reasoning chain
### Step 4: File back (if valuable)
If the answer represents a useful synthesis that doesn't exist as a wiki page:
1. Ask the user: "This answer synthesizes information that isn't captured in the wiki yet. Should I file it as a new page?"
2. If yes: create a new wiki page in `memory/wiki/`
3. Update `memory/wiki/index.md`
4. Append to `memory/log.md`:
```
## [YYYY-MM-DD] query-filed | Page Title
- Question: [original question]
- Pages referenced: [list]
- New page: memory/wiki/page-name.md
```
## Key Insight
Good answers should not disappear into chat history. A comparison you asked for, an analysis, a connection you discovered — these are valuable wiki content. Filing them back means your explorations compound in the knowledge base just like ingested sources do.
# Soul
## Core Identity
I am a wiki maintainer. I build and maintain a persistent, structured knowledge base from raw sources. I don't just retrieve information — I compile it, cross-reference it, and keep it current. The wiki is my primary artifact.
## Philosophy
Most knowledge systems rediscover information from scratch on every query. I work differently. When a new source arrives, I read it, extract the key information, and integrate it into the existing wiki — updating entity pages, revising topic summaries, noting contradictions, strengthening the evolving synthesis. Knowledge is compiled once and kept current, not re-derived every time.
## How I Work
- **The human** curates sources, directs analysis, asks questions, and thinks about meaning
- **I** do the summarizing, cross-referencing, filing, and bookkeeping that makes a knowledge base useful over time
- The wiki compounds with every source ingested and every question asked
## Communication Style
Structured and precise. I use markdown with clear headings, wikilinks for cross-references, and citations to source documents. When I update the wiki, I explain what changed and why.
## Values
- Accuracy over speed — verify claims against sources before writing
- Synthesis over summary — connect ideas across documents, don't just compress them
- Maintenance is continuous — cross-references, contradictions, and gaps are caught proactively
- The wiki is the artifact — good answers get filed back as wiki pages, not lost in chat history
+55
-3

@@ -1,2 +0,2 @@

import { existsSync, readFileSync } from 'node:fs';
import { existsSync, readFileSync, readdirSync, cpSync, mkdirSync } from 'node:fs';
import { join, resolve } from 'node:path';

@@ -6,5 +6,59 @@ import yaml from 'js-yaml';

import { loadAllSkillMetadata } from '../utils/skill-loader.js';
/**
* Merge parent agent content into the current agent directory.
* Resolution rules per spec Section 15:
* - SOUL.md: child replaces parent entirely
* - RULES.md: child rules append to parent rules (union)
* - skills/, tools/: union with child shadowing parent on name collision
* - memory/: isolated per agent (not inherited)
*/
function mergeParentContent(agentDir, parentDir) {
const childSoul = loadFileIfExists(join(agentDir, 'SOUL.md'));
const parentSoul = loadFileIfExists(join(parentDir, 'SOUL.md'));
const childRules = loadFileIfExists(join(agentDir, 'RULES.md'));
const parentRules = loadFileIfExists(join(parentDir, 'RULES.md'));
// SOUL.md: child replaces parent entirely; fall back to parent if child has none
const mergedSoul = childSoul ?? parentSoul;
// RULES.md: union — parent first, then child appended
let mergedRules = null;
if (parentRules && childRules) {
mergedRules = parentRules + '\n\n' + childRules;
}
else {
mergedRules = childRules ?? parentRules;
}
// skills/: copy parent skills that don't exist in child
const parentSkillsDir = join(parentDir, 'skills');
const childSkillsDir = join(agentDir, 'skills');
if (existsSync(parentSkillsDir)) {
mkdirSync(childSkillsDir, { recursive: true });
const parentSkills = readdirSync(parentSkillsDir, { withFileTypes: true });
for (const entry of parentSkills) {
if (!entry.isDirectory())
continue;
const childSkillPath = join(childSkillsDir, entry.name);
if (!existsSync(childSkillPath)) {
cpSync(join(parentSkillsDir, entry.name), childSkillPath, { recursive: true });
}
}
}
return { mergedSoul, mergedRules };
}
export function exportToClaudeCode(dir) {
const agentDir = resolve(dir);
const manifest = loadAgentManifest(agentDir);
// Check for installed parent agent (extends)
const parentDir = join(agentDir, '.gitagent', 'parent');
const hasParent = existsSync(parentDir) && existsSync(join(parentDir, 'agent.yaml'));
let soul;
let rules;
if (hasParent) {
const merged = mergeParentContent(agentDir, parentDir);
soul = merged.mergedSoul;
rules = merged.mergedRules;
}
else {
soul = loadFileIfExists(join(agentDir, 'SOUL.md'));
rules = loadFileIfExists(join(agentDir, 'RULES.md'));
}
// Build CLAUDE.md content

@@ -15,3 +69,2 @@ const parts = [];

// SOUL.md → identity section
const soul = loadFileIfExists(join(agentDir, 'SOUL.md'));
if (soul) {

@@ -21,3 +74,2 @@ parts.push(soul);

// RULES.md → constraints section
const rules = loadFileIfExists(join(agentDir, 'RULES.md'));
if (rules) {

@@ -24,0 +76,0 @@ parts.push(rules);

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/adapters/claude-code.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/adapters/claude-code.ts"],"names":[],"mappings":"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"}

@@ -12,1 +12,3 @@ export { exportToSystemPrompt } from './system-prompt.js';

export { exportToCodexString, exportToCodex } from './codex.js';
export { exportToKiroString, exportToKiro } from './kiro.js';
export { exportToGitclawString, exportToGitclaw } from './gitclaw.js';

@@ -12,2 +12,4 @@ export { exportToSystemPrompt } from './system-prompt.js';

export { exportToCodexString, exportToCodex } from './codex.js';
export { exportToKiroString, exportToKiro } from './kiro.js';
export { exportToGitclawString, exportToGitclaw } from './gitclaw.js';
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
import { Command } from 'commander';
import { resolve } from 'node:path';
import { error, heading, info, success } from '../utils/format.js';
import { exportToSystemPrompt, exportToClaudeCode, exportToOpenAI, exportToCrewAI, exportToOpenClawString, exportToNanobotString, exportToCopilotString, exportToOpenCodeString, exportToCursorString, exportToGeminiString, exportToCodexString, } from '../adapters/index.js';
import { exportToSystemPrompt, exportToClaudeCode, exportToOpenAI, exportToCrewAI, exportToOpenClawString, exportToNanobotString, exportToCopilotString, exportToOpenCodeString, exportToCursorString, exportToGeminiString, exportToCodexString, exportToKiroString, exportToGitclawString, } from '../adapters/index.js';
import { exportToLyzrString } from '../adapters/lyzr.js';

@@ -9,3 +9,3 @@ import { exportToGitHubString } from '../adapters/github.js';

.description('Export agent to other formats')
.requiredOption('-f, --format <format>', 'Export format (system-prompt, claude-code, openai, crewai, openclaw, nanobot, lyzr, github, copilot, opencode, cursor, gemini, codex)')
.requiredOption('-f, --format <format>', 'Export format (system-prompt, claude-code, openai, crewai, openclaw, nanobot, lyzr, github, copilot, opencode, cursor, gemini, codex, kiro, gitclaw)')
.option('-d, --dir <dir>', 'Agent directory', '.')

@@ -59,5 +59,11 @@ .option('-o, --output <output>', 'Output file path')

break;
case 'kiro':
result = exportToKiroString(dir);
break;
case 'gitclaw':
result = exportToGitclawString(dir);
break;
default:
error(`Unknown format: ${options.format}`);
info('Supported formats: system-prompt, claude-code, openai, crewai, openclaw, nanobot, lyzr, github, copilot, opencode, cursor, gemini, codex');
info('Supported formats: system-prompt, claude-code, openai, crewai, openclaw, nanobot, lyzr, github, copilot, opencode, cursor, gemini, codex, kiro, gitclaw');
process.exit(1);

@@ -64,0 +70,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}

@@ -310,5 +310,177 @@ import { Command } from 'commander';

}
// --- LLM Wiki template ---
const WIKI_AGENT_YAML = `spec_version: "0.1.0"
name: my-wiki
version: 0.1.0
description: "LLM-maintained personal wiki — a persistent, compounding knowledge base built from raw sources."
model:
preferred: claude-sonnet-4-5-20250929
skills:
- wiki-ingest
- wiki-query
- wiki-lint
runtime:
max_turns: 50
timeout: 300
tags:
- knowledge-management
- wiki
- research
`;
const WIKI_SOUL_MD = `# Soul
## Core Identity
I am a wiki maintainer. I build and maintain a persistent, structured knowledge base from raw sources. I don't just retrieve information — I compile it, cross-reference it, and keep it current. The wiki is my primary artifact.
## Philosophy
Most knowledge systems rediscover information from scratch on every query. I work differently. When a new source arrives, I read it, extract the key information, and integrate it into the existing wiki — updating entity pages, revising topic summaries, noting contradictions, strengthening the evolving synthesis. Knowledge is compiled once and kept current, not re-derived every time.
## How I Work
- **The human** curates sources, directs analysis, asks questions, and thinks about meaning
- **I** do the summarizing, cross-referencing, filing, and bookkeeping that makes a knowledge base useful over time
- The wiki compounds with every source ingested and every question asked
## Communication Style
Structured and precise. I use markdown with clear headings, wikilinks for cross-references, and citations to source documents.
## Values
- Accuracy over speed — verify claims against sources before writing
- Synthesis over summary — connect ideas across documents, don't just compress them
- Maintenance is continuous — cross-references, contradictions, and gaps are caught proactively
- The wiki is the artifact — good answers get filed back as wiki pages, not lost in chat history
`;
const WIKI_RULES_MD = `# Rules
## Must Always
- Read memory/wiki/index.md before any operation to understand the current wiki state
- Cite source documents when making claims in wiki pages
- Use [[wikilinks]] for cross-references between wiki pages
- Update memory/wiki/index.md after creating or modifying any wiki page
- Append to memory/log.md after every ingest, query-filing, or lint operation
- Flag contradictions when new sources conflict with existing wiki pages
## Must Never
- Modify files in knowledge/ — raw sources are immutable
- Delete wiki pages without logging the reason
- Make claims not grounded in source documents
- Let the wiki index drift out of sync with actual pages
## Wiki Page Format
- Every wiki page starts with a # Title heading
- Include a "Sources" section listing contributing raw documents
- Use YAML frontmatter: tags, created, updated, source_count
- One entity, concept, or topic per page
## File Conventions
- Wiki pages: memory/wiki/ (lowercase-hyphen.md)
- Index: memory/wiki/index.md (master catalog)
- Log: memory/log.md (append-only, prefixed with ## [YYYY-MM-DD] operation | title)
- Sources: knowledge/ with index.yaml catalog
`;
const WIKI_INGEST_SKILL = `---
name: wiki-ingest
description: "Ingest a raw source document into the wiki. Reads the source, extracts key information, creates or updates wiki pages, maintains cross-references, and logs the operation."
allowed-tools: Read Write Edit Glob Grep
---
# Wiki Ingest
## Workflow
1. **Read** the source document from knowledge/
2. **Discuss** key takeaways with the user
3. **Update wiki** — create/update entity and concept pages in memory/wiki/
4. **Write source summary** — memory/wiki/sources/<name>.md
5. **Update index** — memory/wiki/index.md
6. **Log** — append to memory/log.md
A single source typically touches 5-15 wiki pages. For each entity or concept:
- Check if a wiki page exists (read index.md)
- If yes: integrate new info, update Sources section, bump source_count
- If no: create new page with frontmatter, content, and citations
- Add [[wikilinks]] in both directions between related pages
`;
const WIKI_QUERY_SKILL = `---
name: wiki-query
description: "Query the wiki to answer questions. Searches wiki pages, synthesizes answers with citations, and optionally files valuable answers back as new wiki pages."
allowed-tools: Read Write Edit Glob Grep
---
# Wiki Query
## Workflow
1. **Search** — read memory/wiki/index.md, grep for terms across memory/wiki/
2. **Synthesize** — combine info from multiple pages, cite sources
3. **Present** — format depends on question (factual, comparison, overview, analysis)
4. **File back** (optional) — if the answer is a valuable synthesis, ask user if it should become a wiki page
Good answers should not disappear into chat history. Filing them back means explorations compound in the knowledge base.
`;
const WIKI_LINT_SKILL = `---
name: wiki-lint
description: "Health-check the wiki for contradictions, stale claims, orphan pages, missing cross-references, and knowledge gaps."
allowed-tools: Read Glob Grep
---
# Wiki Lint
## Checks
- **Contradictions** — conflicting claims across pages
- **Stale claims** — pages not updated after newer sources arrived
- **Orphan pages** — no inbound [[wikilinks]]
- **Missing pages** — [[wikilinks]] pointing to nonexistent pages
- **Missing cross-references** — pages discussing same topic without linking
- **Knowledge gaps** — suggest questions and sources to investigate
## Output
Structured health report with counts and specific findings per category. Append summary to memory/log.md.
`;
const WIKI_MEMORY_MD = `# Wiki Memory
## Structure
- wiki/ — LLM-generated wiki pages
- wiki/index.md — master catalog
- log.md — chronological operation log
- daily-log/ — per-session notes
## Stats
- Sources ingested: 0
- Wiki pages: 0
- Last operation: none
`;
const WIKI_MEMORY_YAML = `layers:
- name: index
path: MEMORY.md
max_lines: 200
format: markdown
- name: wiki
path: wiki/
format: markdown
- name: log
path: log.md
format: markdown
- name: daily-log
path: daily-log/
format: markdown
rotation: daily
update_triggers:
- on_session_end
- on_explicit_save
archive_policy:
max_entries: 5000
retention_period: 7y
`;
const WIKI_KNOWLEDGE_INDEX = `documents: []
# Add your raw source documents here. Example:
# documents:
# - path: article-title.md
# tags: [topic, subtopic]
# priority: high
# always_load: false
# description: "What this source contains"
`;
export const initCommand = new Command('init')
.description('Scaffold a new gitagent repository')
.option('-t, --template <template>', 'Template to use (minimal, standard, full)', 'standard')
.option('-t, --template <template>', 'Template to use (minimal, standard, full, llm-wiki)', 'standard')
.option('-d, --dir <dir>', 'Target directory', '.')

@@ -396,4 +568,32 @@ .action((options) => {

}
else if (template === 'llm-wiki') {
mkdirSync(dir, { recursive: true });
createFile(join(dir, 'agent.yaml'), WIKI_AGENT_YAML);
createFile(join(dir, 'SOUL.md'), WIKI_SOUL_MD);
createFile(join(dir, 'RULES.md'), WIKI_RULES_MD);
createDir(join(dir, 'skills', 'wiki-ingest'));
createFile(join(dir, 'skills', 'wiki-ingest', 'SKILL.md'), WIKI_INGEST_SKILL);
createDir(join(dir, 'skills', 'wiki-query'));
createFile(join(dir, 'skills', 'wiki-query', 'SKILL.md'), WIKI_QUERY_SKILL);
createDir(join(dir, 'skills', 'wiki-lint'));
createFile(join(dir, 'skills', 'wiki-lint', 'SKILL.md'), WIKI_LINT_SKILL);
createDir(join(dir, 'knowledge'));
createFile(join(dir, 'knowledge', 'index.yaml'), WIKI_KNOWLEDGE_INDEX);
createDir(join(dir, 'memory', 'wiki'));
createDir(join(dir, 'memory', 'daily-log'));
createFile(join(dir, 'memory', 'MEMORY.md'), WIKI_MEMORY_MD);
createFile(join(dir, 'memory', 'memory.yaml'), WIKI_MEMORY_YAML);
createFile(join(dir, 'memory', 'wiki', 'index.md'), '# Wiki Index\n\nNo pages yet. Use `/wiki-ingest` to add your first source.\n');
createFile(join(dir, 'memory', 'log.md'), '# Operation Log\n');
success('Created agent.yaml (LLM Wiki)');
success('Created SOUL.md (wiki maintainer identity)');
success('Created RULES.md (wiki maintenance rules)');
success('Created skills/wiki-ingest/SKILL.md');
success('Created skills/wiki-query/SKILL.md');
success('Created skills/wiki-lint/SKILL.md');
success('Created knowledge/index.yaml');
success('Created memory/ (MEMORY.md, wiki/, log.md)');
}
else {
error(`Unknown template: ${template}. Use minimal, standard, or full.`);
error(`Unknown template: ${template}. Use minimal, standard, full, or llm-wiki.`);
process.exit(1);

@@ -400,0 +600,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
import { Command } from 'commander';
import { existsSync, mkdirSync } from 'node:fs';
import { existsSync, mkdirSync, rmSync, cpSync } from 'node:fs';
import { join, resolve } from 'node:path';
import { execSync } from 'node:child_process';
import { execFileSync } from 'node:child_process';
import { loadAgentManifest } from '../utils/loader.js';
import { success, error, info, heading, divider, warn } from '../utils/format.js';
function cloneGitRepo(source, targetDir, version) {
const args = ['clone', '--depth', '1'];
if (version) {
args.push('--branch', version.replace('^', ''));
}
args.push(source, targetDir);
mkdirSync(join(targetDir, '..'), { recursive: true });
execFileSync('git', args, {
stdio: 'pipe',
timeout: 60000,
});
}
function isGitSource(source) {
return source.endsWith('.git') || source.includes('github.com') || source.includes('bitbucket.org') || source.includes('gitlab.com');
}
function removeIfExists(targetDir, force) {
if (existsSync(targetDir)) {
if (!force) {
warn(`${targetDir} already exists, skipping (use --force to update)`);
return false;
}
rmSync(targetDir, { recursive: true, force: true });
}
return true;
}
export const installCommand = new Command('install')
.description('Resolve and install agent dependencies')
.description('Resolve and install agent dependencies and extends')
.option('-d, --dir <dir>', 'Agent directory', '.')
.option('-f, --force', 'Force re-install (remove existing before install)', false)
.action((options) => {

@@ -21,4 +47,6 @@ const dir = resolve(options.dir);

heading('Installing dependencies');
if (!manifest.dependencies || manifest.dependencies.length === 0) {
info('No dependencies to install');
const hasExtends = !!manifest.extends;
const hasDeps = manifest.dependencies && manifest.dependencies.length > 0;
if (!hasExtends && !hasDeps) {
info('No dependencies or extends to install');
return;

@@ -28,55 +56,91 @@ }

mkdirSync(depsDir, { recursive: true });
for (const dep of manifest.dependencies) {
// Handle extends — clone parent agent
if (hasExtends) {
divider();
info(`Installing ${dep.name} from ${dep.source}`);
const targetDir = dep.mount
? join(dir, dep.mount)
: join(depsDir, dep.name);
if (existsSync(targetDir)) {
warn(`${dep.name} already exists at ${targetDir}, skipping`);
continue;
const extendsSource = manifest.extends;
info(`Installing parent agent from ${extendsSource}`);
const parentDir = join(dir, '.gitagent', 'parent');
if (!removeIfExists(parentDir, options.force)) {
// skipped
}
// Check if source is a local path
if (existsSync(resolve(dir, dep.source))) {
// Local dependency — symlink or copy
const sourcePath = resolve(dir, dep.source);
else if (existsSync(resolve(dir, extendsSource))) {
// Local extends
const sourcePath = resolve(dir, extendsSource);
try {
mkdirSync(join(targetDir, '..'), { recursive: true });
execSync(`cp -r "${sourcePath}" "${targetDir}"`, { stdio: 'pipe' });
success(`Installed ${dep.name} (local)`);
mkdirSync(join(parentDir, '..'), { recursive: true });
cpSync(sourcePath, parentDir, { recursive: true });
success('Installed parent agent (local)');
}
catch (e) {
error(`Failed to install ${dep.name}: ${e.message}`);
error(`Failed to install parent agent: ${e.message}`);
}
}
else if (dep.source.includes('github.com') || dep.source.endsWith('.git')) {
// Git dependency
else if (isGitSource(extendsSource)) {
try {
const versionFlag = dep.version ? `--branch ${dep.version.replace('^', '')}` : '';
mkdirSync(join(targetDir, '..'), { recursive: true });
execSync(`git clone --depth 1 ${versionFlag} "${dep.source}" "${targetDir}" 2>&1`, {
stdio: 'pipe',
timeout: 60000,
});
success(`Installed ${dep.name} (git)`);
cloneGitRepo(extendsSource, parentDir);
success('Installed parent agent (git)');
}
catch (e) {
error(`Failed to clone ${dep.name}: ${e.message}`);
error(`Failed to clone parent agent: ${e.message}`);
}
}
else {
warn(`Unknown source type for ${dep.name}: ${dep.source}`);
warn(`Unknown source type for extends: ${extendsSource}`);
}
// Validate installed dependency
const depAgentYaml = join(targetDir, 'agent.yaml');
if (existsSync(depAgentYaml)) {
success(`${dep.name} is a valid gitagent`);
// Validate parent
if (existsSync(join(parentDir, 'agent.yaml'))) {
success('Parent agent is a valid gitagent');
}
else {
warn(`${dep.name} does not contain agent.yaml — may not be a gitagent`);
else if (existsSync(parentDir)) {
warn('Parent agent does not contain agent.yaml');
}
}
// Handle dependencies
if (hasDeps) {
for (const dep of manifest.dependencies) {
divider();
info(`Installing ${dep.name} from ${dep.source}`);
const targetDir = dep.mount
? join(dir, dep.mount)
: join(depsDir, dep.name);
if (!removeIfExists(targetDir, options.force)) {
continue;
}
// Check if source is a local path
if (existsSync(resolve(dir, dep.source))) {
const sourcePath = resolve(dir, dep.source);
try {
mkdirSync(join(targetDir, '..'), { recursive: true });
cpSync(sourcePath, targetDir, { recursive: true });
success(`Installed ${dep.name} (local)`);
}
catch (e) {
error(`Failed to install ${dep.name}: ${e.message}`);
}
}
else if (isGitSource(dep.source)) {
try {
cloneGitRepo(dep.source, targetDir, dep.version);
success(`Installed ${dep.name} (git)`);
}
catch (e) {
error(`Failed to clone ${dep.name}: ${e.message}`);
}
}
else {
warn(`Unknown source type for ${dep.name}: ${dep.source}`);
}
// Validate installed dependency
const depAgentYaml = join(targetDir, 'agent.yaml');
if (existsSync(depAgentYaml)) {
success(`${dep.name} is a valid gitagent`);
}
else {
warn(`${dep.name} does not contain agent.yaml — may not be a gitagent`);
}
}
}
divider();
success('Dependencies installed');
success('Installation complete');
});
//# sourceMappingURL=install.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}

@@ -17,6 +17,7 @@ import { Command } from 'commander';

import { runWithGemini } from '../runners/gemini.js';
import { runWithGitclaw } from '../runners/gitclaw.js';
export const runCommand = new Command('run')
.description('Run an agent from a git repository or local directory')
.option('-r, --repo <url>', 'Git repository URL')
.option('-a, --adapter <name>', 'Adapter: claude, openai, crewai, openclaw, nanobot, lyzr, github, opencode, gemini, git, prompt', 'claude')
.option('-a, --adapter <name>', 'Adapter: claude, openai, crewai, openclaw, nanobot, lyzr, github, opencode, gemini, gitclaw, git, prompt', 'claude')
.option('-b, --branch <branch>', 'Git branch/tag to clone', 'main')

@@ -113,2 +114,5 @@ .option('--refresh', 'Force re-clone (pull latest)', false)

break;
case 'gitclaw':
runWithGitclaw(agentDir, manifest, { prompt: options.prompt });
break;
case 'git':

@@ -132,3 +136,3 @@ if (!options.repo) {

error(`Unknown adapter: ${options.adapter}`);
info('Supported adapters: claude, openai, crewai, openclaw, nanobot, lyzr, github, opencode, gemini, git, prompt');
info('Supported adapters: claude, openai, crewai, openclaw, nanobot, lyzr, github, opencode, gemini, gitclaw, git, prompt');
process.exit(1);

@@ -135,0 +139,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
{
"name": "@open-gitagent/gitagent",
"version": "0.1.9",
"version": "0.2.0",
"description": "A framework-agnostic, git-native standard for defining AI agents",

@@ -5,0 +5,0 @@ "type": "module",