Name | minicline JSON |
Version |
0.1.3
JSON |
| download |
home_page | None |
Summary | Command-line interface for executing tasks using large language models, minimal version of Cline |
upload_time | 2025-03-28 12:42:39 |
maintainer | None |
docs_url | None |
author | Jeremy Magland |
requires_python | >=3.8 |
license | Apache-2.0 |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# minicline
Command-line and Python interface for performing software engineering tasks using large language models. It is based on [Cline](https://cline.bot/), but is simpler, uses fewer input tokens, has fewer capabilities, and does not depend on VSCode. It borrows prompts, logic, conventions, and formatting from Cline.
This package was created during the [Pre-COSYNE Brainhack](https://pre-cosyne-brainhack.github.io/hackathon2025/posts/about/), March 2025, Montreal.
The primary focus is automatic generation of scientific notebooks, targeting projects like [dandi-notebook-gen](https://github.com/magland/dandi-notebook-gen).
## Installation
```bash
pip install minicline
```
## Setup
The application requires the `OPENROUTER_API_KEY` environment variable to be set. You can set this variable by creating a `.env` file in the working directory with the following content:
```
OPENROUTER_API_KEY=your_api_key
```
## Usage
From command line:
```bash
# Provide instructions directly
minicline perform-task "your instructions here"
# Specify a model
minicline perform-task --model google/gemini-2.0-flash-001 "your instructions here"
# Use a file containing instructions
minicline perform-task -f /path/to/instructions.txt
# Run in automatic mode (no user input required except for executing commands that are deemed to require user approval)
minicline perform-task --auto "your instructions here"
# Automatically approve all commands that are deemed require user approval
minicline perform-task --auto --approve-all-commands "your instructions here"
```
From Python:
```python
from minicline import perform_task
instructions = '...'
# Default model (google/gemini-2.0-flash-001)
perform_task(instructions, cwd="/path/to/working/directory")
# Specify a different OpenRouter model
perform_task(instructions, cwd="/path/to/working/directory", model="...")
# Run in automatic mode (see above)
perform_task(instructions, cwd="/path/to/working/directory", auto=True)
# Automatically approve all commands (see above)
perform_task(instructions, cwd="/path/to/working/directory", auto=True, approve_all_commands=True)
```
## Working Directory
MiniCline performs all operations within a specified working directory. File paths and commands are interpreted relative to this directory. When using the CLI, the working directory defaults to the current directory. When using the Python API, specify the working directory using the `cwd` parameter.
## Automation Options
The CLI supports two automation flags that can streamline task execution:
* `--auto`: Enables automatic mode where no user input is required. The AI will proceed with all actions without asking for confirmation, except for commands that require approval (unless `--approve-all-commands` is also set).
* `--approve-all-commands`: Automatically approves all commands that would normally require manual approval. This includes potentially impactful operations like installing packages, modifying system files, or running network operations.
Use these options with caution, especially in production environments, as they bypass normal safety prompts and confirmations.
## Some notes about changes to the system prompt relative to Cline
In auto mode, don't provide instructions for ask_followup_question as it will be ignored.
Updated the "Tool Use Formatting" to be explicit about using the <thinking></thinking> tags because I found that some models didn't make use of that.
Removed all MCP functionality.
## License
This project is licensed under the Apache 2.0 License.
Raw data
{
"_id": null,
"home_page": null,
"name": "minicline",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": "Jeremy Magland",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/8e/de/4bd70dec90d6d5d62a4a814b5c040edc6b69f64fe63cdc3887fb31fe03aa/minicline-0.1.3.tar.gz",
"platform": null,
"description": "# minicline\n\nCommand-line and Python interface for performing software engineering tasks using large language models. It is based on [Cline](https://cline.bot/), but is simpler, uses fewer input tokens, has fewer capabilities, and does not depend on VSCode. It borrows prompts, logic, conventions, and formatting from Cline.\n\nThis package was created during the [Pre-COSYNE Brainhack](https://pre-cosyne-brainhack.github.io/hackathon2025/posts/about/), March 2025, Montreal.\n\nThe primary focus is automatic generation of scientific notebooks, targeting projects like [dandi-notebook-gen](https://github.com/magland/dandi-notebook-gen).\n\n## Installation\n\n```bash\npip install minicline\n```\n\n## Setup\n\nThe application requires the `OPENROUTER_API_KEY` environment variable to be set. You can set this variable by creating a `.env` file in the working directory with the following content:\n\n```\nOPENROUTER_API_KEY=your_api_key\n```\n\n## Usage\n\nFrom command line:\n```bash\n# Provide instructions directly\nminicline perform-task \"your instructions here\"\n\n# Specify a model\nminicline perform-task --model google/gemini-2.0-flash-001 \"your instructions here\"\n\n# Use a file containing instructions\nminicline perform-task -f /path/to/instructions.txt\n\n# Run in automatic mode (no user input required except for executing commands that are deemed to require user approval)\nminicline perform-task --auto \"your instructions here\"\n\n# Automatically approve all commands that are deemed require user approval\nminicline perform-task --auto --approve-all-commands \"your instructions here\"\n```\n\nFrom Python:\n```python\nfrom minicline import perform_task\n\ninstructions = '...'\n\n# Default model (google/gemini-2.0-flash-001)\nperform_task(instructions, cwd=\"/path/to/working/directory\")\n\n# Specify a different OpenRouter model\nperform_task(instructions, cwd=\"/path/to/working/directory\", model=\"...\")\n\n# Run in automatic mode (see above)\nperform_task(instructions, cwd=\"/path/to/working/directory\", auto=True)\n\n# Automatically approve all commands (see above)\nperform_task(instructions, cwd=\"/path/to/working/directory\", auto=True, approve_all_commands=True)\n```\n\n## Working Directory\n\nMiniCline performs all operations within a specified working directory. File paths and commands are interpreted relative to this directory. When using the CLI, the working directory defaults to the current directory. When using the Python API, specify the working directory using the `cwd` parameter.\n\n## Automation Options\n\nThe CLI supports two automation flags that can streamline task execution:\n\n* `--auto`: Enables automatic mode where no user input is required. The AI will proceed with all actions without asking for confirmation, except for commands that require approval (unless `--approve-all-commands` is also set).\n\n* `--approve-all-commands`: Automatically approves all commands that would normally require manual approval. This includes potentially impactful operations like installing packages, modifying system files, or running network operations.\n\nUse these options with caution, especially in production environments, as they bypass normal safety prompts and confirmations.\n\n## Some notes about changes to the system prompt relative to Cline\n\nIn auto mode, don't provide instructions for ask_followup_question as it will be ignored.\n\nUpdated the \"Tool Use Formatting\" to be explicit about using the <thinking></thinking> tags because I found that some models didn't make use of that.\n\nRemoved all MCP functionality.\n\n## License\n\nThis project is licensed under the Apache 2.0 License.\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Command-line interface for executing tasks using large language models, minimal version of Cline",
"version": "0.1.3",
"project_urls": {
"Repository": "https://github.com/magland/minicline"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c0b86c1944875ce32ed692b394e3243429a959b85c94d72b7c5a62e42dd1185e",
"md5": "883b06b55ef4c86ee49793ed8eda0ef7",
"sha256": "d2ec0f1dc608b66752932d12f5512749458f8cd727f0a70b56897fc64a6b4468"
},
"downloads": -1,
"filename": "minicline-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "883b06b55ef4c86ee49793ed8eda0ef7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 30988,
"upload_time": "2025-03-28T12:42:38",
"upload_time_iso_8601": "2025-03-28T12:42:38.203027Z",
"url": "https://files.pythonhosted.org/packages/c0/b8/6c1944875ce32ed692b394e3243429a959b85c94d72b7c5a62e42dd1185e/minicline-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8ede4bd70dec90d6d5d62a4a814b5c040edc6b69f64fe63cdc3887fb31fe03aa",
"md5": "98e4e232f7aa32197920939a9e254f86",
"sha256": "2783e76f58eaeb9ad0b0f2c4c4beaa3e8e322742871c2872573c8c3322585ba3"
},
"downloads": -1,
"filename": "minicline-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "98e4e232f7aa32197920939a9e254f86",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 24486,
"upload_time": "2025-03-28T12:42:39",
"upload_time_iso_8601": "2025-03-28T12:42:39.412477Z",
"url": "https://files.pythonhosted.org/packages/8e/de/4bd70dec90d6d5d62a4a814b5c040edc6b69f64fe63cdc3887fb31fe03aa/minicline-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-03-28 12:42:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "magland",
"github_project": "minicline",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "minicline"
}