Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gfargo/coco
AI-powered Git Assistant for CLI
https://github.com/gfargo/coco
cli coco git git-commit langchain langchain-typescript llms node ollama
Last synced: 3 months ago
JSON representation
AI-powered Git Assistant for CLI
- Host: GitHub
- URL: https://github.com/gfargo/coco
- Owner: gfargo
- License: mit
- Created: 2023-07-06T16:05:30.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-11T20:29:39.000Z (3 months ago)
- Last Synced: 2024-10-11T20:36:32.555Z (3 months ago)
- Topics: cli, coco, git, git-commit, langchain, langchain-typescript, llms, node, ollama
- Language: TypeScript
- Homepage: https://git-co.co/
- Size: 1.41 MB
- Stars: 6
- Watchers: 3
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.MD
Awesome Lists containing this project
README
# `coco` π€ π¦
[![GitHub issues](https://img.shields.io/github/issues/gfargo/coco)](https://github.com/gfargo/coco/issues)
[![GitHub pull requests](https://img.shields.io/github/issues-pr/gfargo/coco)](https://github.com/gfargo/coco/pulls)
[![Last Commit](https://img.shields.io/github/last-commit/gfargo/coco)](https://github.com/gfargo/coco/tree/main)
[![NPM Version](https://img.shields.io/npm/v/git-coco.svg)](https://www.npmjs.com/package/git-coco)
[![NPM Downloads](https://img.shields.io/npm/dt/git-coco.svg)](https://www.npmjs.com/package/git-coco)`coco`, the Commit Copilot, transcends being merely a robotic scribe for crafting git commit messages. Leveraging the capabilities of [LangChainπ¦π](https://js.langchain.com/) and LLMs, `coco` is committed to providing a suite of insightful tools aimed at enhancing and streamlining your git workflow!
## Commands
- **`commit`**: generates commit messages based on staged changes.
- **`changelog`**: create changelogs for the current branch or a range of commits.
- **`init`**: step by step wizard to set up `coco` globally or for a project.
## Getting Started
**`coco init`** is the first step to getting started with `coco`. It will guide you through the installation process, including setting up your OpenAI API key and configuring `coco` to your preferences.
```bash
# For local project use
npx git-coco@latest init -l project# For global use
npx git-coco@latest init -l global
```## Usage
### **`coco commit`**
Generates commit messages based on staged changes.
```bash
coco# or
coco commit
```### **`coco changelog`**
Creates changelogs.
```bash
# For the current branch
coco changelog# For a specific range
coco changelog -r HEAD~5:HEAD
```### Stdout vs. Interactive Mode
`coco` offers two modes of operation: **stdout** and **interactive**, defaulting to **stdout**. You can specify your preferred mode in your config file or via command line flags.
```bash
# Stdout mode
git commit -m $(coco)# Interactive mode
coco -i
```### Generate and commit all in one
`coco` can generate and commit your changes in one command.
```bash
coco -s
```## Configuration
The `.coco.config` documentation has moved to our [wiki](https://github.com/gfargo/coco/wiki/Config-Overview). Here, you'll find detailed information on setting up and customizing your experience.
### **Ignoring Files**
You can specify files to be ignored when generating commit messages by adding them to your config file or via command line flags. Read more about ignoring files & extensions in the [wiki](https://github.com/gfargo/coco/wiki/Ignoring-Files-&-Extensions).
## Contribution
We welcome contributions! Check out our [CONTRIBUTING.md](CONTRIBUTING.md) for more information.