Skip to main content

Your agentic CLI developer.

Project description

Sidekick (Beta)

Sidekick Demo

Your agentic CLI developer.

Overview

Sidekick is an agentic CLI-based AI tool inspired by Claude Code, Copilot, Windsurf and Cursor. It's meant to be an open source alternative to these tools, providing a similar experience but with the flexibility of using different LLM providers while keeping the agentic workflow.

Sidekick is currently in beta and under active development. I'd love your ideas and feedback.

Features

  • No vendor lock-in. Use whichever LLM provider you prefer.
  • Use /undo when AI breaks things.
  • JIT-style system prompt injection ensures Sidekick doesn't lose the plot.
  • Per-project guide. Adjust Sidekick's behavior to suit your needs.
  • CLI-first design. Ditch the clunky IDE.
  • Easily switch between models in the same session.
  • Cost and token tracking.
  • Web searching and fetching built-in.
  • Per command or per session confirmation skipping.

Roadmap

  • Tests 😅
  • More LLM providers, including Ollama
  • Plugin system (custom tools and agents)

Quick Start

Install Sidekick and Playwright:

pip install sidekick-cli
python -m playwright install

Startup Sidekick and configure LLM providers:

sidekick

Configuration

After initial setup, Sidekick saves a config file to ~/.config/sidekick.json. You can open and edit this file as needed. Future updates will make editing easier directly from within Sidekick.

MCP Support

Sidekick supports Model Context Protocol (MCP) servers. You can configure MCP servers in your ~/.config/sidekick.json file:

{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

MCP servers extend the capabilities of your AI assistant, allowing it to interact with additional tools and data sources. Learn more about MCP at modelcontextprotocol.io.

Available Commands

  • /help - Show available commands
  • /yolo - Toggle "yolo" mode (skip tool confirmations)
  • /clear - Clear message history
  • /compact - Summarize message history and clear old messages
  • /model - List available models
  • /model <num> - Switch to a specific model (by index)
  • /undo - Undo most recent changes
  • /dump - Show current message history (for debugging)
  • exit - Exit the application

Customization

Sidekick supports the use of a "guide". This is a SIDEKICK.md file in the project root that contains instructions for Sidekick. Helpful for specifying tech stack, project structure, development preferences etc.

Telemetry

Sidekick uses Sentry for error tracking and usage analytics. You can disable this by starting with the --no-telemetry flag.

sidekick --no-telemetry

Installation

Using pip

pip install sidekick-cli

For the best web search and fetching results, install Playwright:

python -m playwright install

From Source

  1. Clone the repository
  2. Install dependencies: pip install . (or pip install -e . for development)
  3. Install Playwright: python -m playwright install

Development

# Install development dependencies
make install

# Run linting
make lint

# Run tests
make test

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

sidekick_cli-0.3.0.tar.gz (28.6 kB view details)

Uploaded Source

Built Distribution

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

sidekick_cli-0.3.0-py3-none-any.whl (29.2 kB view details)

Uploaded Python 3

File details

Details for the file sidekick_cli-0.3.0.tar.gz.

File metadata

  • Download URL: sidekick_cli-0.3.0.tar.gz
  • Upload date:
  • Size: 28.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sidekick_cli-0.3.0.tar.gz
Algorithm Hash digest
SHA256 927fee4d46e58cb190f88c4e6769027333432c8a77205b4088df523580234773
MD5 9a7283e198f470d54cec2fa09f4ed991
BLAKE2b-256 2a2e1a67df2239f60b34811e2b8908024c74fba47912e6880aa5c9bcad8d66da

See more details on using hashes here.

File details

Details for the file sidekick_cli-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: sidekick_cli-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 29.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sidekick_cli-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f29c4081fd65f3be5c6d43e9d94676bf3f3899ea0bfa5d210c9eaebeea41fa9a
MD5 02860583fca94b140b553a052cb20995
BLAKE2b-256 d745a2b6959a8d5ae53880b32a4ac1c63bc13616627a7634613793cecde038cd

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