@open-gitagent/gitagent
Advanced tools
| /** | ||
| * 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" |
| # Operation Log |
| # 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 |
@@ -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 +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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"} |
+202
-2
@@ -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":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC7F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAOnE,MAAM,kBAAkB,GAAG;;;;CAI1B,CAAC;AAEF,MAAM,eAAe,GAAG;;;CAGvB,CAAC;AAEF,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;CAiB3B,CAAC;AAEF,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;CAkBxB,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;CAmBzB,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwEvB,CAAC;AAEF,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCrB,CAAC;AAEF,MAAM,SAAS,GAAG;;;;;;;;;CASjB,CAAC;AAEF,MAAM,UAAU,GAAG;;;;;;;;;;;;;CAalB,CAAC;AAEF,MAAM,WAAW,GAAG;;;;CAInB,CAAC;AAEF,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;CAenB,CAAC;AAEF,MAAM,SAAS,GAAG;;;CAGjB,CAAC;AAEF,MAAM,eAAe,GAAG;CACvB,CAAC;AAEF,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;CAehB,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BtB,CAAC;AAEF,MAAM,cAAc,GAAG;CACtB,CAAC;AAEF,MAAM,mBAAmB,GAAG;CAC3B,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBvB,CAAC;AAEF,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,OAAe;IAC/C,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAC3C,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,2BAA2B,EAAE,2CAA2C,EAAE,UAAU,CAAC;KAC5F,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,GAAG,CAAC;KAClD,MAAM,CAAC,CAAC,OAAoB,EAAE,EAAE;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAElC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,eAAe,QAAQ,WAAW,CAAC,CAAC;IAE5C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,kBAAkB,CAAC,CAAC;QACxD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC;QAClD,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC9B,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC7B,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACzD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACnD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACrD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;QAE9C,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;QAChD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9B,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,eAAe,CAAC,CAAC;QAElE,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC9B,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC5B,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC7B,OAAO,CAAC,uCAAuC,CAAC,CAAC;QACjD,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC1C,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC/B,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,eAAe,CAAC,CAAC;QACrD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACnD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC;QACjD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;QAC9C,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,cAAc,CAAC,CAAC;QAEnD,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;QAChD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;QAEvE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9B,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,eAAe,CAAC,CAAC;QAElE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;QAC1C,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;QACxD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC;QAE5D,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;QAElC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACzC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,UAAU,CAAC,CAAC;QACzD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC;QACtE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC;QAEtE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;QAE9C,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE/B,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,qBAAqB,CAAC,EAAE,cAAc,CAAC,CAAC;QAC3E,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,0BAA0B,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACrF,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAAE,eAAe,CAAC,CAAC;QAE3E,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/B,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,0CAA0C,CAAC,CAAC;QAE5F,8BAA8B;QAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC9C,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrC,cAAc,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,CAAC,6CAA6C,CAAC,CAAC;QACvD,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC5B,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC7B,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC7B,OAAO,CAAC,uCAAuC,CAAC,CAAC;QACjD,OAAO,CAAC,8BAA8B,CAAC,CAAC;QACxC,OAAO,CAAC,wCAAwC,CAAC,CAAC;QAClD,OAAO,CAAC,oCAAoC,CAAC,CAAC;QAC9C,OAAO,CAAC,4EAA4E,CAAC,CAAC;QACtF,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,qBAAqB,QAAQ,mCAAmC,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpB,IAAI,CAAC,8CAA8C,CAAC,CAAC;IACrD,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,0DAA0D,CAAC,CAAC;IACnE,CAAC;AACH,CAAC,CAAC,CAAC"} | ||
| {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"} |
+103
-39
| 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":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAOlF,SAAS,YAAY,CAAC,MAAc,EAAE,SAAiB,EAAE,OAAgB;IACvE,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7B,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;QACxB,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACvI,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB,EAAE,KAAc;IACvD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,SAAS,mDAAmD,CAAC,CAAC;YACtE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,GAAG,CAAC;KACjD,MAAM,CAAC,aAAa,EAAE,mDAAmD,EAAE,KAAK,CAAC;KACjF,MAAM,CAAC,CAAC,OAAuB,EAAE,EAAE;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEjC,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAEnC,MAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;IACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAE1E,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC/C,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExC,sCAAsC;IACtC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;QACV,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAQ,CAAC;QACxC,IAAI,CAAC,gCAAgC,aAAa,EAAE,CAAC,CAAC;QAEtD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEnD,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,UAAU;QACZ,CAAC;aAAM,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;YACnD,gBAAgB;YAChB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YAC/C,IAAI,CAAC;gBACH,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtD,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnD,OAAO,CAAC,gCAAgC,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,KAAK,CAAC,mCAAoC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBACvC,OAAO,CAAC,8BAA8B,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,KAAK,CAAC,iCAAkC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,oCAAoC,aAAa,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,kBAAkB;QAClB,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,kCAAkC,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,YAAa,EAAE,CAAC;YACzC,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAElD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK;gBACzB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC;gBACtB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAE5B,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,SAAS;YACX,CAAC;YAED,kCAAkC;YAClC,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBACzC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,CAAC;oBACH,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACtD,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnD,OAAO,CAAC,aAAa,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC;gBAC3C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,KAAK,CAAC,qBAAqB,GAAG,CAAC,IAAI,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;iBAAM,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACH,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;oBACjD,OAAO,CAAC,aAAa,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC;gBACzC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,KAAK,CAAC,mBAAmB,GAAG,CAAC,IAAI,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,2BAA2B,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7D,CAAC;YAED,gCAAgC;YAChC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACnD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,sBAAsB,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,sDAAsD,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;IACV,OAAO,CAAC,uBAAuB,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC"} |
@@ -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":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAYrD,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;KACzC,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;KAChD,MAAM,CAAC,sBAAsB,EAAE,iGAAiG,EAAE,QAAQ,CAAC;KAC3I,MAAM,CAAC,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,CAAC;KAClE,MAAM,CAAC,WAAW,EAAE,8BAA8B,EAAE,KAAK,CAAC;KAC1D,MAAM,CAAC,YAAY,EAAE,mCAAmC,CAAC;KACzD,MAAM,CAAC,sBAAsB,EAAE,qCAAqC,CAAC;KACrE,MAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;KACnE,MAAM,CAAC,KAAK,EAAE,OAAmB,EAAE,EAAE;IACpC,IAAI,QAAgB,CAAC;IACrB,IAAI,OAAiC,CAAC;IAEtC,0BAA0B;IAC1B,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAElC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE;gBACvC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK;aACxB,CAAC,CAAC;YACH,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;YACtB,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC3B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,KAAK,CAAC,+BAAgC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,2BAA2B;IAC3B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;QAC5C,IAAI,OAAO;YAAE,OAAO,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gBAAgB;IAChB,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,yBAA0B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,IAAI,OAAO;YAAE,OAAO,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,mBAAmB;IACnB,OAAO,CAAC,kBAAkB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IACD,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,EAAE,CAAC;IAEV,4BAA4B;IAC5B,IAAI,CAAC;QACH,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,QAAQ;gBACX,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC9D,MAAM;YACR,KAAK,QAAQ;gBACX,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,QAAQ;gBACX,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,UAAU;gBACb,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChE,MAAM;YACR,KAAK,SAAS;gBACZ,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC/D,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAClE,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACpE,MAAM;YACR,KAAK,UAAU;gBACb,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChE,MAAM;YACR,KAAK,QAAQ;gBACX,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC9D,MAAM;YACR,KAAK,KAAK;gBACR,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBAClB,KAAK,CAAC,sCAAsC,CAAC,CAAC;oBAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE;oBAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK;oBACvB,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5C,MAAM;YACR;gBACE,KAAK,CAAC,oBAAoB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC7C,IAAI,CAAC,4GAA4G,CAAC,CAAC;gBACnH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,eAAgB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;YAAS,CAAC;QACT,IAAI,OAAO;YAAE,OAAO,EAAE,CAAC;IACzB,CAAC;AACH,CAAC,CAAC,CAAC"} | ||
| {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"} |
+1
-1
| { | ||
| "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", |
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
873243
9.19%271
7.97%9978
9.94%59
11.32%29
3.57%