Skip to main content

How it works

  1. Chunk code using custom code chunker (stolen from Moatless)
  2. Generate dep graph (partly stolen from Bloop)
  3. Cluster chunks together using multi-level graph clustering algo (basically identifies local communities that are more related amongst each other than they are with outside nodes)
  4. Recursively generate summaries from leaf to root

What the clusters represent are functional groupings of code that inter-depend on each other (ie. Web Content Scraping and Integration Feature).

Generation is relatively cheap, fraction of the cost of the ingesting the whole repo

Install

OPENAI_API_KEY must be set in the env to use

pip install rtfs

Get text output to console

rtfs chunk-graph tests\cowboy-server\

...
# accept the summarization charge (we are not summarizing over every single file)
The summarization will cost $0.023670999999999998 and use 23671 tokens. Do you want to proceed? (yes/no): yes

Get json output

rtfs chunk-graph tests\cowboy-server\ --output-format json --output-file json- 

Sample output

Chat Interaction and Summarization Handler 0:12
Keywords: Coder, ChatSummary
Summary: This set of code is responsible for managing chat interactions with AI models, including sending messages, handling responses, and summarizing chat content. The `Coder` class handles the flow of sending messages to the models, managing partial responses, logging the interactions, and processing interruptions. It also checks for file mentions within the messages and handles them appropriately. The `ChatSummary` class focuses on summarizing chat content by compiling user and assistant messages and then interacting with AI models to generate a concise summary. Utility functions like `send_with_retries` and `simple_send_with_retries` ensure robust and retriable communication with the AI models.
  ChunkNode: coders/base_coder.py#38.63
  ChunkNode: aider/history.py#167.25
  ChunkNode: aider/sendchat.py#249.48
File Content Replacement and Editing 0:17
Keywords: do_replace, EditBlockFunctionCoder
Summary: This feature provides functionality for text replacements and bulk edits within files. The `do_replace` function handles the core logic of replacing text within a file, either by creating a new file if it doesn't exist or updating the content by replacing a specified text chunk with new content. The `EditBlockFunctionCoder` class manages bulk edit operations by parsing arguments, validating edit requests, and invoking the `do_replace` function to perform the content replacements. It ensures that file paths are allowed for editing and handles exceptions for missing or incorrect parameters using the `get_arg` function. This feature is primarily used for automating text updates in multiple files while maintaining file integrity.
  ChunkNode: coders/editblock_coder.py#60.19
  ChunkNode: coders/editblock_func_coder.py#69.47
Chat History Analysis and Patch Application 0:4
Keywords: main, map_patches
Summary: This feature encompasses several utility functions and classes to analyze chat history markdown to generate diffs and apply patches to texts. The `main` function reads a markdown file containing chat history and identifies patches by analyzing diffs between the states. Functions like `map_patches`, `dmp_apply`, and `dmp_lines_apply` manage the application of these patches to ensure accurate mapping and transformation of text changes. There are also utility functions for dealing with general patch management, such as `find_diffs`, and `show_stats` for statistical analysis and visualization. Additional code sections cover the creation of graphical representations of the results and handling exceptions during such operations

Metadata

Release files for rtfs 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rtfs 0.1.1
File Size Uploaded
rtfs-0.1.1.tar.gz 153.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rtfs 0.1.1
File Interpreter ABI Platform
rtfs-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 322.3 kB

Release files / rtfs-0.1.1.tar.gz

Download URL rtfs-0.1.1.tar.gz
Size 153.9 kB
Tags Source
SHA-256 checksum
How to use checksums
734bfb3e6c1b619d6978f7bb46e4e5be49bd9500e26003a1f3dbd7198958807d
BLAKE2b-256 checksum
How to use checksums
62ad3f339cc534dfbbd0f3608c52819880341cf7637b37b3ec001f34796feeaf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.11

Release files / rtfs-0.1.1-py3-none-any.whl

Download URL rtfs-0.1.1-py3-none-any.whl
Size 168.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8a179684aff8d790dc24d24454d2fdda68dabac32186f2ca12a98a0b3b2fbe4b
BLAKE2b-256 checksum
How to use checksums
25d1be88a59705d44f3a4df66191e135b1d60f486ae5c8e0c11f94c52f6807c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.11
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page