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.2.tar.gz (37.2 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.2-py3-none-any.whl (42.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: re_md-1.1.2.tar.gz
  • Upload date:
  • Size: 37.2 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.2.tar.gz
Algorithm Hash digest
SHA256 f53b81b1a6672bdb41e71825966b6a6e1946662c93123f313f17c67ea739f066
MD5 01879801f70f43193ca53fc17794aa2c
BLAKE2b-256 3ad13b37d04dc635904f042ffe1f666852f5e16a15e028bc5e27e9f6a2cdfdab

See more details on using hashes here.

File details

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

File metadata

  • Download URL: re_md-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 42.8 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 766567b6b38dc745cf2ae15431df4f0539cd12cadc5a6105d0bd2eb1dfb72153
MD5 999307165dd3d36d324c3ebe1621c047
BLAKE2b-256 9a0d64aaeff0263d77275f9f62507c7adb35bac2c39a785ec0629f316dff0bd6

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