Skip to main content

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

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

  2. 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.
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codestory_cli-0.1.1.tar.gz (168.4 kB view details)

Uploaded Source

Built Distribution

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

codestory_cli-0.1.1-py3-none-any.whl (242.6 kB view details)

Uploaded Python 3

File details

Details for the file codestory_cli-0.1.1.tar.gz.

File metadata

  • Download URL: codestory_cli-0.1.1.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

Hashes for codestory_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7cb5c0d35a2c053f1429ad42eaafc4eb936f9a6fcb6cd4d47e3ed37f41206483
MD5 2af9eb193ce2b7d0f72d87b1818a7ef0
BLAKE2b-256 2f10194bcfd5ce23e697b1963fea031c3682e0ae02dd7fc72560ea9b10af99b2

See more details on using hashes here.

File details

Details for the file codestory_cli-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: codestory_cli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 242.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for codestory_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 202605b6ab39a6d01af94f488d81cdda0f1335e64cb68be999325c85c4379f39
MD5 dec52e18af7b31285734a496f7a0f129
BLAKE2b-256 31f7748207a5053cce97332dad868eb9cd57e3d2988cf4d3d07f322c4e284da4

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