# `git-draft(1)` [](https://github.com/mtth/git-draft/actions/workflows/ci.yaml) [](https://codecov.io/gh/mtth/git-draft) [](https://pypi.python.org/pypi/git-draft/)
> [!NOTE]
> WIP: Unstable API.
## Highlights
* Concurrent edits. By default `git-draft` does not touch the working directory.
* Customizable prompt templates.
* Extensible bot API.
* Local data collection for privacy-friendly analytics.
## Installation
```sh
pipx install git-draft[openai]
```
## Next steps
* Mechanism for reporting feedback from a bot, and possibly allowing user to
interactively respond.
* Add MCP bot.
* Store configuration in `gitconfig` as `draft.*` entries. This can be used for
example to set a unique repo ID, and default bot to use per repo (or more
widely via shared `gitconfig` files).
Raw data
{
"_id": null,
"home_page": "https://github.com/mtth/git-draft",
"name": "git-draft",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": null,
"author": "Matthieu Monsch",
"author_email": "mtth@apache.org",
"download_url": "https://files.pythonhosted.org/packages/a5/8c/41afc1944adf67135e3711c7d7c478bae4bad545783c6b7bbbd6b0e5b6f9/git_draft-0.38.0.tar.gz",
"platform": null,
"description": "# `git-draft(1)` [](https://github.com/mtth/git-draft/actions/workflows/ci.yaml) [](https://codecov.io/gh/mtth/git-draft) [](https://pypi.python.org/pypi/git-draft/)\n\n> [!NOTE]\n> WIP: Unstable API.\n\n\n## Highlights\n\n* Concurrent edits. By default `git-draft` does not touch the working directory.\n* Customizable prompt templates.\n* Extensible bot API.\n* Local data collection for privacy-friendly analytics.\n\n\n## Installation\n\n```sh\npipx install git-draft[openai]\n```\n\n\n## Next steps\n\n* Mechanism for reporting feedback from a bot, and possibly allowing user to\n interactively respond.\n* Add MCP bot.\n* Store configuration in `gitconfig` as `draft.*` entries. This can be used for\n example to set a unique repo ID, and default bot to use per repo (or more\n widely via shared `gitconfig` files).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Version-controlled code assistant",
"version": "0.38.0",
"project_urls": {
"Documentation": "https://mtth.github.io/git-draft",
"Homepage": "https://github.com/mtth/git-draft",
"Repository": "https://github.com/mtth/git-draft"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d7b5fed9451fcbdd0707c63a1ecba7c2ffc3649d6e653601e793b7c4336d08e6",
"md5": "f021ea662f77c55b84410246fcbeb9ad",
"sha256": "472ec50011c0ddbfa6ed2aea3d5a19b386e09343c408625bd29ea38fc904486c"
},
"downloads": -1,
"filename": "git_draft-0.38.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f021ea662f77c55b84410246fcbeb9ad",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 29287,
"upload_time": "2025-04-20T04:59:05",
"upload_time_iso_8601": "2025-04-20T04:59:05.426219Z",
"url": "https://files.pythonhosted.org/packages/d7/b5/fed9451fcbdd0707c63a1ecba7c2ffc3649d6e653601e793b7c4336d08e6/git_draft-0.38.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a58c41afc1944adf67135e3711c7d7c478bae4bad545783c6b7bbbd6b0e5b6f9",
"md5": "369c96affb10bd795f589c86b8e1012f",
"sha256": "c6a804d37c6e44dbef2d1709a9c14b064e16e58666b9d8ba7c80216659ac32d0"
},
"downloads": -1,
"filename": "git_draft-0.38.0.tar.gz",
"has_sig": false,
"md5_digest": "369c96affb10bd795f589c86b8e1012f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 21754,
"upload_time": "2025-04-20T04:59:06",
"upload_time_iso_8601": "2025-04-20T04:59:06.770817Z",
"url": "https://files.pythonhosted.org/packages/a5/8c/41afc1944adf67135e3711c7d7c478bae4bad545783c6b7bbbd6b0e5b6f9/git_draft-0.38.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-04-20 04:59:06",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mtth",
"github_project": "git-draft",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "git-draft"
}