Skip to main content

Command-line interface for executing tasks using large language models, minimal version of Cline

Project description

minicline

Command-line and Python interface for performing software engineering tasks using large language models. It is based on Cline, 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.

The primary focus is automatic generation of scientific notebooks, targeting projects like dandi-notebook-gen.

Installation

# clone this repo, then
cd minicline
pip install .

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:

# 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:

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.

## License

This project is licensed under the Apache 2.0 License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

minicline-0.1.0.tar.gz (23.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

minicline-0.1.0-py3-none-any.whl (30.2 kB view details)

Uploaded Python 3

File details

Details for the file minicline-0.1.0.tar.gz.

File metadata

  • Download URL: minicline-0.1.0.tar.gz
  • Upload date:
  • Size: 23.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for minicline-0.1.0.tar.gz
Algorithm Hash digest
SHA256 309fc282962b20702d3148495c0931e946b855ea49549420e9304b9eb282e59b
MD5 8507d531baf7d998467bcfe7f93ad1ba
BLAKE2b-256 6da8e58524457c31f9ef7aae620658b3d2a328cf64477f58af1e3993c98bcd56

See more details on using hashes here.

File details

Details for the file minicline-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: minicline-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 30.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for minicline-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 df64c2fea5dbe35a606624ff79205049c60c1f0c45b8548575d055775fdbf1ab
MD5 a9560b00fadb110551e5da7bf9f584d2
BLAKE2b-256 b22ba3c45db58ba31bcc648288c920e402168d0a2457b57c08667d7b9204d7d2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page