Skip to main content

junes: the Jules CLI

Project description

Jules CLI

A command-line interface for the Jules REST API.

License: MIT Python 3.8+

Installation

Use Case Recommended Method
End Users Quick Install (One-Liner)
Contributors Manual Clone with uv
Without uv Manual Clone with pip

Quick Install (One-Liner) ⭐

curl -sSL https://raw.githubusercontent.com/fanioz/jules-cli/main/install.sh | bash

This will:

  • Install uv if not present
  • Clone the repository to ~/.jules-cli/jules-cli
  • Set up a virtual environment
  • Install the package
  • Create the jules command in ~/.local/bin

Note: Make sure ~/.local/bin is in your PATH.


Alternative Installation Methods

Manual Clone with uv (Recommended for Development)

# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Clone the repository
git clone https://github.com/fanioz/jules-cli.git
cd jules-cli

# Install in development mode
uv pip install -e .

# Or install with development dependencies
uv pip install -e ".[dev]"

# Create symlink to use globally
ln -sf "$(pwd)/jules-uv" ~/.local/bin/jules

Manual Clone with pip (Traditional)

# Clone the repository
git clone https://github.com/fanioz/jules-cli.git
cd jules-cli

# Install in development mode
pip install -e .

# Or install with development dependencies
pip install -e ".[dev]"

From PyPI (When Published)

# Using uv
uv pip install jules-cli

# Using pip
pip install jules-cli

Configuration

Initialize configuration

jules config init

This will create a configuration file at ~/.jules-cli/config.toml and prompt for your API key.

API Key

The API key can be provided in three ways (in order of priority):

  1. CLI option: jules --api-key YOUR_KEY sources list
  2. Environment variable: Export JULES_API_KEY=YOUR_KEY
  3. Config file: Set via jules config init

Usage

List sources

jules sources list
jules sources list --format json
jules sources list --format table

Create a session

jules sessions create <source-id>
jules sessions create <source-id> --format json

List sessions

jules sessions list
jules sessions list --status active

Get session details

jules sessions get <session-id>

Approve a plan

jules sessions approve <session-id>

List activities

jules activities list <session-id>

Send a message to the agent

jules agent send <session-id> "Your message here"
echo "Your message" | jules agent send <session-id>

Output Formats

All commands support three output formats:

  • plain (default): Human-readable text output
  • table: Tabular output using ASCII tables
  • json: Machine-readable JSON output

Verbose Mode

Enable verbose logging to see HTTP request details:

jules --verbose sources list

Development

Run tests

Using uv (recommended):

# Run all tests
uv run pytest

# Run with coverage
uv run pytest --cov=jules_cli --cov-report=html

# Run specific test file
uv run pytest tests/test_client.py

Using pytest directly:

# Run all tests
pytest

# Run with coverage
pytest --cov=jules_cli --cov-report=html

# Run specific test file
pytest tests/test_client.py

Property-based testing

Property tests use Hypothesis and run with minimum 100 iterations by default.

Requirements

  • Python 3.8 or higher

License

MIT

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

junes-1.0.2.tar.gz (28.1 kB view details)

Uploaded Source

Built Distribution

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

junes-1.0.2-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file junes-1.0.2.tar.gz.

File metadata

  • Download URL: junes-1.0.2.tar.gz
  • Upload date:
  • Size: 28.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for junes-1.0.2.tar.gz
Algorithm Hash digest
SHA256 fc236d20842e5332da76d006c07fd5d9305a02a08053fd6561b536779396c692
MD5 850a1787106a53ce99763c26a9231fff
BLAKE2b-256 43ce83f73d6701433624d84e6aa374a1ff1edf89a5ba79218927436a07a7ad3e

See more details on using hashes here.

File details

Details for the file junes-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: junes-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 13.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for junes-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 59589b9271499d51bdeefd630aa12e531dcd822eec393b715c8eb72ef1122adb
MD5 ce93c49cce52d539301be52dcbeb8e5a
BLAKE2b-256 498f244ab2cd0c6a5b5a0e09053b34e8f9a45d7449dec21c66229a7dbdd48e0d

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