Skip to main content

Re.mind - Context management CLI

Project description

🧠 Re.mind

Re.mind is a context management CLI that lets users funnel conversational and technical data into a local Markdown vault, empowering LLMs to ground their responses by extracting exactly the information they need.

PyPI version License: AGPL v3

It transforms raw conversational data from ChatGPT, Claude, Gemini or Copilot into structured documents that can then be edited with tools like ObsidianMD. It creates a semantic index that AI agents can use to query documentation with millimeter precision without the need to copy and paste files to multiple locations.


🚀 Key Features

  • 100% Local: Your data lives on your hard drive (Re.mind vault/).
  • Simplicity: Based on Markdown and 100% compatible with Obsidian.
  • Semantic Navigation (Dot Notation): Access any heading or knowledge block using efficient logical paths (project.folder.file.heading).
  • Hybrid Tagging System: Native support for inline #hashtags that are automatically indexed globally.
  • Context Friendly: Designed for an LLM to extract exact context blocks on demand, reducing token consumption.

📦 Installation

Re.mind is written in Python and distributed via PyPI. It requires Python 3.9 or higher.

pip install re.md

🛠️ Workflow and Commands

The core loop of Re.mind is encapsulated in writing (ingestion and indexing) and reading (querying and extraction).

1. Installation

  • remind install Sets up the Re.mind vault base directory and deploys the .agents/skills/remind/SKILL.md file.
    $ remind install
    
  • remind config --set-vault <path> Configures a custom location for your Re.mind vault globally. The CLI will remember this path across all your terminal sessions. It accepts both absolute and relative paths.
    $ remind config --set-vault "~/My_Custom_Vault"
    $ remind config --set-vault "./local_vault"
    

2. Data Management (Write)

  • remind init <name> Initializes a new project notebook in your Vault. Creates the technical structure (.remind/) and generates the unique project slug.

    $ remind init "Trading Bot"
    
  • remind import Scans the global import/ folder looking for .csv or .json exports (Google Takeout, Copilot, Claude or OpenAI) and generates clean, chronologically structured Markdown notebooks in a temporary inbox (_Inbox_). Smartly avoids duplicates.

    $ remind import
    
  • remind index The core engine. Scans every project in the Vault, detects blocks, extracts inline hashtags (e.g., #architecture), and rebuilds the semantic map (map.index) and the auxiliary coordinate files (sidecars). Note: Always run this after manually reorganizing or editing your Markdown files in Obsidian.

  • remind write <logical_path> <document_name> <temp_file> Creates a new node or overwrites an existing one. logical_path targets the project or a directory within it. document_name is the actual document name without the .md extension — wrap in quotes if it contains spaces (e.g. 'Meeting Notes'). temp_file is the path to the file holding the content.

  • remind append <logical_path> <temp_file> Appends content from a temporary file to the end of an existing node.

3. Query and Extraction (Read)

  • remind map [logical_path] Displays a visual tree with the structure of the indexed knowledge. With no arguments, it shows the global state of the Vault.

    $ remind map tradinbot4a2.fe
    
  • remind tag <slug> list | remind tag <slug> <tag> Transversal search system. Lists all tags in a project sorted by popularity, or searches for a specific tag, returning the exact paths of the documents that contain it.

    $ remind tag tradinbot4a2 list
    $ remind tag tradinbot4a2 architecture
    
  • remind me <paths> The key command for knowledge extraction. Breaks through the index layer to go directly to the hard drive and spit out the exact text via the terminal. Supports brace expansion {} syntax to extract multiple nodes simultaneously.

    $ remind me tradinbot4a2.fe.spec.{fsadx1a,fsbol2b}
    

🏗️ Internal Architecture

Re.mind abstracts complexity through a system of short deterministic identifiers (Slugs) and a coordinate map (Sidecars).

Every Markdown file has a hidden twin JSON file in the .remind/sidecars/ folder. This file acts as a spatial coordinate system: it maps the exact start and end lines of every heading and the tags the document contains, allowing the remind me command to extract surgical snippets without having to parse heavy text files in real-time.


🤝 Contributing

If you want to collaborate, clone the repository and install it in editable mode:

git clone https://github.com/cgpp5/Re.mind.git
cd Re.mind
pip install -e .

📄 License

This project is licensed under the GNU Affero General Public License v3.0. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

re_md-1.2.0.tar.gz (38.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

re_md-1.2.0-py3-none-any.whl (44.5 kB view details)

Uploaded Python 3

File details

Details for the file re_md-1.2.0.tar.gz.

File metadata

  • Download URL: re_md-1.2.0.tar.gz
  • Upload date:
  • Size: 38.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for re_md-1.2.0.tar.gz
Algorithm Hash digest
SHA256 f114ab33f8474f297257cf9eda9e3a010d7b0548af8e73486d10cd89560063cf
MD5 30cdc296a517da38a24fb35bd3ee8378
BLAKE2b-256 8bd2928377bc13d19c3766aa9767aa1f7afce6da6a7518f46c35c433003c2d83

See more details on using hashes here.

File details

Details for the file re_md-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: re_md-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 44.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for re_md-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 295673ae352ed43a169d48c5e95ce0ff7fab0c10c94f8bce7731c3f54058dfbc
MD5 15cd6feadeca576ced14c64375fef180
BLAKE2b-256 c5cd429bf904b9c25efec74337ac026998b4ce6acc85ae9592183dc5061ca6b1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page