|
1 |
| -# octo |
| 1 | +# Octo: AI-Powered Git Companion |
2 | 2 | <img src="media/logo-no-background.png">
|
3 |
| -[](https://choosealicense.com/licenses/mit/) |
4 |
| -<br> |
5 |
| -octo is AI agent that works on the cli with native commands of git like **status**, `checkout`, `init` and a additional command `tell` which allows user to interact with the agent, and QA any GitHub repository. |
| 3 | +Octo seamlessly blends the power of artificial intelligence with the familiarity of Git, empowering you to interact with your repositories in a whole new way. Whether you're a seasoned developer or just getting started with Git, Octo offers innovative features to streamline your workflow and enhance your productivity. |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | +## Installation |
| 8 | +Create a virtual environment with python venv or conda |
| 9 | + |
| 10 | +Install octo with pip |
| 11 | + |
| 12 | +```bash |
| 13 | + pip install -r requirements.txt |
| 14 | +``` |
| 15 | +```bash |
| 16 | + pip install . |
| 17 | +``` |
| 18 | +This will successfully install octo package. |
| 19 | + |
| 20 | + |
| 21 | +**Environment variables** |
| 22 | + |
| 23 | +Firstly you need to have `OPENAI_API_KEY` and `GITHUB_TOKEN` and set the environment variables `OPENIAI_API_KEY` and `GITHUB_TOKEN` respectively. |
| 24 | + |
| 25 | +```bash |
| 26 | +$ echo "export OPENAI_API_KEY=<KEY>" >> ~/.bashrc |
| 27 | +``` |
| 28 | +```bash |
| 29 | +$ echo "export GITHUB_TOKEN=<TOKEN>" >> ~/.bashrc |
| 30 | +``` |
| 31 | + |
| 32 | +## Demo |
| 33 | + |
| 34 | +**Commands** |
| 35 | + |
| 36 | +For each command to work *octo* is prefix. |
| 37 | + |
| 38 | +- --help: Information about usage of octo |
| 39 | +- --version: to display the version of octo |
| 40 | +- start: To establish a connection with MindsDB server |
| 41 | +- init: Initialize a repo |
| 42 | +- status: to check the status of octo |
| 43 | +- tell: Asking question realted to the repo |
| 44 | +- checkout: To change the working repo |
| 45 | +- drop: To remove a model |
| 46 | +- list: To display all the models present |
| 47 | +- stop: to disconnect the MindsDB server |
| 48 | + |
| 49 | + |
| 50 | + |
| 51 | +## Run Locally |
| 52 | + |
| 53 | +Clone the project |
| 54 | + |
| 55 | +```bash |
| 56 | + git clone https://github.com/pranavvp16/octo.git |
| 57 | +``` |
| 58 | + |
| 59 | +Go to the project directory |
| 60 | + |
| 61 | +```bash |
| 62 | + cd octo |
| 63 | +``` |
| 64 | + |
| 65 | +Install dependencies |
| 66 | + |
| 67 | +```bash |
| 68 | + pip install -r requirements.txt |
| 69 | +``` |
| 70 | +```bash |
| 71 | + pip install git+https://github.com/pranavvp16/mindsdb.git@llama_index |
| 72 | +``` |
| 73 | + |
| 74 | +```bash |
| 75 | + pip install . |
| 76 | +``` |
| 77 | + |
| 78 | + |
| 79 | +**Start the Companion** |
| 80 | + |
| 81 | +`start` command to start the mindsdb server locally |
| 82 | +```bash |
| 83 | + octo start |
| 84 | +``` |
| 85 | +`init` command to initialize the repo |
| 86 | +```bash |
| 87 | + octo init <GitHubUsername>/<repo> <branch_name> |
| 88 | +``` |
| 89 | +`status` command to check the status of the octo |
| 90 | +```bash |
| 91 | + octo status |
| 92 | +``` |
| 93 | +`tell` command for asking questions about the repo |
| 94 | +```bash |
| 95 | + octo tell "<Your Question>" |
| 96 | +``` |
| 97 | +`checkout` command to change the working repo |
| 98 | +```bash |
| 99 | + octo checkout <GitHubUsername>/<repo> |
| 100 | +``` |
| 101 | +`drop` command to remove a model |
| 102 | +```bash |
| 103 | + octo drop <GitHubUsername>/<repo> |
| 104 | +``` |
| 105 | +`list` command to display all the models initialized |
| 106 | +```bash |
| 107 | + octo list |
| 108 | +``` |
| 109 | +`stop` command to terminate the mindsdb server |
| 110 | +```bash |
| 111 | + octo stop |
| 112 | +``` |
| 113 | +## Tech Stack |
| 114 | + |
| 115 | +Python |
| 116 | + |
| 117 | +MindsDB |
| 118 | + |
| 119 | + |
| 120 | + |
| 121 | + |
| 122 | + |
| 123 | +## Authors |
| 124 | + |
| 125 | +- [Pranav Prajapati](https://github.com/pranavvp16) |
| 126 | +- [Vedant Agrawal](https://github.com/vedantag17) |
| 127 | + |
| 128 | + |
6 | 129 |
|
7 | 130 | ### License
|
8 | 131 | octo is being licensed under the [MIT License](https://github.com/pranavvp16/octo/blob/master/LICENSE).
|
9 | 132 |
|
10 | 133 | <img src="media/badge-dark.svg#gh-dark-mode-only" width=350 height=90>
|
11 |
| -<img src="media/badge-light.svg#gh-light-mode-only" width=350 height=90> |
| 134 | +<img src="media/badge-light.svg#gh-light-mode-only" width=350 height=90> |
0 commit comments