Every project should have a good story behind it. With a good story (git history), you can reason about changes in a way that would be impossible just looking at a codebase. But let us do the work in creating that story
Project description
codestory
Git is a powerful tool. It is also an excellent tool for shooting yourself in the foot.
While Git provides the infrastructure for version control, you rarely need to be down in the pipes for daily work. codestory is a high-level interface that sits on top of Git. It does not replace Git; it allows you to use it effectively without the headache.
Think of this as a natural transition to higher-level version control. You get a clean history without the manual labor.
The Problem
A common scenario: You have been coding for hours. You have modified hundreds of lines across many files. You are tired. Human laziness wins, so you stage everything and run git commit -m "added feature x, y, z and fixed bugs".
This creates a garbage history that is impossible to debug later.
In the time it takes you to get a cup of coffee, codestory can read those changes, understand the semantics, and generate a linearized history of atomic, logical commits. You gain the benefits of a clean tree without the stress of manually managing the index.
Design Philosophy
-
Do Not Touch User Code
codestory operates on a strict read-only basis regarding your source files. It manipulates fake Git index files to construct the history. At no point does it modify the code in your working directory. -
Semantic and Logical Grouping
The tool splits large chunks of changes into the smallest possible logical commits.- Semantic Analysis: It understands the language structure to ensure syntactically dependent changes stick together.
- High-Level Analysis: It uses AI to recognize logical dependencies that code parsers miss. For example, it understands that a change to documentation is logically coupled to a function signature change, even if they share no variable references.
-
Extensibility
We do not care what language you use. codestory is designed to be language-agnostic. You can add compatibility for a new language by adding 10-20 lines of JSON to define the basic semantics.
Model Support (BYOK)
We support a Bring Your Own Key model. You are not locked into a specific provider.
- Cloud: OpenAI, Anthropic, Google.
- Local: Full support for Ollama.
More models will be added as they become useful.
Usage
When you are finished using codestory, you have a standard Git repository. Nothing special happens.
For detailed api documentation, please reference cli docs
Contributing
If you find a bug, feel free to create a pull request
License
The code is licensed under GPLv2, just like Git.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file codestory_cli-0.1.0.tar.gz.
File metadata
- Download URL: codestory_cli-0.1.0.tar.gz
- Upload date:
- Size: 168.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4383500145c003ccb0d8761bbaa300768846976c377ab0e256398314e64ecb0d
|
|
| MD5 |
35dbc5630e396f9fcd6eeb4b3d354c32
|
|
| BLAKE2b-256 |
29d2192367f958ccc4ed160035090a1e0ab422a44b1abf221c966d65276363ec
|
File details
Details for the file codestory_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: codestory_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 242.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9731c496d030b95d032b1b87e99d973e3748dd517d2c7fbc33b8fff5453f267
|
|
| MD5 |
379e49a0934a17824dfd29f42650d68f
|
|
| BLAKE2b-256 |
20c4a3f82b7218df915f722979bdbcec5b34e18db55bda7056c6faa050865bb8
|