commit 3720b9e325d65fe1039c0e7abff03057a9d5a9e7 Author: Kimi Claw Date: Thu Feb 19 04:11:57 2026 +0800 Initial commit: Multi-repository role-based knowledge graphs diff --git a/KG_ROLES.md b/KG_ROLES.md new file mode 100644 index 0000000..73c5248 --- /dev/null +++ b/KG_ROLES.md @@ -0,0 +1,136 @@ +# Multi-Repository Role-Based Knowledge Graphs + +## Overview + +Terraphim supports **role-specific knowledge graphs** for different repositories/projects. + +## Role Configuration + +Each role can have: +- **Unique thesaurus** - Domain-specific synonyms +- **Custom haystacks** - Repository-specific search paths +- **Different embeddings** - Controlled embedding strategies +- **Access control** - Public/private settings + +## Example Roles + +### 1. Terraphim AI Developer +```json +{ + "name": "Terraphim AI Developer", + "kg": { + "knowledge_graph_local": { + "path": "terraphim-ai/kg" + } + }, + "haystacks": [ + { "location": "terraphim-ai/crates", "service": "Ripgrep" }, + { "location": "terraphim-ai/docs", "service": "Ripgrep" } + ], + "extra": { + "embeddings_model": "local", + "synonym_depth": "deep" + } +} +``` + +**Thesaurus Concepts:** +- Rust (rust, cargo, tokio, async) +- Knowledge Graph (kg, thesaurus, ontology) +- Agent (ai, assistant, claude, llm) +- Search (retrieval, query, find) +- Role (persona, expert, engineer) + +### 2. OpenClaw Developer +```json +{ + "name": "OpenClaw Developer", + "kg": { + "knowledge_graph_local": { + "path": "openclaw/kg" + } + }, + "haystacks": [ + { "location": "openclaw/src", "service": "Ripgrep" }, + { "location": "openclaw/docs", "service": "Ripgrep" } + ], + "extra": { + "embeddings_model": "local", + "synonym_depth": "standard" + } +} +``` + +**Thesaurus Concepts:** +- TypeScript (ts, js, node, npm) +- Gateway (server, api, websocket) +- Channel (telegram, discord, slack) +- Skill (tool, capability, extension) +- Config (configuration, settings, json) + +### 3. Learning Capture +```json +{ + "name": "Learning Capture System", + "kg": { + "knowledge_graph_local": { + "path": "~/.config/terraphim/docs/src/kg" + } + }, + "haystacks": [ + { "location": "~/.local/share/terraphim/learnings", "service": "Ripgrep" }, + { "location": "~/.openclaw/workspace/memory", "service": "Ripgrep" } + ], + "extra": { + "embeddings_model": "local", + "synonym_depth": "deep", + "synonym_expansion": true + } +} +``` + +**Thesaurus Concepts:** (20 groups) +- Knowledge, Configuration, Git, AI Assistant +- Tool, Storage, Context Management, Retrieval +- Failure, Documentation, Programming Languages +- Testing, Security, Performance, Build +- Execution, Debugging, Repair + +## Embeddings Control + +| Role | Model | Depth | Use Case | +|------|-------|-------|----------| +| Terraphim AI | local | deep | Complex reasoning | +| OpenClaw | local | standard | Balanced | +| Last30Days | none | basic | Simple lookup | +| System Operator | none | minimal | Log analysis | +| Learning Capture | local | deep | Semantic memory | + +## Switching Roles + +```bash +# List available roles +terraphim-agent roles list + +# Switch to specific role +terraphim-agent roles select "LearningCapture" + +# Search within current role +terraphim-agent learn query "setup" +``` + +## Benefits + +1. **Isolation** - Each repo has its own KG +2. **Specialization** - Domain-specific synonyms +3. **Performance** - Controlled embedding scope +4. **Privacy** - Public/private KG settings +5. **Flexibility** - Different search strategies per role + +## Files Created + +- `~/.config/terraphim/multi_repo_roles.json` - Role definitions +- `~/.config/terraphim/kg/terraphim-ai/` - Terraphim AI KG +- `~/.config/terraphim/kg/openclaw/` - OpenClaw KG +- `~/.config/terraphim/kg/last30days/` - Last30Days KG +- `~/.config/terraphim/kg/system/` - System Operator KG diff --git a/README.md b/README.md new file mode 100644 index 0000000..c6bcfdb --- /dev/null +++ b/README.md @@ -0,0 +1,179 @@ +# Terraphim Knowledge Graph Configuration + +Multi-repository role-based knowledge graphs with controlled embeddings. + +## Overview + +This repository contains knowledge graph configurations for different projects/roles, enabling: +- Repository-specific semantic search +- Domain-specific synonym expansion +- Controlled embedding strategies +- Isolated knowledge domains + +## Structure + +``` +. +├── multi_repo_roles.json # Role definitions +├── KG_ROLES.md # Documentation +└── kg/ # Knowledge graphs per role + ├── terraphim-ai/ # Terraphim AI (Rust) + ├── openclaw/ # OpenClaw (TypeScript) + ├── last30days/ # Last30Days skill + ├── system/ # System Operator + └── terraphim-engineer/ # Default engineer role +``` + +## Roles + +### 1. Terraphim AI Developer +- **Focus**: Rust-based AI assistant development +- **Thesaurus**: Rust, Knowledge Graph, Agent, Search, Role +- **Embeddings**: local (deep) + +### 2. OpenClaw Developer +- **Focus**: TypeScript gateway and agent platform +- **Thesaurus**: TypeScript, Gateway, Channel, Skill, Config +- **Embeddings**: local (standard) + +### 3. Last30Days Skill Developer +- **Focus**: Claude Code skill for web research +- **Thesaurus**: Research, Reddit, Twitter/X, Web, Claude +- **Embeddings**: none (basic) + +### 4. System Operator +- **Focus**: System administration and operations +- **Thesaurus**: Logs, Config, Service, Network, Security +- **Embeddings**: none (minimal) + +### 5. Learning Capture +- **Focus**: Personal knowledge and learning capture +- **Thesaurus**: 20 concept groups (knowledge, config, git, etc.) +- **Embeddings**: local (deep) + +### 6. Terraphim Engineer (Default) +- **Focus**: General engineering tasks +- **Thesaurus**: Comprehensive 20-group thesaurus +- **Embeddings**: local (deep) + +## Usage + +### Installation + +```bash +# Clone to Terraphim config directory +git clone https://git.terraphim.cloud/kimie05c34be198a20b9/terraphim-kg-config.git ~/.config/terraphim/kg-config + +# Or copy files manually +cp -r kg/* ~/.config/terraphim/kg/ +cp multi_repo_roles.json ~/.config/terraphim/ +``` + +### Configuration + +Update `~/.config/terraphim/settings.toml`: + +```toml +role_config = "~/.config/terraphim/multi_repo_roles.json" +default_role = "LearningCapture" +``` + +### Switching Roles + +```bash +# List roles +terraphim-agent roles list + +# Select role +terraphim-agent roles select "Terraphim AI Developer" + +# Query with synonym expansion +terraphim-agent learn query "rust" +``` + +## Thesaurus Format + +Each thesaurus is a JSON file mapping terms to canonical concepts: + +```json +{ + "name": "Role Name", + "data": { + "term1": { "id": 1, "nterm": "concept" }, + "term2": { "id": 1, "nterm": "concept" }, + "term3": { "id": 2, "nterm": "concept2" } + } +} +``` + +## Embeddings Control + +| Role | Model | Depth | Use Case | +|------|-------|-------|----------| +| Terraphim AI | local | deep | Complex reasoning | +| OpenClaw | local | standard | Balanced | +| Last30Days | none | basic | Simple lookup | +| System Operator | none | minimal | Log analysis | +| Learning Capture | local | deep | Semantic memory | + +## Synonym Groups + +### Knowledge (ID: 1) +learning, knowledge, lesson, insight, discovery + +### Configuration (ID: 2) +setup, configuration, install, deployment, initialize + +### Git (ID: 3) +gitea, git, github, repository, version control + +### AI Assistant (ID: 4) +terraphim, ai assistant, agent, claude, kimi + +### Tool (ID: 5) +skill, tool, capability, function, feature + +### Storage (ID: 6) +memory, storage, persistence, database + +### Context Management (ID: 7) +arscontexta, onecontext, context, progress + +### Retrieval (ID: 8) +search, retrieval, query, find, lookup + +### Failure (ID: 9) +error, failure, mistake, bug, issue, problem + +### Documentation (ID: 10) +documentation, docs, guide, manual, readme + +### Programming Languages (IDs: 11-13) +- Rust: rust, cargo +- JavaScript: javascript, js, node, npm +- Python: python, py, pip + +### Testing (ID: 14) +test, testing, spec, verify, validation + +### Security (ID: 15) +security, secure, safety, protect, guard, audit + +### Performance (ID: 16) +performance, speed, fast, optimize, efficiency + +### Build (ID: 17) +build, compile, make, package + +### Execution (ID: 18) +run, execute, start, launch + +### Debugging (ID: 19) +debug, debugging, troubleshoot, diagnose + +### Repair (ID: 20) +fix, repair, correct, resolve, solve + +## License + +Apache-2.0 diff --git a/kg/Terraphim_Engineer.md b/kg/Terraphim_Engineer.md new file mode 100644 index 0000000..8cf7433 --- /dev/null +++ b/kg/Terraphim_Engineer.md @@ -0,0 +1,81 @@ +# Terraphim Engineer Knowledge Graph + +## Role: Terraphim Engineer + +This knowledge graph provides semantic search capabilities for the Terraphim Engineer role. + +## Thesaurus + +- **Source**: `Terraphim_Engineer_thesaurus.json` +- **Purpose**: Map synonyms for enhanced search +- **Coverage**: 20 concept groups with 100+ synonyms + +## Key Concepts + +### Knowledge (ID: 1) +learning, knowledge, lesson, insight, discovery + +### Configuration (ID: 2) +setup, configuration, install, deployment, initialize + +### Git (ID: 3) +gitea, git, github, repository, version control + +### AI Assistant (ID: 4) +terraphim, ai assistant, agent, claude, kimi + +### Tool (ID: 5) +skill, tool, capability, function, feature + +### Storage (ID: 6) +memory, storage, persistence, database + +### Context Management (ID: 7) +arscontexta, onecontext, context, progress + +### Retrieval (ID: 8) +search, retrieval, query, find, lookup + +### Failure (ID: 9) +error, failure, mistake, bug, issue, problem + +### Documentation (ID: 10) +documentation, docs, guide, manual, readme + +### Programming Languages (IDs: 11-13) +- Rust: rust, cargo +- JavaScript: javascript, js, node, npm +- Python: python, py, pip + +### Testing (ID: 14) +test, testing, spec, verify, validation + +### Security (ID: 15) +security, secure, safety, protect, guard, audit + +### Performance (ID: 16) +performance, speed, fast, optimize, efficiency + +### Build (ID: 17) +build, compile, make, package + +### Execution (ID: 18) +run, execute, start, launch + +### Debugging (ID: 19) +debug, debugging, troubleshoot, diagnose + +### Repair (ID: 20) +fix, repair, correct, resolve, solve + +## Usage + +When querying learnings, the system will: +1. Normalize search terms using the thesaurus +2. Expand queries to include synonyms +3. Match against learning titles and content + +## Sources + +- Learnings: `~/.local/share/terraphim/learnings/` +- Memory: `~/.openclaw/workspace/memory/` diff --git a/kg/Terraphim_Engineer_thesaurus.json b/kg/Terraphim_Engineer_thesaurus.json new file mode 100644 index 0000000..b425cda --- /dev/null +++ b/kg/Terraphim_Engineer_thesaurus.json @@ -0,0 +1,113 @@ +{ + "name": "Terraphim Engineer", + "data": { + "learning": { "id": 1, "nterm": "knowledge" }, + "knowledge": { "id": 1, "nterm": "knowledge" }, + "lesson": { "id": 1, "nterm": "knowledge" }, + "insight": { "id": 1, "nterm": "knowledge" }, + "discovery": { "id": 1, "nterm": "knowledge" }, + + "setup": { "id": 2, "nterm": "configuration" }, + "configuration": { "id": 2, "nterm": "configuration" }, + "install": { "id": 2, "nterm": "configuration" }, + "deployment": { "id": 2, "nterm": "configuration" }, + "initialize": { "id": 2, "nterm": "configuration" }, + + "gitea": { "id": 3, "nterm": "git" }, + "git": { "id": 3, "nterm": "git" }, + "github": { "id": 3, "nterm": "git" }, + "repository": { "id": 3, "nterm": "git" }, + "version control": { "id": 3, "nterm": "git" }, + + "terraphim": { "id": 4, "nterm": "ai_assistant" }, + "ai assistant": { "id": 4, "nterm": "ai_assistant" }, + "agent": { "id": 4, "nterm": "ai_assistant" }, + "claude": { "id": 4, "nterm": "ai_assistant" }, + "kimi": { "id": 4, "nterm": "ai_assistant" }, + + "skill": { "id": 5, "nterm": "tool" }, + "tool": { "id": 5, "nterm": "tool" }, + "capability": { "id": 5, "nterm": "tool" }, + "function": { "id": 5, "nterm": "tool" }, + "feature": { "id": 5, "nterm": "tool" }, + + "memory": { "id": 6, "nterm": "storage" }, + "storage": { "id": 6, "nterm": "storage" }, + "persistence": { "id": 6, "nterm": "storage" }, + "database": { "id": 6, "nterm": "storage" }, + + "arscontexta": { "id": 7, "nterm": "context_management" }, + "onecontext": { "id": 7, "nterm": "context_management" }, + "context": { "id": 7, "nterm": "context_management" }, + "progress": { "id": 7, "nterm": "context_management" }, + + "search": { "id": 8, "nterm": "retrieval" }, + "retrieval": { "id": 8, "nterm": "retrieval" }, + "query": { "id": 8, "nterm": "retrieval" }, + "find": { "id": 8, "nterm": "retrieval" }, + "lookup": { "id": 8, "nterm": "retrieval" }, + + "error": { "id": 9, "nterm": "failure" }, + "failure": { "id": 9, "nterm": "failure" }, + "mistake": { "id": 9, "nterm": "failure" }, + "bug": { "id": 9, "nterm": "failure" }, + "issue": { "id": 9, "nterm": "failure" }, + "problem": { "id": 9, "nterm": "failure" }, + + "documentation": { "id": 10, "nterm": "docs" }, + "docs": { "id": 10, "nterm": "docs" }, + "guide": { "id": 10, "nterm": "docs" }, + "manual": { "id": 10, "nterm": "docs" }, + "readme": { "id": 10, "nterm": "docs" }, + + "rust": { "id": 11, "nterm": "programming_language" }, + "cargo": { "id": 11, "nterm": "programming_language" }, + "javascript": { "id": 12, "nterm": "programming_language" }, + "js": { "id": 12, "nterm": "programming_language" }, + "node": { "id": 12, "nterm": "programming_language" }, + "npm": { "id": 12, "nterm": "programming_language" }, + "python": { "id": 13, "nterm": "programming_language" }, + "py": { "id": 13, "nterm": "programming_language" }, + "pip": { "id": 13, "nterm": "programming_language" }, + + "test": { "id": 14, "nterm": "testing" }, + "testing": { "id": 14, "nterm": "testing" }, + "spec": { "id": 14, "nterm": "testing" }, + "verify": { "id": 14, "nterm": "testing" }, + "validation": { "id": 14, "nterm": "testing" }, + + "security": { "id": 15, "nterm": "security" }, + "secure": { "id": 15, "nterm": "security" }, + "safety": { "id": 15, "nterm": "security" }, + "protect": { "id": 15, "nterm": "security" }, + "guard": { "id": 15, "nterm": "security" }, + "audit": { "id": 15, "nterm": "security" }, + + "performance": { "id": 16, "nterm": "performance" }, + "speed": { "id": 16, "nterm": "performance" }, + "fast": { "id": 16, "nterm": "performance" }, + "optimize": { "id": 16, "nterm": "performance" }, + "efficiency": { "id": 16, "nterm": "performance" }, + + "build": { "id": 17, "nterm": "build" }, + "compile": { "id": 17, "nterm": "build" }, + "make": { "id": 17, "nterm": "build" }, + "package": { "id": 17, "nterm": "build" }, + + "run": { "id": 18, "nterm": "execution" }, + "execute": { "id": 18, "nterm": "execution" }, + "start": { "id": 18, "nterm": "execution" }, + "launch": { "id": 18, "nterm": "execution" }, + + "debug": { "id": 19, "nterm": "debugging" }, + "debugging": { "id": 19, "nterm": "debugging" }, + "troubleshoot": { "id": 19, "nterm": "debugging" }, + "diagnose": { "id": 19, "nterm": "debugging" }, + + "fix": { "id": 20, "nterm": "repair" }, + "repair": { "id": 20, "nterm": "repair" }, + "correct": { "id": 20, "nterm": "repair" }, + "resolve": { "id": 20, "nterm": "repair" }, + "solve": { "id": 20, "nterm": "repair" } + } +} diff --git a/kg/bun_install.md b/kg/bun_install.md new file mode 100644 index 0000000..1514c0b --- /dev/null +++ b/kg/bun_install.md @@ -0,0 +1,5 @@ +# bun install + +Install dependencies using Bun package manager. + +synonyms:: npm install, yarn install, pnpm install, npm i diff --git a/kg/bun_run.md b/kg/bun_run.md new file mode 100644 index 0000000..7e708ff --- /dev/null +++ b/kg/bun_run.md @@ -0,0 +1,5 @@ +# bun run + +Run scripts using Bun. + +synonyms:: npm run, yarn run, pnpm run diff --git a/kg/bunx.md b/kg/bunx.md new file mode 100644 index 0000000..329402a --- /dev/null +++ b/kg/bunx.md @@ -0,0 +1,5 @@ +# bunx + +Execute packages using Bun. + +synonyms:: npx, pnpx, yarn dlx diff --git a/kg/last30days/kg.md b/kg/last30days/kg.md new file mode 100644 index 0000000..4cce9cd --- /dev/null +++ b/kg/last30days/kg.md @@ -0,0 +1,31 @@ +# Last30Days Knowledge Graph + +## Role: Last30Days Skill Developer + +Specialized knowledge for the Last30Days Claude Code skill. + +## Thesaurus + +- **Source**: `thesaurus.json` +- **Concepts**: Research, Reddit, Twitter/X, Web, Claude + +## Key Functionality + +### Research +- Multi-source information gathering +- Trend analysis +- Pattern recognition + +### Sources +- Reddit discussions +- Twitter/X trends +- Web search results + +### Claude Code Integration +- Skill definition +- Prompt engineering +- Tool usage + +## Sources + +- Skill files: `last30days/` diff --git a/kg/last30days/thesaurus.json b/kg/last30days/thesaurus.json new file mode 100644 index 0000000..12691e2 --- /dev/null +++ b/kg/last30days/thesaurus.json @@ -0,0 +1,30 @@ +{ + "name": "Last30Days", + "data": { + "research": { "id": 1, "nterm": "research" }, + "search": { "id": 1, "nterm": "research" }, + "investigate": { "id": 1, "nterm": "research" }, + "explore": { "id": 1, "nterm": "research" }, + "discover": { "id": 1, "nterm": "research" }, + + "reddit": { "id": 2, "nterm": "reddit" }, + "subreddit": { "id": 2, "nterm": "reddit" }, + "post": { "id": 2, "nterm": "reddit" }, + "thread": { "id": 2, "nterm": "reddit" }, + + "twitter": { "id": 3, "nterm": "twitter" }, + "x": { "id": 3, "nterm": "twitter" }, + "tweet": { "id": 3, "nterm": "twitter" }, + "trend": { "id": 3, "nterm": "twitter" }, + + "web": { "id": 4, "nterm": "web" }, + "internet": { "id": 4, "nterm": "web" }, + "online": { "id": 4, "nterm": "web" }, + "site": { "id": 4, "nterm": "web" }, + + "claude": { "id": 5, "nterm": "claude" }, + "code": { "id": 5, "nterm": "claude" }, + "skill": { "id": 5, "nterm": "claude" }, + "prompt": { "id": 5, "nterm": "claude" } + } +} diff --git a/kg/learning_capture.md b/kg/learning_capture.md new file mode 100644 index 0000000..568e6d8 --- /dev/null +++ b/kg/learning_capture.md @@ -0,0 +1,54 @@ +# Learning Capture Knowledge Graph + +## Role: Learning Capture System + +This knowledge graph provides semantic search capabilities for the learning capture system. + +## Thesaurus + +- **Source**: `learning_thesaurus.json` +- **Purpose**: Map synonyms for enhanced search +- **Coverage**: Learning, configuration, git, AI assistant, tools, storage, context, retrieval, failure, documentation + +## Key Concepts + +### Knowledge (ID: 1) +- learning, knowledge, lesson, insight, discovery + +### Configuration (ID: 2) +- setup, configuration, install, deployment, initialize + +### Git (ID: 3) +- gitea, git, github, repository, version control + +### AI Assistant (ID: 4) +- terraphim, ai assistant, agent, claude, kimi + +### Tool (ID: 5) +- skill, tool, capability, function, feature + +### Storage (ID: 6) +- memory, storage, persistence, database + +### Context Management (ID: 7) +- arscontexta, onecontext, context, progress + +### Retrieval (ID: 8) +- search, retrieval, query, find, lookup + +### Failure (ID: 9) +- error, failure, mistake, bug, issue, problem + +### Documentation (ID: 10) +- documentation, docs, guide, manual, readme + +## Usage + +When querying learnings, the system will: +1. Normalize search terms using the thesaurus +2. Expand queries to include synonyms +3. Match against learning titles and content + +Example: +- Query "setup" → Matches: setup, configuration, install, deployment +- Query "error" → Matches: error, failure, mistake, bug, issue, problem diff --git a/kg/learning_thesaurus.json b/kg/learning_thesaurus.json new file mode 100644 index 0000000..4d5042a --- /dev/null +++ b/kg/learning_thesaurus.json @@ -0,0 +1,164 @@ +{ + "name": "Learning Capture", + "data": { + "learning": { "id": 1, "nterm": "knowledge" }, + "knowledge": { "id": 1, "nterm": "knowledge" }, + "lesson": { "id": 1, "nterm": "knowledge" }, + "insight": { "id": 1, "nterm": "knowledge" }, + "discovery": { "id": 1, "nterm": "knowledge" }, + "understanding": { "id": 1, "nterm": "knowledge" }, + "wisdom": { "id": 1, "nterm": "knowledge" }, + + "setup": { "id": 2, "nterm": "configuration" }, + "configuration": { "id": 2, "nterm": "configuration" }, + "install": { "id": 2, "nterm": "configuration" }, + "installation": { "id": 2, "nterm": "configuration" }, + "deployment": { "id": 2, "nterm": "configuration" }, + "deploy": { "id": 2, "nterm": "configuration" }, + "initialize": { "id": 2, "nterm": "configuration" }, + "init": { "id": 2, "nterm": "configuration" }, + "bootstrap": { "id": 2, "nterm": "configuration" }, + "provision": { "id": 2, "nterm": "configuration" }, + + "gitea": { "id": 3, "nterm": "git" }, + "git": { "id": 3, "nterm": "git" }, + "github": { "id": 3, "nterm": "git" }, + "gitlab": { "id": 3, "nterm": "git" }, + "repository": { "id": 3, "nterm": "git" }, + "repo": { "id": 3, "nterm": "git" }, + "version control": { "id": 3, "nterm": "git" }, + "vcs": { "id": 3, "nterm": "git" }, + "commit": { "id": 3, "nterm": "git" }, + "branch": { "id": 3, "nterm": "git" }, + "merge": { "id": 3, "nterm": "git" }, + + "terraphim": { "id": 4, "nterm": "ai_assistant" }, + "ai assistant": { "id": 4, "nterm": "ai_assistant" }, + "agent": { "id": 4, "nterm": "ai_assistant" }, + "claude": { "id": 4, "nterm": "ai_assistant" }, + "kimi": { "id": 4, "nterm": "ai_assistant" }, + "openclaw": { "id": 4, "nterm": "ai_assistant" }, + "assistant": { "id": 4, "nterm": "ai_assistant" }, + "bot": { "id": 4, "nterm": "ai_assistant" }, + + "skill": { "id": 5, "nterm": "tool" }, + "tool": { "id": 5, "nterm": "tool" }, + "capability": { "id": 5, "nterm": "tool" }, + "function": { "id": 5, "nterm": "tool" }, + "feature": { "id": 5, "nterm": "tool" }, + "utility": { "id": 5, "nterm": "tool" }, + "instrument": { "id": 5, "nterm": "tool" }, + "resource": { "id": 5, "nterm": "tool" }, + + "memory": { "id": 6, "nterm": "storage" }, + "storage": { "id": 6, "nterm": "storage" }, + "persistence": { "id": 6, "nterm": "storage" }, + "database": { "id": 6, "nterm": "storage" }, + "db": { "id": 6, "nterm": "storage" }, + "cache": { "id": 6, "nterm": "storage" }, + "store": { "id": 6, "nterm": "storage" }, + "save": { "id": 6, "nterm": "storage" }, + "persist": { "id": 6, "nterm": "storage" }, + + "arscontexta": { "id": 7, "nterm": "context_management" }, + "onecontext": { "id": 7, "nterm": "context_management" }, + "context": { "id": 7, "nterm": "context_management" }, + "progress": { "id": 7, "nterm": "context_management" }, + "state": { "id": 7, "nterm": "context_management" }, + "session": { "id": 7, "nterm": "context_management" }, + "tracking": { "id": 7, "nterm": "context_management" }, + + "search": { "id": 8, "nterm": "retrieval" }, + "retrieval": { "id": 8, "nterm": "retrieval" }, + "query": { "id": 8, "nterm": "retrieval" }, + "find": { "id": 8, "nterm": "retrieval" }, + "lookup": { "id": 8, "nterm": "retrieval" }, + "fetch": { "id": 8, "nterm": "retrieval" }, + "get": { "id": 8, "nterm": "retrieval" }, + "locate": { "id": 8, "nterm": "retrieval" }, + "discover": { "id": 8, "nterm": "retrieval" }, + + "error": { "id": 9, "nterm": "failure" }, + "failure": { "id": 9, "nterm": "failure" }, + "mistake": { "id": 9, "nterm": "failure" }, + "bug": { "id": 9, "nterm": "failure" }, + "issue": { "id": 9, "nterm": "failure" }, + "problem": { "id": 9, "nterm": "failure" }, + "fault": { "id": 9, "nterm": "failure" }, + "defect": { "id": 9, "nterm": "failure" }, + "exception": { "id": 9, "nterm": "failure" }, + "crash": { "id": 9, "nterm": "failure" }, + + "documentation": { "id": 10, "nterm": "docs" }, + "docs": { "id": 10, "nterm": "docs" }, + "guide": { "id": 10, "nterm": "docs" }, + "manual": { "id": 10, "nterm": "docs" }, + "readme": { "id": 10, "nterm": "docs" }, + "reference": { "id": 10, "nterm": "docs" }, + "wiki": { "id": 10, "nterm": "docs" }, + "help": { "id": 10, "nterm": "docs" }, + + "rust": { "id": 11, "nterm": "programming_language" }, + "cargo": { "id": 11, "nterm": "programming_language" }, + "rustlang": { "id": 11, "nterm": "programming_language" }, + "javascript": { "id": 12, "nterm": "programming_language" }, + "js": { "id": 12, "nterm": "programming_language" }, + "node": { "id": 12, "nterm": "programming_language" }, + "npm": { "id": 12, "nterm": "programming_language" }, + "python": { "id": 13, "nterm": "programming_language" }, + "py": { "id": 13, "nterm": "programming_language" }, + "pip": { "id": 13, "nterm": "programming_language" }, + + "test": { "id": 14, "nterm": "testing" }, + "testing": { "id": 14, "nterm": "testing" }, + "spec": { "id": 14, "nterm": "testing" }, + "verify": { "id": 14, "nterm": "testing" }, + "validation": { "id": 14, "nterm": "testing" }, + "assert": { "id": 14, "nterm": "testing" }, + "check": { "id": 14, "nterm": "testing" }, + + "security": { "id": 15, "nterm": "security" }, + "secure": { "id": 15, "nterm": "security" }, + "safety": { "id": 15, "nterm": "security" }, + "protect": { "id": 15, "nterm": "security" }, + "guard": { "id": 15, "nterm": "security" }, + "audit": { "id": 15, "nterm": "security" }, + "vulnerability": { "id": 15, "nterm": "security" }, + + "performance": { "id": 16, "nterm": "performance" }, + "speed": { "id": 16, "nterm": "performance" }, + "fast": { "id": 16, "nterm": "performance" }, + "optimize": { "id": 16, "nterm": "performance" }, + "efficiency": { "id": 16, "nterm": "performance" }, + "benchmark": { "id": 16, "nterm": "performance" }, + + "build": { "id": 17, "nterm": "build" }, + "compile": { "id": 17, "nterm": "build" }, + "make": { "id": 17, "nterm": "build" }, + "package": { "id": 17, "nterm": "build" }, + "bundle": { "id": 17, "nterm": "build" }, + "assemble": { "id": 17, "nterm": "build" }, + + "run": { "id": 18, "nterm": "execution" }, + "execute": { "id": 18, "nterm": "execution" }, + "start": { "id": 18, "nterm": "execution" }, + "launch": { "id": 18, "nterm": "execution" }, + "invoke": { "id": 18, "nterm": "execution" }, + "call": { "id": 18, "nterm": "execution" }, + + "debug": { "id": 19, "nterm": "debugging" }, + "debugging": { "id": 19, "nterm": "debugging" }, + "troubleshoot": { "id": 19, "nterm": "debugging" }, + "diagnose": { "id": 19, "nterm": "debugging" }, + "investigate": { "id": 19, "nterm": "debugging" }, + "analyze": { "id": 19, "nterm": "debugging" }, + + "fix": { "id": 20, "nterm": "repair" }, + "repair": { "id": 20, "nterm": "repair" }, + "correct": { "id": 20, "nterm": "repair" }, + "resolve": { "id": 20, "nterm": "repair" }, + "solve": { "id": 20, "nterm": "repair" }, + "patch": { "id": 20, "nterm": "repair" }, + "remedy": { "id": 20, "nterm": "repair" } + } +} diff --git a/kg/openclaw/kg.md b/kg/openclaw/kg.md new file mode 100644 index 0000000..0bf785b --- /dev/null +++ b/kg/openclaw/kg.md @@ -0,0 +1,38 @@ +# OpenClaw Knowledge Graph + +## Role: OpenClaw Developer + +Specialized knowledge for developing the OpenClaw gateway and agent platform. + +## Thesaurus + +- **Source**: `thesaurus.json` +- **Concepts**: TypeScript, Gateway, Channel, Skill, Config + +## Key Technologies + +### TypeScript/JavaScript +- Node.js runtime +- NPM package management +- Modern JS/TS patterns + +### Gateway +- WebSocket server +- API endpoints +- Real-time communication + +### Channels +- Telegram integration +- Discord integration +- Slack integration +- Generic IM support + +### Skills +- Extension system +- Tool capabilities +- Plugin architecture + +## Sources + +- Source: `openclaw/src/` +- Docs: `openclaw/docs/` diff --git a/kg/openclaw/thesaurus.json b/kg/openclaw/thesaurus.json new file mode 100644 index 0000000..160c475 --- /dev/null +++ b/kg/openclaw/thesaurus.json @@ -0,0 +1,35 @@ +{ + "name": "OpenClaw", + "data": { + "typescript": { "id": 1, "nterm": "typescript" }, + "ts": { "id": 1, "nterm": "typescript" }, + "javascript": { "id": 1, "nterm": "typescript" }, + "js": { "id": 1, "nterm": "typescript" }, + "node": { "id": 1, "nterm": "typescript" }, + "npm": { "id": 1, "nterm": "typescript" }, + + "gateway": { "id": 2, "nterm": "gateway" }, + "server": { "id": 2, "nterm": "gateway" }, + "api": { "id": 2, "nterm": "gateway" }, + "websocket": { "id": 2, "nterm": "gateway" }, + "ws": { "id": 2, "nterm": "gateway" }, + + "channel": { "id": 3, "nterm": "channel" }, + "telegram": { "id": 3, "nterm": "channel" }, + "discord": { "id": 3, "nterm": "channel" }, + "slack": { "id": 3, "nterm": "channel" }, + "im": { "id": 3, "nterm": "channel" }, + + "skill": { "id": 4, "nterm": "skill" }, + "tool": { "id": 4, "nterm": "skill" }, + "capability": { "id": 4, "nterm": "skill" }, + "extension": { "id": 4, "nterm": "skill" }, + "plugin": { "id": 4, "nterm": "skill" }, + + "config": { "id": 5, "nterm": "config" }, + "configuration": { "id": 5, "nterm": "config" }, + "settings": { "id": 5, "nterm": "config" }, + "json": { "id": 5, "nterm": "config" }, + "yaml": { "id": 5, "nterm": "config" } + } +} diff --git a/kg/system/kg.md b/kg/system/kg.md new file mode 100644 index 0000000..43035c6 --- /dev/null +++ b/kg/system/kg.md @@ -0,0 +1,42 @@ +# System Operator Knowledge Graph + +## Role: System Operator + +Specialized knowledge for system administration and operations. + +## Thesaurus + +- **Source**: `thesaurus.json` +- **Concepts**: Logs, Config, Service, Network, Security + +## Key Areas + +### Logging +- System logs +- Application logs +- Log analysis + +### Configuration +- System config files +- Service configuration +- Environment settings + +### Services +- Systemd services +- Daemon management +- Process control + +### Network +- IP configuration +- DNS settings +- Firewall rules + +### Security +- Audit logs +- Permissions +- Authentication + +## Sources + +- Logs: `/var/log/` +- Config: `/etc/` diff --git a/kg/system/thesaurus.json b/kg/system/thesaurus.json new file mode 100644 index 0000000..0326b8b --- /dev/null +++ b/kg/system/thesaurus.json @@ -0,0 +1,33 @@ +{ + "name": "System Operator", + "data": { + "log": { "id": 1, "nterm": "log" }, + "logs": { "id": 1, "nterm": "log" }, + "logging": { "id": 1, "nterm": "log" }, + "syslog": { "id": 1, "nterm": "log" }, + "journal": { "id": 1, "nterm": "log" }, + + "config": { "id": 2, "nterm": "config" }, + "configuration": { "id": 2, "nterm": "config" }, + "conf": { "id": 2, "nterm": "config" }, + "cfg": { "id": 2, "nterm": "config" }, + "settings": { "id": 2, "nterm": "config" }, + + "service": { "id": 3, "nterm": "service" }, + "daemon": { "id": 3, "nterm": "service" }, + "systemd": { "id": 3, "nterm": "service" }, + "process": { "id": 3, "nterm": "service" }, + + "network": { "id": 4, "nterm": "network" }, + "net": { "id": 4, "nterm": "network" }, + "ip": { "id": 4, "nterm": "network" }, + "dns": { "id": 4, "nterm": "network" }, + "firewall": { "id": 4, "nterm": "network" }, + + "security": { "id": 5, "nterm": "security" }, + "secure": { "id": 5, "nterm": "security" }, + "audit": { "id": 5, "nterm": "security" }, + "permission": { "id": 5, "nterm": "security" }, + "auth": { "id": 5, "nterm": "security" } + } +} diff --git a/kg/terraphim-ai/kg.md b/kg/terraphim-ai/kg.md new file mode 100644 index 0000000..05325cd --- /dev/null +++ b/kg/terraphim-ai/kg.md @@ -0,0 +1,32 @@ +# Terraphim AI Knowledge Graph + +## Role: Terraphim AI Developer + +Specialized knowledge for developing the Terraphim AI assistant. + +## Thesaurus + +- **Source**: `thesaurus.json` +- **Concepts**: Rust, Knowledge Graph, Agent, Search, Role + +## Key Technologies + +### Rust Ecosystem +- Async programming with Tokio +- Type-safe systems programming +- Cargo package management + +### Knowledge Graph +- Thesaurus-based synonym expansion +- Ontology and taxonomy +- Semantic search + +### AI/Agent +- LLM integration +- Claude API +- Assistant patterns + +## Sources + +- Crates: `terraphim-ai/crates/` +- Docs: `terraphim-ai/docs/` diff --git a/kg/terraphim-ai/thesaurus.json b/kg/terraphim-ai/thesaurus.json new file mode 100644 index 0000000..b81975a --- /dev/null +++ b/kg/terraphim-ai/thesaurus.json @@ -0,0 +1,33 @@ +{ + "name": "Terraphim AI", + "data": { + "rust": { "id": 1, "nterm": "rust" }, + "cargo": { "id": 1, "nterm": "rust" }, + "crate": { "id": 1, "nterm": "rust" }, + "tokio": { "id": 1, "nterm": "rust" }, + "async": { "id": 1, "nterm": "rust" }, + + "knowledge graph": { "id": 2, "nterm": "kg" }, + "kg": { "id": 2, "nterm": "kg" }, + "thesaurus": { "id": 2, "nterm": "kg" }, + "ontology": { "id": 2, "nterm": "kg" }, + "taxonomy": { "id": 2, "nterm": "kg" }, + + "agent": { "id": 3, "nterm": "agent" }, + "ai": { "id": 3, "nterm": "agent" }, + "assistant": { "id": 3, "nterm": "agent" }, + "claude": { "id": 3, "nterm": "agent" }, + "llm": { "id": 3, "nterm": "agent" }, + + "search": { "id": 4, "nterm": "search" }, + "retrieval": { "id": 4, "nterm": "search" }, + "query": { "id": 4, "nterm": "search" }, + "find": { "id": 4, "nterm": "search" }, + "lookup": { "id": 4, "nterm": "search" }, + + "role": { "id": 5, "nterm": "role" }, + "persona": { "id": 5, "nterm": "role" }, + "expert": { "id": 5, "nterm": "role" }, + "engineer": { "id": 5, "nterm": "role" } + } +} diff --git a/kg/terraphim_ai.md b/kg/terraphim_ai.md new file mode 100644 index 0000000..9359738 --- /dev/null +++ b/kg/terraphim_ai.md @@ -0,0 +1,5 @@ +# Terraphim AI + +Terraphim AI - Knowledge graph powered development. + +synonyms:: Claude Code, Claude Opus 4.5 diff --git a/multi_repo_roles.json b/multi_repo_roles.json new file mode 100644 index 0000000..d91b4f3 --- /dev/null +++ b/multi_repo_roles.json @@ -0,0 +1,197 @@ +{ + "id": "MultiRepo", + "global_shortcut": "Cmd+Shift+M", + "roles": { + "TerraphimAI": { + "shortname": "TerraAI", + "name": "Terraphim AI Developer", + "relevance_function": "terraphim-graph", + "terraphim_it": true, + "theme": "lumen", + "kg": { + "automata_path": null, + "knowledge_graph_local": { + "input_type": "markdown", + "path": "terraphim-ai/kg" + }, + "public": true, + "publish": true + }, + "haystacks": [ + { + "location": "terraphim-ai/crates", + "service": "Ripgrep", + "read_only": true, + "extra_parameters": { + "file_types": ["rs", "toml"] + } + }, + { + "location": "terraphim-ai/docs", + "service": "Ripgrep", + "read_only": true, + "extra_parameters": { + "file_types": ["md"] + } + } + ], + "extra": { + "description": "Rust-based AI assistant with knowledge graph", + "embeddings_model": "local", + "synonym_depth": "deep" + } + }, + "OpenClaw": { + "shortname": "Claw", + "name": "OpenClaw Developer", + "relevance_function": "title-scorer", + "terraphim_it": false, + "theme": "spacelab", + "kg": { + "automata_path": null, + "knowledge_graph_local": { + "input_type": "markdown", + "path": "openclaw/kg" + }, + "public": false, + "publish": false + }, + "haystacks": [ + { + "location": "openclaw/src", + "service": "Ripgrep", + "read_only": true, + "extra_parameters": { + "file_types": ["ts", "js", "json"] + } + }, + { + "location": "openclaw/docs", + "service": "Ripgrep", + "read_only": true, + "extra_parameters": { + "file_types": ["md"] + } + } + ], + "extra": { + "description": "TypeScript-based AI gateway and agent platform", + "embeddings_model": "local", + "synonym_depth": "standard" + } + }, + "Last30Days": { + "shortname": "L30D", + "name": "Last30Days Skill Developer", + "relevance_function": "title-scorer", + "terraphim_it": false, + "theme": "cosmo", + "kg": { + "automata_path": null, + "knowledge_graph_local": { + "input_type": "markdown", + "path": "last30days/kg" + }, + "public": true, + "publish": true + }, + "haystacks": [ + { + "location": "last30days", + "service": "Ripgrep", + "read_only": true, + "extra_parameters": { + "file_types": ["md", "sh", "json"] + } + } + ], + "extra": { + "description": "Claude Code skill for web research", + "embeddings_model": "none", + "synonym_depth": "basic" + } + }, + "LearningCapture": { + "shortname": "LearnCap", + "name": "Learning Capture System", + "relevance_function": "terraphim-graph", + "terraphim_it": true, + "theme": "darkly", + "kg": { + "automata_path": null, + "knowledge_graph_local": { + "input_type": "markdown", + "path": "~/.config/terraphim/docs/src/kg" + }, + "public": false, + "publish": false + }, + "haystacks": [ + { + "location": "~/.local/share/terraphim/learnings", + "service": "Ripgrep", + "read_only": true, + "extra_parameters": { + "file_types": ["md"] + } + }, + { + "location": "~/.openclaw/workspace/memory", + "service": "Ripgrep", + "read_only": true, + "extra_parameters": { + "file_types": ["md", "json"] + } + } + ], + "extra": { + "description": "Personal knowledge and learning capture", + "embeddings_model": "local", + "synonym_depth": "deep", + "synonym_expansion": true, + "thesaurus": "~/.config/terraphim/docs/src/kg/Terraphim_Engineer_thesaurus.json" + } + }, + "SystemOperator": { + "shortname": "SysOp", + "name": "System Operator", + "relevance_function": "title-scorer", + "terraphim_it": false, + "theme": "slate", + "kg": { + "automata_path": null, + "knowledge_graph_local": { + "input_type": "markdown", + "path": "system/kg" + }, + "public": false, + "publish": false + }, + "haystacks": [ + { + "location": "/var/log", + "service": "Ripgrep", + "read_only": true, + "extra_parameters": { + "file_types": ["log"] + } + }, + { + "location": "/etc", + "service": "Ripgrep", + "read_only": true, + "extra_parameters": { + "file_types": ["conf", "cfg", "yaml", "yml", "json"] + } + } + ], + "extra": { + "description": "System administration and operations", + "embeddings_model": "none", + "synonym_depth": "minimal" + } + } + }, + "default_role": "LearningCapture", + "selected_role": "LearningCapture" +}