Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
3c695e0
feat: complete architecture intelligence path and infrastructure UX
Shahinyanm Jul 17, 2026
0b199b2
feat: complete Atlas 0.4 architecture intelligence
Shahinyanm Jul 17, 2026
3b6532c
feat: complete Atlas 0.4 architecture intelligence
Shahinyanm Jul 17, 2026
7c08cc7
feat: complete Atlas 0.4 architecture intelligence
Shahinyanm Jul 17, 2026
7a712e2
feat: complete Atlas 0.4 architecture intelligence
Shahinyanm Jul 17, 2026
e1c4180
feat: complete Atlas 0.4 architecture intelligence
Shahinyanm Jul 17, 2026
385f59e
feat: complete Atlas 0.4 architecture intelligence
Shahinyanm Jul 17, 2026
24389e1
feat: complete Atlas 0.4 architecture intelligence
Shahinyanm Jul 17, 2026
ee52190
feat: complete Atlas 0.4 architecture intelligence
Shahinyanm Jul 17, 2026
394413a
feat: complete Atlas 0.4 architecture intelligence
Shahinyanm Jul 17, 2026
ae0ef86
feat: complete Atlas 0.4 architecture intelligence
Shahinyanm Jul 17, 2026
baac4d4
feat: complete Atlas 0.4 architecture intelligence
Shahinyanm Jul 17, 2026
4c17b6e
feat: complete Atlas 0.4 architecture intelligence
Shahinyanm Jul 17, 2026
6367512
feat: complete Atlas 0.4 architecture intelligence
Shahinyanm Jul 17, 2026
57bf6c4
feat: complete Atlas 0.4 architecture intelligence
Shahinyanm Jul 17, 2026
05a014d
feat: complete Atlas 0.4 architecture intelligence
Shahinyanm Jul 17, 2026
73ff47b
test: add infrastructure topology fixtures
Shahinyanm Jul 17, 2026
7f78a5a
test: add infrastructure topology fixtures
Shahinyanm Jul 17, 2026
f93e7f9
test: add infrastructure topology fixtures
Shahinyanm Jul 17, 2026
f1f64c0
test: add infrastructure topology fixtures
Shahinyanm Jul 17, 2026
465c40f
test: add infrastructure topology fixtures
Shahinyanm Jul 17, 2026
2b45bbb
fix: type init container topology
Shahinyanm Jul 17, 2026
84ca0f0
chore: prepare 0.4.1 release
Shahinyanm Jul 17, 2026
aaf2174
chore: sync 0.4.1 lockfile
Shahinyanm Jul 17, 2026
2887233
fix: restore complete 0.4.1 lockfile
Shahinyanm Jul 17, 2026
03ac87b
chore: align CLI version with 0.4.1
Shahinyanm Jul 17, 2026
4f4b8e0
feat: add operations topology to system map
Shahinyanm Jul 17, 2026
83dbc9e
test: cover system map operations data
Shahinyanm Jul 17, 2026
5b6ae51
test: preserve system map group connections
Shahinyanm Jul 17, 2026
942e4d9
docs: explain interactive system map
Shahinyanm Jul 17, 2026
2513a9e
fix: make system map connections visible and interactive
Shahinyanm Jul 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 19 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,8 +174,9 @@ The NestJS adapter currently detects:
- SQL migrations, columns, indexes, keys, constraints, and foreign-key relationships;
- ClickHouse tables, materialized views, engines, partition/order keys, and TTL rules;
- NestJS cron/interval/timeout jobs, repeatable queue jobs, and Kubernetes CronJobs;
- GitHub Actions and GitLab CI workflows, jobs, dependencies, images, and deploy commands;
- Dockerfiles, Compose services, and Kubernetes workloads, containers, probes, services, ingress, ConfigMaps, and Secret names;
- GitHub Actions and GitLab CI workflows, reusable workflows, actions, jobs, dependencies, images, and deploy commands;
- Dockerfiles and Compose services, health checks, dependencies, networks, volumes, configs, and Secret names;
- Kubernetes workloads, init containers, probes, services, ingress, autoscaling, volumes, ConfigMaps, Secret names, Kustomize overlays, Helm metadata, and Argo CD applications;
- environment variable contracts and safe examples, while redacting secret-like values;
- external HTTP API hosts;
- unit test relationships;
Expand Down Expand Up @@ -254,6 +255,19 @@ request and asynchronous flows, complete data catalog and focused table ERD,
migrations, scheduled jobs, source files, risks, deployment, runtime topology,
environment comparison, and configuration contracts.

The **System Map** combines business domains, asynchronous runtime, data and external
systems with a visible Delivery & Runtime band. Its grouped domain anchors keep every
detected aggregate arrow in the scene, and hovering a component isolates its direct
system connections. Build/deploy, structure, events, data and external calls use
different line grammar instead of one generic edge style.

**Path A -> B** answers a direct architecture question without opening a giant
neighbourhood graph. Select any starting element, select a target, and Atlas renders
only the exact detected chain between them. Directed mode follows the real execution
or dependency direction; Any connection can cross an incoming relationship while
keeping every arrowhead truthful. The Overview also ranks architecture hubs by their
actual graph degree so highly influential elements are visible immediately.

Operations are deliberately separated. **Deployment** follows CI/CD jobs, Docker
build stages, images, and releases. **Runtime** follows ingress, services, workloads,
containers, ConfigMaps, and Secret names. Both switch independently between
Expand Down Expand Up @@ -307,6 +321,7 @@ The server exposes these tools:
- `atlas_get_node`
- `atlas_get_dependencies`
- `atlas_get_dependents`
- `atlas_find_path`
- `atlas_find_routes`
- `atlas_find_flow`
- `atlas_find_async_flows`
Expand Down Expand Up @@ -348,11 +363,11 @@ npm run typecheck
```

The tests scan a representative NestJS fixture, validate route-to-database,
publisher-to-consumer, DI-token, CQRS, runtime, migration, schedule, and delivery flows, exercise all 18 MCP
publisher-to-consumer, DI-token, CQRS, runtime, migration, schedule, path, and delivery flows, exercise all 19 MCP
tools, verify architecture and deployment risks, and confirm that real secret values
never enter generated artifacts. The performance suite generates 1,000 TypeScript
files, 100 controllers, 300 services, and 1,000 routes; it also checks warm-scan
reuse, indexed graph queries, viewport culling, and bounded animation.
reuse, indexed graph and path queries, viewport culling, and bounded animation.

The detailed MVP requirements and their automated evidence are listed in
[`docs/PRD-COMPLIANCE.md`](docs/PRD-COMPLIANCE.md).
Expand Down
249 changes: 207 additions & 42 deletions assets/viewer/index.template.html

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions docs/CLAUDE-DESIGN-BRIEF.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,14 @@ question, show direction clearly, and avoid an undifferentiated force-directed g
- Secret-like variables show a hidden-value state, never a fake value.
- Show where each variable is consumed and which runtime object provides it.

9. **Path A -> B**
- A persistent header command starts from the currently selected element.
- The target is chosen through global search or by clicking a map card.
- Render only the exact chain in numbered left-to-right columns, without unrelated neighbours.
- Directed mode follows outgoing links. Any connection may traverse incoming links but preserves real arrow direction.
- Explain no-path results and let the user replace either endpoint immediately.
- Keep path search indexed and bounded for large project graphs.

## Shared interaction rules

- Desktop reference viewport: 1440 x 900. Also provide usable 1280 x 720 and mobile layouts.
Expand Down
4 changes: 3 additions & 1 deletion docs/PRD-COMPLIANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,13 @@ verification or `npm run test:performance` for the scale target alone.
| Supported HTTP client calls and unknown env-configured APIs | Complete | fixture integration test |
| Package dependencies, libraries, scripts, version, and package manager metadata | Complete | fixture integration test |
| Static local viewer with modes, filters, search, details, flows, source, dependencies, and dependents | Complete | generated viewer syntax/assertions and browser verification |
| Eighteen read-only MCP graph tools, including data, schedule, delivery, and async queries | Complete | live MCP subprocess integration test |
| Nineteen read-only MCP graph tools, including exact A-to-B path, data, schedule, delivery, and async queries | Complete | live MCP subprocess integration test |
| Markdown report and architecture/runtime risk rules | Complete | `tests/risks.test.mjs`, report integration test |
| SQL migrations, full table profiles, and ClickHouse topology | Complete | SQL fixtures and MCP integration test |
| Scheduled jobs and deterministic async overview | Complete | schedule fixtures and viewer assertions |
| CI/CD, Docker, Compose, and Kubernetes topology | Complete | delivery fixtures and viewer assertions |
| Reusable workflows, Compose runtime resources, Helm, Kustomize, autoscaling, and Argo CD topology | Complete | infrastructure fixtures and graph assertions |
| Exact path between arbitrary architecture elements | Complete | graph, MCP, viewer interaction, and performance tests |
| Separate development, staging, and production runtime scenes | Complete | generated viewer integration test |
| Unsupported projects produce a basic graph and warning without crashing | Complete | unsupported-project integration test |

Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@dthreads/atlas",
"version": "0.4.0",
"version": "0.4.1",
"description": "Architecture intelligence for NestJS codebases.",
"keywords": [
"nestjs",
Expand Down
Loading