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 hash.

    $ 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 [project_hash] The core engine. Scans the folder structure, 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 index tradinbot4a2
    
  • remind write <logical_path> --file <temp_file> Creates a new node or overwrites an existing one. It requires a path to a temporary file containing the content to ensure 100% reliability with multi-line strings and special characters.

  • remind append <logical_path> --file <temp_file> Appends content from a temporary file to the end of an existing node. This is the most efficient way to update large documents without rewriting the entire file.

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 <hash> list | remind tag <hash> <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 names (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.1.1.tar.gz (37.0 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.1.1-py3-none-any.whl (42.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: re_md-1.1.1.tar.gz
  • Upload date:
  • Size: 37.0 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.1.1.tar.gz
Algorithm Hash digest
SHA256 41c5b91ce90620d1e3c3bd01386921816c2ff14d2bed338608f0ba502204ace1
MD5 0eb05e4518672ee5b8b94efe2f71cfa3
BLAKE2b-256 61f2b7b267ecc23136b3665e321b6339976c29d1a6f15ea7c15d09184d87b3bd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: re_md-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 42.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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 51aabc2a1b3684d9ff664851c793bebb4b1d4a60c892dab3b993d9fb368994b3
MD5 145a7abe99e77c9f8c72370246158559
BLAKE2b-256 689356c49f8c24e680590af065c4f5aedce85cad8084c2196e351c0f3d6e68b8

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