en un clic
ontology-database
Typed knowledge graph via TSV append-only log — entity CRUD, directed relations, schema validation, multi-hop reasoning. CLI via `x ondb`, protocol readable by AWK/Python/JS/SQLite.
Menu
Typed knowledge graph via TSV append-only log — entity CRUD, directed relations, schema validation, multi-hop reasoning. CLI via `x ondb`, protocol readable by AWK/Python/JS/SQLite.
Browser automation via Chrome/Chromium CDP — open, snapshot, click, screenshot. For testing web apps, mobile layouts, and automated interactions without Playwright/Puppeteer.
Lovable MCP tool usage — deploy projects, message agent, test with agent-browser. Minimize credits by delegating to local repo.
Prompt engineering conventions for x-cmd — reuse via template variables, structure rules, safety enforcement patterns.
Root index of x-cmd skill0 sub-skills. Defines the OKR-style agent workflow (goal → rule-verified results → execute), skill discovery, and agent tooling preferences. Style: principle-first, concise, delegate specifics to authoritative external sources.
Writing conventions for skill0 documents — pyramid structure, line limits, and layout rules.
Multi-phase project assessment with scoring. Triggered by "/assess" to evaluate project health across dimensions and generate a comprehensive report.
| name | ontology-database |
| description | Typed knowledge graph via TSV append-only log — entity CRUD, directed relations, schema validation, multi-hop reasoning. CLI via `x ondb`, protocol readable by AWK/Python/JS/SQLite. |
Typed knowledge graph: everything is an entity (id + type + properties) connected by directed relations (from → rel → to). All mutations append TSV lines — never overwrite. The TSV log IS the database.
add <type> <id> <epoch_ms> key1 val1 key2 val2 # create entity
set <id> <epoch_ms> key val # update property
rm <id> <epoch_ms> # delete entity
link <from> <rel> <to> <epoch_ms> [key1 val1 ...] # create relation
unlink <from> <rel> <to> <epoch_ms> # remove relation
# tab-separated; escape: \t → tab, \n → newline, \\ → backslash
# properties are alternating key/val pairs (each is a separate tab field)
Any language reads this. AWK streams, Python dicts, SQLite materializes. Log is source of truth.
x ondb add --type Person --name Alice # auto UUID
x ondb add --type Task --name "Fix bug" --id t1 priority=high status=open
x ondb get --id t1 --json # entity detail
x ondb set --id t1 status=done # update prop
x ondb rm --id t1 # delete
x ondb link --from proj_001 --rel has_task --to t1 # create relation
x ondb link --from t1 --rel blocks --to t2 # with link props: -- status=hard
x ondb linked --id proj_001 --rel has_task # outgoing relations
x ondb linked --id t1 --direction incoming # incoming (who links TO)
x ondb related --id proj_001 --rel has_task --json # full entity on other side
x ondb ls --type Task # list by type
x ondb query --type Task --where status=open --json # filter by props
linked = relation metadata. related = full entity on the other side. Use --dir <path> / -d <path> for data directory (→ path/ondb.tsv).
x ondb schema add "type:Task:required:title,status"
x ondb schema add "type:Task:enum:status:open,in_progress,done,blocked"
x ondb schema add "relation:blocks:from_types:Task"
x ondb schema add "relation:blocks:acyclic:1"
x ondb validate # checks required, enum, dangling refs, cardinality, cycles
Directives: type:Name:{required|forbidden|enum|datetime|ref}:..., relation:Rel:{from_types|to_types|cardinality|acyclic}:.... Validation is separate from write.
set, rm, unlink append lines; never modify existing linesvalidate after batch changes| Backend | When | |
|---|---|---|
| AWK (default) | < 2k entities | Zero deps, streaming |
| Python | Medium | Rich data structures |
| JS/Bun | Web apps | JSON native |
| SQLite | > 5k entities | Auto-generated from TSV log |
<datadir>/ONDB.DESC.txt # Required. Identifies ondb instance
<datadir>/ondb.tsv # Append-only log
<datadir>/schema.tsv # Optional. Constraints
<datadir>/ondb.db # Optional. SQLite materialized view
x ondb --help — CLI referencex ondb libpath {awk,py,js} — library paths for custom queries