Liking cljdoc? Tell your friends :D

atlas-dev Module

What

atlas-dev is an optional dev-time companion to atlas core. It provides tooling that requires JVM-specific dependencies (tools.reader, git) that don't belong in the production JAR.

Module Layout

atlas/
├── core/       → io.github.semantic-namespace/atlas       (production JAR)
├── dev-tools/  → io.github.semantic-namespace/atlas-dev   (dev tooling JAR)
├── ui/         → io.github.semantic-namespace/atlas-ui    (visual explorer)
└── dev/        → local REPL scratch (not published)

Usage in Your Project

Add atlas-dev as a dev-only dependency:

;; deps.edn
{:deps
 {io.github.semantic-namespace/atlas {:mvn/version "0.1.0"}}

 :aliases
 {:dev
  {:extra-deps
   {io.github.semantic-namespace/atlas-dev {:mvn/version "0.1.0"}}}}}

Then in your dev namespace:

(require '[atlas.source-tracker]) ;; auto-registers tools

;; All tools available via handle-tool
(require '[atlas.registry.lookup :as lookup])
(lookup/handle-tool {:tool/name :atlas.source-tracker/staged-entities
                     :tool/args {}})

What's Included

atlas.source-tracker

Self-registered tools for git-based entity tracking:

ToolPurpose
:atlas.source-tracker/staged-entitiesEntities affected by staged git changes
:atlas.source-tracker/commit-entitiesEntities touched in a commit
:atlas.source-tracker/commit-rangeEntities across a PR
:atlas.source-tracker/recent-entitiesRecently touched entities
:atlas.source-tracker/recent-aspectsAspects from recent work
:atlas.source-tracker/recent-contextCombined recent work view
:atlas.source-tracker/attach-source-locationsEnrich registry with file/line metadata
:atlas.source-tracker/entity-historyGit history for a specific entity
:atlas.source-tracker/registry-at-commitBuild full registry map from source at a commit
:atlas.source-tracker/commit-semantic-diffSemantic diff between two commits
:atlas.source-tracker/git-history-snapshotFeed commits into atlas.history as version snapshots

See source-tracker-design.md for how it works.

Why Separate From Core

Concerncoredev-tools
RuntimeProduction + devDev only
Platform.cljc (JVM + ClojureScript).clj (JVM only)
Dependenciesdatascript, data.jsontools.reader, java.shell
Git accessNoYes
Included in production JARYesNo

Building

cd dev-tools

./build-and-deploy.sh              # Build JAR
./build-and-deploy.sh --install    # Install to ~/.m2
./build-and-deploy.sh --deploy     # Deploy to Clojars

Source Dirs Discovery

The source tracker reads :paths and :extra-paths from your project's deps.edn automatically. Falls back to ["src" "test" "dev/src"] if no deps.edn is found. Override via the :source/dirs arg:

(lookup/handle-tool {:tool/name :atlas.source-tracker/attach-source-locations
                     :tool/args {:source/dirs ["src/main" "src/test"]}})

Can you improve this documentation?Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close