Skip to content

Latest commit

 

History

History
75 lines (53 loc) · 2.05 KB

File metadata and controls

75 lines (53 loc) · 2.05 KB

Align

Align scans a monorepo and detects structural or configuration misalignment across projects.

Define rules in a single align.toml at the repository root. Each rule targets directories via glob patterns and checks for file presence, file contents, or structured fields inside JSON, YAML, and TOML files.

Install

Download a pre-built binary from Releases:

# Linux / macOS
curl -fsSL https://github.com/skooch/align-internal/releases/latest/download/align-$(uname -m)-$(uname -s | tr A-Z a-z).tar.gz | tar xz
sudo mv align /usr/local/bin/

Or build from source (requires Zig 0.15.2+):

zig build -Doptimize=ReleaseSafe

Pre-built binaries are available for:

  • Linux (x86_64, aarch64) -- static musl binaries
  • macOS (x86_64, aarch64)
  • Windows (x86_64, aarch64)

Quick Start

  1. Install the binary (see above).

  2. Generate a starter config:

    align init
    

    This creates align.toml with commented-out examples. Edit it to add your rules (see Configuration).

  3. Run:

    align
    

    Exit code 0 means all rules passed. Exit code 1 means at least one rule failed.

CLI Options

align [COMMAND] [OPTIONS]

Commands:
  init                   Generate a starter align.toml

Options:
  -c, --config <PATH>    Config file path (default: align.toml)
  -f, --format <FORMAT>  Output format: text, json (default: text)
  -q, --quiet            Only show failures and summary
  -V, --version          Show version
  -h, --help             Show this help message

Output

PASS  must-have-package-json  services/api  package.json exists
FAIL  must-have-engines       services/auth package.json missing field "engines"

Results: 5 passed, 1 failed, 6 total

Further Reading