Skip to content

existence-lang/existence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

existence

CLI for the Existence ontology framework.

Navigate, validate, and visualize ontology term definitions organized in scoping rings.

Install

cargo install existence

Or build from source:

git clone https://github.com/existence-lang/existence
cd existence
cargo install --path .

Usage

All commands auto-detect the ontology directory. If you're inside an ontology repo (one with existence.toml), it just works. Otherwise, use --ontology <path> or run existence fetch first.

Lookup a term

# Print the full markdown definition
existence lookup existence

# Output as structured JSON (title, ontology, axiology, epistemology sections)
existence lookup existence --json

Navigate scoping rings

# List all rings and their terms
existence scope

# List only Ring 0 (kernel) terms
existence scope 0

# List Ring 1 (software) terms
existence scope 1

Lint ontology nodes

# Validate all nodes in src/
existence lint

# Validate a specific directory or file
existence lint src/existence.md

Checks:

  • Title (# Term) is present
  • Required sections: ## [Ontology], ## [Axiology], ## [Epistemology]
  • Broken links: [term](./term.md) references where src/term.md doesn't exist

Exit code 0 if clean, 1 if errors found.

Generate relationship graph

# DOT format (pipe to graphviz)
existence graph | dot -Tsvg -o ontology.svg

# Filter to a specific ring
existence graph 0 | dot -Tpng -o kernel.png

# JSON adjacency list
existence graph --format json

Fetch an ontology

# Clone from GitHub
existence fetch github:existence-lang/ontology

# Pull all sources defined in existence.toml
existence fetch

Sources are stored in ~/.existence/sources/{org}/{repo}/.

Configuration

Ontologies are configured via existence.toml:

[meta]
name = "existence-lang/ontology"
description = "Reference existential ontology"

[rings.0]
name = "kernel"
description = "14 universal terms, always loaded"
terms = ["existence", "entity", "abstraction", "scope", "context", ...]

[rings.1]
name = "software"
description = "The DDD bridge"
terms = ["project", "model", "algorithm", ...]

[sources]
upstream = "github:existence-lang/ontology"

Commands (v0.3.0)

Command Description Status
lookup <term> Read a node's full definition Implemented
scope [ring] List terms at a ring level Implemented
lint [path] Validate nodes against SPEC.md rules Implemented
graph [ring] Generate term relationship graph (DOT/JSON) Implemented
fetch [source] Clone or pull ontology from GitHub Implemented
install Set up ~/.claude integration Planned
serve Start local API server Planned
build-site Generate static site + JSON API Planned
context <domain> Suggest relevant terms for a domain Planned

License

Apache-2.0

About

CLI tool for Existential Kernel ontology management, validation, and composable scoping

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages