Codebase observation graph and mapping tools
Project description
eforge
Codebase observation graph for developers. Map your codebase. Track concepts. Find relationships.
Install
pip install eforge
That installs three packages only: eforge, click, and PyYAML.
| Install | What you get |
|---|---|
pip install eforge |
Standalone CLI: init, task, node, schema, error |
| Monorepo checkout | Adds runtime commands: orient, search, declare, inspect, … via ActionRegistry |
pip install eforge[compiler] |
Reserved for a future full graph runtime on PyPI (not published yet) |
Project bootstrap
Two storage domains — do not conflate them:
| Domain | Directory | Created by |
|---|---|---|
| eforge (observation) | .eforge/schemas/, .eforge/observations/ |
eforge init |
| Declaration (manifest graph) | .forge/manifest.yaml, .forge/tasks/ |
eforge declare, eforge console, or legacy forge init |
cd your-project
eforge init # .eforge/ only
eforge node add "Auth" -y # observation graph
eforge task add --title "..." -y # creates .forge/tasks/ on first use
# With compiler runtime (monorepo):
eforge declare -y # bootstraps .forge/ if needed
eforge console
Legacy repos may still have observations under .eforge/observations/; new
projects use that path. Older .forge/observations/ layouts are read as fallback.
No setup needed
After eforge init, add nodes anytime:
eforge node add "AuthSystem" --kind concept/feature -y
eforge node add "auth.py" --kind core/file \
--file src/auth.py -y
eforge node link "AuthSystem" "auth.py" \
--rel housed-in \
--note "core auth logic" -y
eforge node show "AuthSystem"
Commands
eforge node add, show, list, find, link,
note, tag, mark, edit, inspect
eforge schema list, show, create, edit,
validate, copy, restore
eforge error lookup (<CODE>), --list, --search, --stats
Your own schemas
eforge ships with built-in schemas for common node types. Add project-specific schemas without touching forge:
eforge schema create game/canvas
This creates .eforge/schemas/domain/game/canvas.yaml.
Your schema is immediately available:
eforge node add "PixelCanvas" --kind game/canvas
# SchemaPrompt uses YOUR schema properties
Schema search order:
.eforge/schemas/(your project)- forge built-ins
Built-in kinds: concept/feature, core/file, ui/screen, ui/variant,
ui/component, architecture/session, architecture/boundary, data/model,
data/table, data/rpc, code/class, code/function, code/module
Node types
concept/feature planned features, systems, capabilities
core/file source files
Relationship types
housed-in concept → file
relates-to concept → concept
depends-on A needs B
implements code implements concept
raises code raises error
Storage
.eforge/schemas/ project type schemas
.eforge/observations/
nodes/ one yaml per node
.cache/ SQLite index (auto-rebuilt)
.forge/manifest.yaml declaration graph (not created by eforge init)
.forge/tasks/ work items (created on first task add)
No AI required
Works without any AI assistant. Map your codebase manually, one node at a time.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file eforge-1.0.7.tar.gz.
File metadata
- Download URL: eforge-1.0.7.tar.gz
- Upload date:
- Size: 12.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53ed491092f3255599703ec6f902f03474c73f3a1dc4e0e6e169ec3a0db39e85
|
|
| MD5 |
e7f9eeda9214c3f07021f8ee23bf25da
|
|
| BLAKE2b-256 |
35e0dcb172e3460706c2988fffa998c9acfb4de12dcd2d8950176d42542344b0
|
File details
Details for the file eforge-1.0.7-py3-none-any.whl.
File metadata
- Download URL: eforge-1.0.7-py3-none-any.whl
- Upload date:
- Size: 96.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1faafff153d1ce5501e339b19777ce5c3e580ce2225da4ce8112c39b28899b3
|
|
| MD5 |
bfcafc0345c341500a1d87cb0265119d
|
|
| BLAKE2b-256 |
9b26213e6b21b03fb663ba21fc2ac3c5f3fc5930eaec3583d2b306520ee9c214
|