Skip to main content

Editor-based content approval, git-commit style

Project description

scissors

crates.io PyPI License: MIT OR Apache-2.0

scissors is a Unix CLI primitive for editor-based content approval, modelled on git's commit.cleanup=scissors convention. It opens content in your editor and returns the approved bytes on stdout.

What it will do (v0.1.0)

# Approve a PR body before submission
gh pr view 42 --json body --jq .body | scissors > approved.md

# Edit and confirm a draft, with context for multi-draft sessions
echo "$DRAFT" | scissors --context "Issue #26 reply" > /tmp/out
  • Opens stdin in your $VISUAL / $EDITOR (or vi as fallback)
  • Strips everything below the scissors line (# ----- >8 -----)
  • Exit code signals status: 0 approved, 1 aborted, 2 error
  • Returns approved content on stdout — composable in pipelines

Roadmap

  • 0.0.1 (this release) — name reservation, working --help and --version
  • 0.1.0 (next) — full implementation: stdin -> editor -> stdout, exit codes for status, --context flag
  • Future--json flag for structured output, additional editor integrations

Install (once 0.1.0 ships)

# Via PyPI
pip install scissors

# Via uv
uv tool install scissors

# Via Cargo
cargo install scissors

# Via Homebrew (planned)
brew install ggueret/scissors/scissors

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

scissors-0.0.1.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

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

scissors-0.0.1-py3-none-macosx_10_12_x86_64.whl (321.0 kB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file scissors-0.0.1.tar.gz.

File metadata

  • Download URL: scissors-0.0.1.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.13.3

File hashes

Hashes for scissors-0.0.1.tar.gz
Algorithm Hash digest
SHA256 abdc00d6ebfdf6f46961e96688ad4a7cce9fdae78a01671bda43ee682ce4dc1e
MD5 749db281fd3bb64ea0e3b6575ce27af7
BLAKE2b-256 cae810fd1c3702a29be9a9d3eb310967eb4fe4293736bda6eb068cd6410bba21

See more details on using hashes here.

File details

Details for the file scissors-0.0.1-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for scissors-0.0.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b5b17adfd021a5e74e8eb0ef3f097a7ddd0384509cf805c1da7b731985e7ed33
MD5 314dc8c12da94f07d5dde4b99d6139fd
BLAKE2b-256 a7ae1bf64ff6dd8b3f83bb7bbe9e79422702058ac66905112c0fe4c5857c0a9b

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