About the Tool
This is a terminal-first Command Line Interface (CLI) tool designed to convert source code into concise revision notes specifically for Obsidian. It leverages AI coding agents such as OpenCode, Claude Code, and Codex to achieve this. The tool is currently optimized for Rust learning workflows, helping users consolidate their understanding of code concepts.
Key Features
- Generates concise markdown revision notes from Rust files.
- Saves generated notes directly into an Obsidian vault.
- Provides a global CLI command for easy access.
- Features an interactive setup process via the notes init command.
- Employs a config-based architecture for managing settings.
- Supports a provider-ready architecture for integrating different AI models.
- Utilizes prompts for note generation.
- Structures notes in a revision-oriented format.
- Designed to be lightweight and terminal-first.
Motivation
When learning complex systems programming languages like Rust, valuable insights can often be lost within experiments, compiler errors, temporary snippets, debugging sessions, and random examples. This tool aims to automatically transform these learning artifacts into structured, searchable Obsidian notes, preserving and organizing crucial knowledge.
Workflow
The typical workflow involves:
- Providing a Rust source code file.
- The tool performs an AI analysis using configured agents.
- Concise markdown notes are generated.
- These notes are saved into your Obsidian vault.
Tech Stack
- TypeScript: For building the CLI application.
- Node.js: The runtime environment for the CLI.
- fs-extra: For enhanced file system operations.
- prompts: For handling user interactions and prompts during setup.
- OpenCode: An AI coding agent used for analysis.
- Obsidian Markdown: The output format for notes.
- Rust: The primary language the tool is designed to process.