Skip to main content

The fastest CI/CD system for agentic engineering.

Project description

Verploy

PyPI version Python versions License Coverage

Verploy is an opinionated Claude Code orchestration tool aiming to maximize developer productivity. Verploy treats manual verification, such as code review, as the primary bottleneck of development.

Quickstart

"Claude, set up https://github.com/Peter-Lavigne/verploy for my project, and explain how to use it."

Features

Verploy allows defining deploy-gating and fine-grained manual checks on a per-project basis. Manual checks are more effective when developers commit more working memory to them, so Verploy aims to minimize the number of agents running in parallel by making the CI/CD process as fast as possible.

To that end, additional features include:

  • Everything is local-first to minimize latency compared to remote agents and CI/CD systems
  • Multi-agent support, so the developer is never waiting for an agent to finish
  • A fast-forward-only workflow prevents silent merge conflicts
  • Worktree support enables agents to work independently
  • Works with Docker to sandbox agent execution and isolate deployment credentials

Installation and setup

Installation

Verploy is available as verploy on PyPI.

Because Verploy uses other tools you have installed, it's recommended to install it per-project instead of globally:

uv add --dev verploy

Stop hook

Verploy expects changes to be committed and worktrees to be rebased onto main before it runs. Add verploy-hook as a Claude Code Stop hook to enforce this automatically.

.claude/settings.json:

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run verploy-hook",
            "timeout": 600
          }
        ]
      }
    ]
  }
}

The hook checks that there are no uncommitted changes, the branch is rebased onto main (in worktrees), and runs the verify script if one exists.

Scripts

Add a .verploy/ directory to your project with any of these executable scripts:

  • verify (optional) -- runs automated quality checks on Stop (e.g. linting, type checking, tests)
  • manual -- runs manual checks (e.g. human review, expensive tests)
  • deploy -- runs after pushing (e.g. publishing to PyPI)

Example .verploy/ scripts

.verploy/verify:

#!/bin/bash
set -euo pipefail

uv run ruff format .
uv run ruff check --fix .
uv run pyright
uv run pytest --cov --cov-fail-under=100

.verploy/deploy:

#!/bin/bash
set -euo pipefail

uv build --no-sources
uv publish

.verploy/manual:

#!/bin/sh
read -p "Review the code. Is it acceptable? (y/n) " answer
[ "$answer" = "y" ]

Usage

uv run verploy

License

Licensed under the Apache License 2.0. See 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

verploy-0.0.23.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

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

verploy-0.0.23-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file verploy-0.0.23.tar.gz.

File metadata

  • Download URL: verploy-0.0.23.tar.gz
  • Upload date:
  • Size: 8.6 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":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for verploy-0.0.23.tar.gz
Algorithm Hash digest
SHA256 5485f12aa9974c3613e77c1e62446c2a25125838a2de623aeb904b9a88b0c58c
MD5 319efd9a8fdf1e7351d17108d3ce57b1
BLAKE2b-256 22414f9acd8fabce8ffbb7441d2060cac9ed0b66a511f704fa2da891fc99bb41

See more details on using hashes here.

File details

Details for the file verploy-0.0.23-py3-none-any.whl.

File metadata

  • Download URL: verploy-0.0.23-py3-none-any.whl
  • Upload date:
  • Size: 10.0 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":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for verploy-0.0.23-py3-none-any.whl
Algorithm Hash digest
SHA256 649d550b0790dbb8a190856763fbb1aabe7b22e103a890857f4fd3eda2303050
MD5 9132cb9e58796d63a0651e4df52f0a53
BLAKE2b-256 11d25254525af2cdb92448875216baf39bea1d6b52473d40877071d59601ad77

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