Skip to main content

An open-source framework that enhances Large Language Models (LLMs) with Long-Term Memory (LTM) and Retrieval-Augmented Generation (RAG). Ideal for AI coding assistants and other applications, it enables LLMs to retain context, adapt over time, and access up to date information, ensuring more intelligent and context-aware interactions.

Project description

Runic - LLM Memory & Documentation Enhancement Framework

Runic is an open-source framework that enhances Large Language Models (LLMs) with Long-Term Memory (LTM) and Retrieval-Augmented Generation (RAG) layers. By implementing these capabilities as distinct, interoperable layers, Runic enables LLMs to retain context, adapt over time, and access up-to-date information. While it particularly shines in enhancing AI coding assistants with intelligent documentation management and persistent project memory, its versatile architecture makes it suitable for any AI application requiring structured knowledge retention and contextual awareness - from content generation to decision support systems.

It's inspired by Cursor Docs Symbol and by Cline Memory Bank.

Key Features

  • 📚 Smart Documentation Fetching: Automatically crawls and processes documentation from a base URL (multithreaded)
  • 🧠 Persistent Project Memory: Stores and manages project-specific context and preferences
  • 🤖 AI-Assistant Integration: Seamlessly works with your favorite AI coding assistants

Usage

  1. Install Runic:
# Install latest pre-release version (required for beta releases until RC)
pip install --pre runic
  1. Initialize Runic in your project:
runic init

This will create a .runic directory in your project with all necessary files and folders.

  1. Initialize your AI chat or AI coding assistant:
    • Start a new chat session
    • First prompt the LLM with:
      Follow your instructions in .runic/instruct.md
      
    Your AI assistant will now be augmented with Runic's enhanced context and memory capabilities.

🤝 Contributing

To contribute:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

TODO List

While Runic started as an AI coding assistant enhancer, it's evolving into a general-purpose framework. Our next steps:

Context Adaptability

  • Create templates for various use cases beyond coding
  • Implement context-based template selection
  • Add custom template management support

Documentation Crawler Enhancement

  • Implement max depth setting to prevent infinite crawling
  • Enhance main content detection and filtering
  • Add support for various documentation formats and structures
  • Implement rate limiting and politeness delays

More Layers

  • Evaluate porting our RAG layer to Crawl4AI
  • Evaluate porting our LTM layer to Mem0
  • Expand LLM capabilities with more layers

📜 License

Runic is open-source under the MIT License.

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

runic-0.1.0b2.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

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

runic-0.1.0b2-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file runic-0.1.0b2.tar.gz.

File metadata

  • Download URL: runic-0.1.0b2.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.1

File hashes

Hashes for runic-0.1.0b2.tar.gz
Algorithm Hash digest
SHA256 f7fb2816b158d5e99901a3f6204d0189d7fb76d9ea8a7ec910de2315b52df969
MD5 e82f91e5cd15330ddfb0029888b33331
BLAKE2b-256 5ede857bdf1eb136ee05681081cb6f8bd96ab21142bc71d963de9a8c20e197d2

See more details on using hashes here.

File details

Details for the file runic-0.1.0b2-py3-none-any.whl.

File metadata

  • Download URL: runic-0.1.0b2-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.1

File hashes

Hashes for runic-0.1.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 764b7d874b21c49621b8473b4991cd3cb4b9e92176a1e4730d083ad777500939
MD5 b31cb26ee478bd2d437974677a10fba1
BLAKE2b-256 09d38ccea408dab85b34a82fa48e3c65723d5664e177a036961d33f1ff45e3c6

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