atlas

module
v0.4.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 20, 2026 License: MIT

README

GoForj Atlas

Atlas Banner

Agent-native project navigation and MCP tooling for GoForj.

Atlas helps local coding agents understand GoForj projects without guessing framework conventions. It installs concise project guidance, synchronizes skills or agent-native instruction files, configures one project-level MCP server, and exposes safe read-only project inspection tools.

Users should normally reach Atlas through the GoForj CLI:

forj atlas:install
forj atlas:update
forj atlas:mcp

This repository contains the reusable Atlas library. The GoForj CLI exposes it through forj atlas:* commands so projects do not need to install a separate binary.

What Atlas Provides

Atlas gives local agents a framework-aware view of a GoForj project:

  • concise project guidance for Codex, Claude Code, GitHub Copilot, and Gemini CLI
  • synchronized skills and agent-native instruction files
  • one project-level MCP server
  • app-aware project layout, route, schedule, and command inspection
  • version-aware docs search and section reads
  • safe database, log, browser, URL, and metrics inspection hooks

Project Integration

Atlas keeps the selected agents, enabled surfaces, and generated-file ownership in .goforj/atlas.json. Native files such as AGENTS.md, .agents/skills, and .codex/config.toml are projections written only for the selected agents so the tools can discover them without manual setup.

A normal update follows the committed selection instead of re-detecting every agent installed on the machine:

forj atlas:update

Use forj atlas:update --discover when the project should deliberately switch to the preferred locally installed agent. Explicit --agent and --all-agents selections remain available for projects that intentionally use more than one agent. Atlas removes only its owned blocks, MCP entries, and generated skill files when an agent or surface is deselected.

Safety Model

Atlas starts read-only. It does not expose arbitrary shell execution or write-capable MCP tools in the MVP.

When source scaffolding is needed, agents should use normal GoForj commands:

forj make:controller users
forj marketplace make:job sync-catalog

Live Agent Evaluation

Atlas includes an experimental diagnostic harness for measuring how coding agents work in disposable GoForj Projects. The first promoted comparison runs the same controller task once without Project guidance and once with the canonical AGENTS.md guidance:

openssl rand -out /tmp/goforj-eval-artifact.key -hex 32
chmod 600 /tmp/goforj-eval-artifact.key

forj atlas:eval compare add-http-controller \
  --model <model> \
  --credential /path/to/disposable-auth.json \
  --artifact-key /tmp/goforj-eval-artifact.key \
  --artifacts /tmp/goforj-eval-artifacts

The credential must be disposable, revocable, and restricted to this diagnostic; the current unconfined backend cannot keep file-backed provider authority secret from candidate processes. Keep the artifact key outside the artifact directory; it authenticates retained evidence and should remain readable only by the evaluation operator. The command retains redacted evidence with post-run integrity checks and verifies the final Project after the agent session. Missing supervisor-grade isolation and observation keep top-level outcomes ineligible rather than promoting local diagnostics to an authoritative claim. See the implementation plan and Codex adapter qualification for the boundary and release sequence.

Development

make build
make release-check
make test
make vet

At runtime, Atlas reads docs from GOFORJ_DOCS_PATH when set. Otherwise it clones or refreshes github.com/goforj/docs in the user's cache directory, loads the Markdown tree into memory, and serves MCP docs tools from memory. Atlas uses the git executable when it is available and silently falls back to native Go git support when it is not.

Atlas is consumed by GoForj as a Go module, not as a prebuilt binary. A release should run make release-check, tag the module, and then bump GoForj to that tag. The normal docs path is a local git cache loaded into memory by the MCP server, so Atlas does not need to commit a copied docs tree.

Equivalent direct validation:

GOCACHE=/tmp/gocache GOMODCACHE=/tmp/gomodcache go test ./...

Directories

Path Synopsis
Package agents contains adapters for writing Atlas integration files for local coding agents.
Package agents contains adapters for writing Atlas integration files for local coding agents.
Package config reads and writes project-owned Atlas installation state.
Package config reads and writes project-owned Atlas installation state.
Package diagnostics defines read-only runtime inspection contracts for Atlas.
Package diagnostics defines read-only runtime inspection contracts for Atlas.
Package docs provides version-aware Markdown retrieval for Atlas tools.
Package docs provides version-aware Markdown retrieval for Atlas tools.
Package eval provides deterministic contracts and orchestration for Atlas live-agent evaluations.
Package eval provides deterministic contracts and orchestration for Atlas live-agent evaluations.
Package files contains filesystem helpers that preserve user-authored agent files.
Package files contains filesystem helpers that preserve user-authored agent files.
Package guidelines composes concise generated guidance for local coding agents.
Package guidelines composes concise generated guidance for local coding agents.
Package install coordinates Atlas agent installation and update workflows.
Package install coordinates Atlas agent installation and update workflows.
internal
codexappserver
Package codexappserver provides the narrow Codex protocol boundary used by Atlas evaluations.
Package codexappserver provides the narrow Codex protocol boundary used by Atlas evaluations.
processgroup
Package processgroup runs a subprocess with identity-safe leader and qualified descendant cleanup.
Package processgroup runs a subprocess with identity-safe leader and qualified descendant cleanup.
Package mcp exposes Atlas read-only project tools through the MCP protocol.
Package mcp exposes Atlas read-only project tools through the MCP protocol.
Package project models the GoForj project facts Atlas needs to guide agents.
Package project models the GoForj project facts Atlas needs to guide agents.
Package skills synchronizes built-in and project-owned Atlas skills.
Package skills synchronizes built-in and project-owned Atlas skills.
Package workflows builds deterministic GoForj workflow guidance for Atlas.
Package workflows builds deterministic GoForj workflow guidance for Atlas.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL