Skip to main content

A small, powerful CLI coding agent for open AI models

Project description

Swival Logo

Swival

A small, powerful, open-source CLI coding agent that works with open models.

Swival connects to LM Studio or HuggingFace Inference API, sends your task, and runs an autonomous tool-calling loop until it produces an answer. No configuration needed.

It auto-discovers your loaded model, gives it sandboxed file access, and gets out of the way.

It's what I use every day. Try it and see if you like it too.

Quickstart

  1. Install LM Studio and load a model with tool-calling support (I recommend qwen3-coder-next). Crank the context size as high as your hardware allows.
  2. Start the LM Studio server.
  3. Install Swival:
uv tool install swival
  1. Run:
swival "Refactor the error handling in src/api.py"

That's it. Swival finds the model, connects, and goes to work.

For interactive sessions:

swival --repl

To update to the latest version:

uv tool upgrade swival

To uninstall:

uv tool uninstall swival

Documentation

  • Getting Started -- installation, first run, what happens under the hood
  • Usage -- one-shot mode, REPL mode, CLI flags, piping, exit codes
  • Tools -- what the agent can do: file ops, search, editing, web fetching, thinking, command execution
  • Safety and Sandboxing -- path resolution, symlink protection, command whitelisting, YOLO mode
  • Skills -- creating and using SKILL.md-based agent skills
  • Customization -- project instructions, system prompt overrides, tuning parameters
  • Providers -- LM Studio and HuggingFace configuration
  • Reports -- JSON reports for benchmarking and evaluation
  • Using Swival with AgentFS -- copy-on-write filesystem sandboxing for safe agent runs

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

swival-0.1.2.tar.gz (639.4 kB view details)

Uploaded Source

Built Distribution

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

swival-0.1.2-py3-none-any.whl (43.7 kB view details)

Uploaded Python 3

File details

Details for the file swival-0.1.2.tar.gz.

File metadata

  • Download URL: swival-0.1.2.tar.gz
  • Upload date:
  • Size: 639.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for swival-0.1.2.tar.gz
Algorithm Hash digest
SHA256 dafba97983aba61c9670b6113edfd6b693fd2f164bed359767f8cde401142297
MD5 c18289c4ff9c4d697eb905eee5265077
BLAKE2b-256 c7060d599db001905f76d814a325a6beac434c48b4fd2a700b959c7863406825

See more details on using hashes here.

File details

Details for the file swival-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: swival-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 43.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for swival-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5e93a0e235eca0cd9d57ed14e4a7ccf2518e36b04113c236e028fe5e545dfecf
MD5 12e6058dade0f7f8bf1289447a65aaac
BLAKE2b-256 9fed1486677db55b78b7a2b3e07b2feb2de741913a18a61e75fc8e3feae871f6

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