Configuration
Atlas is zero-config by design — every key here is optional. Reach for a config file only when the defaults don't match your layout.
Where config lives
Atlas looks for the first of these in the project root: atlas.config.json, .atlasrc,
.atlasrc.json, or an "atlas" key in package.json. CLI flags always win over the config file.
{
"include": ["src/**/*.{ts,tsx}"],
"exclude": ["**/*.stories.tsx"],
"outDir": ".atlas",
"sharedLayers": ["shared", "common", "ui"]
}{
"name": "my-app",
"atlas": {
"exclude": ["src/legacy/**"]
}
}Keys
Prop
Type
What is scanned by default
Without an include, Atlas scans **/*.{ts,tsx,js,jsx,mjs,cjs}. The built-in excludes cover
node_modules, dist, build, .next, out, coverage, .atlas, declaration files, and
*.test.* / *.spec.* / *.stories.*. Your own exclude entries are added on top of that list, so
you only need to name what's specific to your project.
Set ATLAS_VERBOSE=1 in the environment for verbose logging.
Monorepos
Nothing to configure. npm, yarn and pnpm workspaces, Turborepo and Nx are auto-detected from the
workspace manifests, and each workspace's path aliases resolve on their own — including split
tsconfig setups where a base config is extended by per-package files. Routers are resolved per
workspace too, so two apps in one repo don't blur into a single route table.
Scoping a big repo
You can also just point Atlas at one package: atlas serve ./apps/web. That analyzes the app in
isolation and keeps its output under apps/web/.atlas/.
Shared layers & architecture
sharedLayers tells the architecture pass which top-level folders are the common layer every module may
import from. Anything else that reaches across module boundaries is reported as a violation, with a
recommendation, in architecture.json and the dashboard.
Cache
The incremental cache is on by default and lives in .atlas/.cache/. It keys on file contents and the
Atlas version, so upgrading the tool invalidates it automatically. Disable it per run with --no-cache,
force a clean scan with --reanalyze, or turn it off permanently with "cache": false.
Plugins
A plugin contributes extractors (new asset kinds or frameworks) and can post-process the final result.
Register it in plugins; see
Architecture → Plugins
for the interface.