Skip to main content

ASTOS — Abstract Syntax Tree Observer Service

PyPI version Python Offline License: MIT

Mapa vivo do seu código em 3D imersivo para você — e em Markdown compacto para a sua IA. Zero CDN. Puro WebGL Sci-Fi.

O ASTOS escaneia qualquer repositório poliglota (Python, C/C++, Dart, Rust, JS/TS, Java, Go, C#, Kotlin), mapeia módulos, dependências, símbolos com linha (funções, classes) e chamadas entre arquivos (Python), e gera três artefatos em .astos/:

  • index.html — mapa 3D orbital (Three.js vendorizado, 100% offline) para olhos humanos;
  • map.md — resumo compacto de uma linha por arquivo, desenhado para agentes de IA lerem antes de explorar;
  • graph.json — o grafo completo em dados.

Na primeira execução ele também instala um bloco cirúrgico no AGENTS.md ensinando a IA a consultar o mapa — sem tocar em nada do conteúdo original (use --no-agents para pular).

Instalação

pip install astos

Uso

Dentro de qualquer repositório:

# primeira vez: cria .astos/, analisa, gera mapa + bloco AGENTS.md e abre no navegador
astos

# força varredura completa do zero
astos -a
astos --all

# não tocar no AGENTS.md
astos --no-agents

Isso gera .astos/index.html (arquivo único, offline), .astos/map.md e .astos/graph.json, e abre a interface no navegador padrão. Pressione ESPAÇO para congelar/descongelar o movimento, ESC para sair do fullscreen. Navegação por teclado: WASD/setas movem a câmera sem rotacionar (Shift = 3x mais rápido), Q/E aproximam/afastam.

O que você vê (3D)

  • Somente 3D imersivo — esferas de neon, órbita contínua, zoom/pan/orbit.
  • Teia de aranha visível de longe — links com feixe luminoso aditivo + opacidade alta.
  • Fita RGB animada — fótons coloridos percorrem as arestas do nó selecionado (toggle global FLUXO RGB disponível no HUD).
  • Card HUD por clique — nome do arquivo/módulo, caminho relativo, importações/dependências diretas e degree centrality.
  • ❄ CONGELAR — para física + órbita + fluxo de uma vez (atalho: espaço).
  • Tema Sci-Fi/Chronos — HUD cyberpunk dark, neon cyan/magenta, painéis foscos, fonte monospace, scanlines + vinheta.

O que a sua IA ganha (tokens)

Cada astos deixa um AGENTS.md (bloco marcado ASTOS:START/END, idempotente) com uma instrução simples: antes de explorar o código — e ao se perder no meio de um debug — leia .astos/map.md. Na prática:

  • Orientação barata: o mapa de um repo médio custa poucos milhares de tokens de uma vez, em vez de dezenas de milhares queimados em glob/grep/leituras exploratórias a cada sessão.
  • Debug multi-turno: o mapa vira referência estável entre turnos — a IA se re-localiza lendo o mapa em vez de re-explorar arquivos.
  • Escopo cirúrgico: hubs (degree alto) e vizinhança direta dizem o que ler e o que ignorar; símbolos com linha (helper():L1) apontam o lugar exato.
  • Fluxo Python: caller.py --helper()--> callee.py mostra quem chama quem entre arquivos, antes de abrir qualquer código.
  • Camadas: se existir graphify-out/graph.json (Graphify), o bloco orienta a preferi-lo em perguntas semânticas e o mapa ASTOS na estrutura — sem briga.

Limites honestos: fora Python o parsing é heurístico (regex, sem dependências); call edges existem só para Python; o mapa é estático (rode astos -a se desconfiar que envelheceu).

Como funciona

  1. astos/parser.py — varre **/*.{py,c,h,cpp,dart,rs,js,jsx,ts,tsx,java,go,cs,kt,...} (Python via AST preciso, incluindo call edges conservadoras; demais linguagens via extratores regex sem dependências): import / #include / mod+use / require / using. Extrai defs com linha, resolve dependências locais e calcula o grau de cada módulo.
  2. astos/generator.py — injeta o grafo + three.min.js + OrbitControls.js (vendorizados em astos/vendor/) em um HTML único, sem nenhum fetch externo; e gera o map.md compacto para agentes.
  3. astos/cli.py — gerencia .astos/, cache incremental em .astos/graph.json, bloco cirúrgico no AGENTS.md e abertura automática no navegador.

Estrutura

astos/
  __init__.py
  cli.py          # CLI `astos` / `astos -a` / `--no-agents` (click) + bloco AGENTS.md
  parser.py       # scan multilinguagem -> {nodes, links, call_edges}
  generator.py    # HTML 3D Sci-Fi offline (Three.js inline) + map.md p/ IAs
  vendor/
    three.min.js        # r128 UMD (offline)
    OrbitControls.js    # UMD compatível com r128 (offline)

Licença

MIT — veja LICENSE.

Metadata

Release files for astos 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for astos 0.3.1
File Size Uploaded
astos-0.3.1.tar.gz 183.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for astos 0.3.1
File Interpreter ABI Platform
astos-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 366.7 kB

Release files / astos-0.3.1.tar.gz

Download URL astos-0.3.1.tar.gz
Size 183.9 kB
Tags Source
SHA-256 checksum
How to use checksums
701d33206296a03745c3ffe7bd64133d7d5b49e40b85a9f85a3f4ea2bef501d7
BLAKE2b-256 checksum
How to use checksums
ffa74a4d58bd548127a0b2a6fa63e608b5c33b584957465cdbe06cb97c54c3dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.12

Release files / astos-0.3.1-py3-none-any.whl

Download URL astos-0.3.1-py3-none-any.whl
Size 182.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8dd4f06bb0a0f76c845e72ebfd5c8b642f54241257cae88fc883fb71bcc3c245
BLAKE2b-256 checksum
How to use checksums
02a38439c82993be0f3db582e6c852e9162502392e0ac999c0beb6ddf5e22718
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page