Skip to main content
base writes to three places: the global tier in your home directory, a workspace tier inside each registered project, and a code map beside each app. Nothing else on your machine is touched after the install.

The global tier

~/.base-gbl/ loads in every workspace.

A workspace tier

{workspace}/.base/ is created by base scaffold and belongs to one project. Configuration files here overlay their global counterparts by name rather than replacing them, so a workspace only needs to state what differs.

The code map

<app>/.base-ast/ast.ttl, one per app, built by base sync --ast. It sits outside both tiers and is never merged into graph.nq. .base-ast/ writes its own .gitignore so the map excludes itself from version control, which is why a colleague who clones the repository has no code map until they run the sync themselves. That takes seconds and produces paths that are correct for their machine, which is the point.

What is portable

Some of this is worth copying to a new machine and some of it actively should not be. Copy freely. The .toml policy files: domains.toml, commands.toml, standards.toml, and the parts of base.toml that are preference rather than machine state. These are things you wrote, they are structured text, and they are reasonable to keep in version control and reapply. Travels with the repository already. A workspace tier lives inside the project, so {workspace}/.base/ goes wherever the project goes. Its graph still reflects whatever state that copy was in when it was committed. Do not copy. .env holds secrets. manifest.toml records this machine’s own install and update history. hook-events.jsonl is local telemetry. ~/.base-gbl/.base/graph.nq is your global graph, which is personal rather than shared. Code maps regenerate faster than they copy, and copying one carries paths that are wrong on the new machine.

Checking any of it

base doctor reads both graphs and exits nonzero when something is wrong. base config list shows the merged configuration, which is faster than opening two files and working out which key won. base ast list shows every code map with its path and when it was last synced.

Next

Setup reference

The commands that create, read and repair everything on this page.

The graph

What is inside graph.nq, and why it is a text file.