# Rokovo CLI
<p align="center">
<img src="assets/logo.png" alt="Rokovo CLI Logo" width="300">
</p>
The Rokovo CLI brings a simple AI agent on your command line to help you with documenting pure source codes for both developers and end users.
## Quick Start
You can install the CLI using PIP:
```sh
pip install rokovo
```
### Usage
#### Config files and initializing
Each time you call the Rokoco CLI, you need to provide some basic information context file path and model configs using proper flags defined in `rokovo --help`. Other way is to define a `rokovo.toml` for configs, `rokovo_context.md` for agent context and a `.rokovoignore` for ignored files (default fallback is `.gitignore`). You can use `init` command to get the basic template:
```sh
rokovo init --root-dir .
```
#### Context file
Context file is a markdown file that contains a high level description of your project. This will help the AI agent to understand the project better and generate more accurate documentation. A basic model of writing a context file is as follows:
1. Project name and a brief description.
2. Project structure and important files.
3. Important keywords and terminologies.
4. Usage specific context, for example if you want to to auto extract FAQs: set of questions as example to help agent with finding questions and answers.
An example context file can be found on [examples_context.md](./src/config/rokovo_context.md).
#### FAQ extraction
To extract FAQs from your codebase, run the following command:
```sh
rokovo --context-dir ./context.md --root-dir ./path/to/project --api-key <your-openrouter-api-key> --re-index true # if you have changed your code base use --re-index
```
>[!NOTE]
> If you already have a `rokovo.toml` in `--root-dir`, you don't need to provide those flags. For API key you can use `ROKOVO_API_KEY` environment variable.
#### Interactive mode
You can use:
```sh
rokovo interactive <flags (if config file is not exist)>
```
To run a REPL that let you to chat with the agent and get answers over your codebase in simple user language.
## LLM
We use the OpenRouter API as default and you can use `--api-key` flag to pass your API key. If you are using another provider feel free to pass ``--base-url` and `--model` flags to configure your provider.
Any provider compatible with OpenAI API is accepted and you can use local models too.
## License
MIT License - see [LICENSE](./LICENSE).
Raw data
{
"_id": null,
"home_page": null,
"name": "rokovo",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "agents, ai, ai-agents, cli, langchain, rokovo",
"author": null,
"author_email": "Rokovo <info@rokovo.io>",
"download_url": "https://files.pythonhosted.org/packages/2a/59/02a09ef80b5fec558d8b31b782d556f6b200b4a05349293c75a743cbb73e/rokovo-0.2.2.tar.gz",
"platform": null,
"description": "# Rokovo CLI\n\n<p align=\"center\">\n <img src=\"assets/logo.png\" alt=\"Rokovo CLI Logo\" width=\"300\">\n</p>\n\nThe Rokovo CLI brings a simple AI agent on your command line to help you with documenting pure source codes for both developers and end users.\n\n## Quick Start\n\nYou can install the CLI using PIP:\n\n```sh\npip install rokovo\n```\n\n### Usage\n\n#### Config files and initializing\n\nEach time you call the Rokoco CLI, you need to provide some basic information context file path and model configs using proper flags defined in `rokovo --help`. Other way is to define a `rokovo.toml` for configs, `rokovo_context.md` for agent context and a `.rokovoignore` for ignored files (default fallback is `.gitignore`). You can use `init` command to get the basic template:\n\n```sh\nrokovo init --root-dir .\n```\n\n#### Context file\n\nContext file is a markdown file that contains a high level description of your project. This will help the AI agent to understand the project better and generate more accurate documentation. A basic model of writing a context file is as follows:\n\n1. Project name and a brief description.\n2. Project structure and important files.\n3. Important keywords and terminologies.\n4. Usage specific context, for example if you want to to auto extract FAQs: set of questions as example to help agent with finding questions and answers.\n\nAn example context file can be found on [examples_context.md](./src/config/rokovo_context.md).\n\n#### FAQ extraction\n\nTo extract FAQs from your codebase, run the following command:\n\n```sh\nrokovo --context-dir ./context.md --root-dir ./path/to/project --api-key <your-openrouter-api-key> --re-index true # if you have changed your code base use --re-index\n```\n\n>[!NOTE]\n> If you already have a `rokovo.toml` in `--root-dir`, you don't need to provide those flags. For API key you can use `ROKOVO_API_KEY` environment variable. \n\n\n#### Interactive mode\n\nYou can use:\n\n```sh\nrokovo interactive <flags (if config file is not exist)>\n```\n\nTo run a REPL that let you to chat with the agent and get answers over your codebase in simple user language.\n\n## LLM\n\nWe use the OpenRouter API as default and you can use `--api-key` flag to pass your API key. If you are using another provider feel free to pass ``--base-url` and `--model` flags to configure your provider.\n\nAny provider compatible with OpenAI API is accepted and you can use local models too.\n\n## License\n\nMIT License - see [LICENSE](./LICENSE).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Rokovo CLI",
"version": "0.2.2",
"project_urls": {
"Homepage": "https://rokovo.io",
"Issues": "https://github.com/dezh-tech/rokovo-cli/issues",
"Repository": "https://github.com/dezh-tech/rokovo-cli"
},
"split_keywords": [
"agents",
" ai",
" ai-agents",
" cli",
" langchain",
" rokovo"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "0b84ee3f916fd5574fce4ef17750fbe8f0b7b55fa0529874944496f62ffb3b32",
"md5": "773c1430cdbfe8f0d0389b904a12cc1a",
"sha256": "4baee93b218f4b17a1b1860dcd1bab362fa6b894e0e4e516376bf334c8e65200"
},
"downloads": -1,
"filename": "rokovo-0.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "773c1430cdbfe8f0d0389b904a12cc1a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 12227,
"upload_time": "2025-08-21T12:23:52",
"upload_time_iso_8601": "2025-08-21T12:23:52.987431Z",
"url": "https://files.pythonhosted.org/packages/0b/84/ee3f916fd5574fce4ef17750fbe8f0b7b55fa0529874944496f62ffb3b32/rokovo-0.2.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2a5902a09ef80b5fec558d8b31b782d556f6b200b4a05349293c75a743cbb73e",
"md5": "aad24e3c56006591e8529457f1defec3",
"sha256": "09bdc40e20386fdd24a587a26dbf8ab15e0370746aa246a464ce28bcf1830027"
},
"downloads": -1,
"filename": "rokovo-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "aad24e3c56006591e8529457f1defec3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 87939,
"upload_time": "2025-08-21T12:23:54",
"upload_time_iso_8601": "2025-08-21T12:23:54.230060Z",
"url": "https://files.pythonhosted.org/packages/2a/59/02a09ef80b5fec558d8b31b782d556f6b200b4a05349293c75a743cbb73e/rokovo-0.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-21 12:23:54",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dezh-tech",
"github_project": "rokovo-cli",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "rokovo"
}