This document tracks the phased evolution of Skelecode from inception to the stable v1.0 release.
- Defined Unified IR (Intermediate Representation).
- Implemented basic Rust parser with Tree-sitter.
- Created Machine Context renderer for AI-ready output.
- Robust CLI with Clap.
- Interactive TUI using Ratatui.
- Support for language filtering and exclusions.
- Full Java parser (class, interface, enum, record).
- Integration with Unified IR.
- Kotlin parser (data classes, objects, properties).
- Support for Kotlin-specific constructs.
- Parsers for
.js,.ts,.jsx,.tsx. - Support for functional and class-based patterns.
- Module-as-file mapping for JS ecosystem.
- Removed legacy Mermaid.js renderer due to scalability limits.
- Implemented Obsidian Vault Renderer generating interlinked Markdown files.
- Added Visual Topology via native Obsidian Canvas generation.
- Resolve
this/selfcalls to current type. - Resolve calls on fields with explicit types.
- Resolve calls on method/function parameters.
base_type()strips&mut,Box<>,Arc<>,Option<>,?decorators.
- Parse
import/usestatements for all languages. - Map type aliases to fully qualified paths.
- Cross-module call graph edges in Obsidian Graph View.
- Auto-exclude build output directories (
target/,bin/,build/, etc.).
- Richer Dataview/Juggl metadata in Obsidian vault (YAML frontmatter, inline fields, edge labels).
- Fields rendered as Markdown tables; relations with
edge-label::hints. - TUI "Obsidian Preview" tab shows per-type/method/function Obsidian markdown.
- Copy to Clipboard (
y) for current detail panel content. - Back navigation (
Esc/b) from main view to welcome screen. - Structure panel scrolling with
ListState. - Detail panel scrolling with
u/d.
- Added
CallerRefto IR;callers: Vec<CallerRef>onMethodandFunction. resolve_reverse_calls()post-processes forward call graph to populate reverse edges.- Machine Context emits
@callers[...]alongside@calls[...]. - Obsidian vault emits
called-by::inline fields with Juggl-compatible links. - TUI Detail panel shows "Called by" section for method and function nodes.
- Parser for Python (classes, functions, imports, decorators).
typed_parameterextraction,__init__field inference,self.*call tracking.- Map to Unified IR; integrated into TUI, CLI, and Obsidian/Machine renderers.
- Press
/to enter search mode; type to filter the structure tree in real-time. - Matched text highlighted (yellow background) in tree; parent module shown as context.
Entercommits filter (stays active for navigation);Escclears filter.- Match count shown in tree title bottom; search bar replaces help bar while active.