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.1.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.1-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: junes-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 edee7e3ef457f328d472f72d6099395a2abc928f9de693d861e085f6c632ee98
MD5 36f361264a4ee48c74023cc536973918
BLAKE2b-256 e258d7fd35f13531c0c46ca4b87508d65a7eeac78ca39695390d0a08c93bbd77

See more details on using hashes here.

File details

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

File metadata

  • Download URL: junes-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e23f628f07e932c4cbe090d8d98095574cef6ae7f47bb994b3a1feaeda447fec
MD5 2046d7474d74d44393a4df1d5618fb33
BLAKE2b-256 a1765a27cbf3c6928fc06659ff519eb3ca5471308f150f7a1816e60b0e785ea8

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