Atlas is a command-line tool for exploring and understanding software projects.
Atlas analyzes a codebase and builds a map of its structure and composition, giving developers a quick overview of what a project contains and how it is organized.
Large codebases can become difficult to understand.
Before changing a project, developers often need to answer simple questions:
- How large is this project?
- What languages does it use?
- How many files does it contain?
- Where is the code located?
- What parts of the project are the largest?
- How are its components related?
Atlas is designed to answer these questions from the command line.
Give Atlas a project directory:
atlas .And it builds a high-level map of the codebase.
ATLAS 🗺️
────────────────────
Project atlas
Root /home/ttomer/projects/atlas
Files 8
Directories 0
Size 20.94 KB
Lines 1 068
Languages
V 5 files (62.50%)
Other 3 files (37.50%)
The goal is simple:
Understand the project before diving into the code.
Modern development environments provide powerful tools for working with individual files and symbols.
Atlas approaches the problem from a different direction.
Instead of asking:
"What does this function do?"
Atlas starts with:
"What is this project made of, and how is it put together?"
Atlas is not intended to replace:
- IDEs
- Linters
- Formatters
- Static analysis platforms
- Code review tools
- Version control systems
It is a lightweight codebase exploration and intelligence tool.
Atlas v0.2 currently provides:
- Project discovery
- File scanning
- Directory scanning
- File count
- Directory count
- Project size
- Physical line count
- Programming language detection
- Language statistics
- Human-readable terminal output
- JSON output
- Project tree with configurable depth (
atlas tree --depth N) - File type distribution
- Top-level directory summaries
- Optional extension statistics (
--extensions)
Atlas will progressively understand more about the codebase:
- Project structure visualization
- Import and dependency analysis
- Symbol detection
- Functions and classes
- Internal relationships
- Dependency graphs
- Circular dependency detection
- Codebase hotspots
- Route detection
- Machine-readable project information
- File explanations
The long-term goal is to move from simply scanning a project to actually mapping it.
Atlas is currently in early development.
You will need:
- V
- Git
Check your V installation:
v versiongit clone https://github.com/ChrizzzDev/atlas.git
cd atlasv .This produces the Atlas executable in the project directory.
You can then run:
./atlas .Alternatively, run Atlas directly through V:
v run .Atlas works directly from the command line.
atlas .atlas /path/to/projectFor example:
atlas ~/projects/seyfertAtlas will scan the target project and display a summary of its composition.
Atlas separates its analysis into several pieces of information.
Project seyfert
Root /home/ttomer/projects/seyfert
Files 416
Directories 49
Size 2.59 MB
Lines 74 144
Languages
TypeScript 311 files (74.76%)
Other 103 files (24.76%)
JavaScript 2 files (0.48%)
As Atlas evolves, these sections will become increasingly detailed.
Atlas currently recognizes the following extensions:
| Language | Extensions |
|---|---|
| V | .v |
| TypeScript | .ts, .tsx |
| JavaScript | .js, .jsx |
| Go | .go |
| Rust | .rs |
| Java | .java |
| C# | .cs |
| C++ | .cpp |
| C | .c |
| Python | .py |
| PHP | .php |
| Kotlin | .kt |
| Swift | .swift |
You can check out all the supported languages in by clicking here
Atlas is being developed incrementally.
The project intentionally starts with simple and deterministic analysis before introducing deeper code intelligence.
ATLAS
│
▼
┌───────────────┐
│ v0.1 │
│ Explorer │
└───────┬───────┘
│
▼
┌───────────────┐
│ v0.2 │
│ Structure │
└───────┬───────┘
│
▼
┌───────────────┐
│ v0.3 │
│ Dependencies │
└───────┬───────┘
│
▼
┌───────────────┐
│ v0.4 │
│ Symbols │
└───────┬───────┘
│
▼
┌───────────────┐
│ v0.5+ │
│ Relationships │
└───────┬───────┘
│
▼
┌───────────────┐
│ v1.0 │
│ Atlas │
└───────────────┘
- Scan project
- Detect files
- Detect directories
- Detect programming languages
- Calculate project size
- Count physical lines
- Display language statistics
- Improve generated-file detection
- Improve edge-case handling
- Project tree
- Directory hierarchy
-
atlas tree - File type distribution
- Better project structure summaries
- Import detection
- Export detection
- Internal dependencies
- External dependencies
-
atlas deps
- Function detection
- Class detection
- Struct detection
- Constants
- Methods
- Symbol relationships
-
atlas symbols
- Dependency graphs
- Circular dependency detection
- Codebase hotspots
- Relationship analysis
- Route detection
-
atlas graph -
atlas cycles -
atlas hotspots
The first stable release aims to provide a complete high-level representation of a software project.
Potential commands:
atlas .
atlas tree
atlas stats
atlas deps
atlas symbols
atlas graph
atlas hotspots
atlas cycles
atlas routes
atlas explainAtlas is designed around a pipeline where each stage adds another layer of understanding.
┌──────────────┐
│ Filesystem │
└──────┬───────┘
│
▼
┌──────────────┐
│ Scanner │
└──────┬───────┘
│
▼
┌───────────────┐
│ Project Model │
└──────┬────────┘
│
▼
┌──────────────┐
│ Analyzers │
├──────────────┤
│ Files │
│ Dependencies │
│ Symbols │
│ Graph │
└──────┬───────┘
│
▼
┌──────────────┐
│ Output │
└──────────────┘
This architecture allows Atlas to become more sophisticated without turning the core scanner into a large monolithic system.
The current project is intentionally small:
atlas/
├── main.v
├── output.v
├── project.v
├── scanner.v
├── languages.v
├── v.mod
├── README.md
└── ...
Each component has a focused responsibility.
| File | Responsibility |
|---|---|
main.v |
CLI entry point |
scanner.v |
Filesystem scanning |
project.v |
Project data structures |
languages.v |
Language detection |
output.v |
Terminal output and formatting |
v.mod |
V module definition |
As Atlas grows, the internal architecture will evolve with it.
Atlas follows a few principles.
Atlas should provide useful information without requiring AI, remote services, or external infrastructure.
The first layer of Atlas is therefore: deterministic, local, and explainable.
Atlas does not need to understand everything about a codebase immediately.
It starts with:
Files
↓
Structure
↓
Dependencies
↓
Symbols
↓
Relationships
↓
Understanding
Each layer builds on the previous one.
Atlas is designed to work naturally from a terminal.
- No dashboard.
- No web server.
- No database.
- No account.
- No unnecessary infrastructure.
Just point it at a project and inspect the result.
The project should remain lightweight enough to run comfortably on a developer's machine.
Complexity should be introduced because it provides meaningful information, not simply because it is technically possible.
One of Atlas's long-term goals is to provide structural explanations of files and components.
For example:
scanner.v
────────────────────────────────
Purpose
Project filesystem scanner
Language
V
Size
184 lines
4.82 KB
Imports
os
io
Symbols
scan_project()
scan_directory()
count_lines()
Dependencies
project.v
languages.v
Used by
main.v
Structure
3 functions
0 structs
0 constants
Behavior
• Traverses directories recursively
• Identifies files and directories
• Collects file size and line count
• Builds the Project representation
This does not necessarily require an AI model.
Atlas can derive a surprising amount of information from the structure of a program itself.
If local AI capabilities are introduced in the future, they can remain an optional layer rather than becoming a requirement for the core tool.
Run Atlas directly from the repository:
v run .Build it:
v .The project is written in V and currently keeps its source files in the module root.
Atlas is currently a personal project in active development.
Contributions, ideas, bug reports, and discussions are welcome as the project matures.
Before submitting a larger change, consider opening an issue to discuss the approach first.
When contributing, try to keep changes:
- Focused
- Small
- Deterministic
- Easy to understand
- Consistent with Atlas's CLI-first philosophy
Atlas is released under the MIT License.
See LICENSE for the complete license text.
Atlas 🗺️
Map your codebase. Understand your project.