A fast, local-first project dependency tracking system.
README.md

syz #

A fast, local-first project dependency tracking system.

What is it? #

syz helps you track and monitor the dependencies used in your software projects. It consists of two parts:

  • syzd: The background server that continuously monitors and syncs dependency data.
  • syzctl: The command-line tool you use to query and manage your dependencies.

Getting Started #

1. Environment Setup #

You must set the following environment variables:

  • GITHUB_TOKEN: Your GitHub personal access token (required for GitHub ecosystem support).
  • SYZD_AUTH_TOKEN: A secret string used to authenticate clients to the server.

If you use direnv, you can simply create a .env file in the project root:

echo "GITHUB_TOKEN=your_github_token" > .env
echo "SYZD_AUTH_TOKEN=your_random_secret_string" >> .env

2. Running the Server #

Start the syzd background server in one terminal:

cargo run --bin syzd

3. Using syzctl #

Open another terminal to manage your projects via the CLI.

Add a new project:

# Syntax: github:<owner>/<repo>
cargo run --bin syzctl -- add github:owner/repo

Launch the Interactive TUI:

To browse your dependencies in a terminal user interface, run:

cargo run --bin syzctl
  • Navigation: Use the arrow keys to navigate the interface.
  • Help: Available hotkeys are displayed at the bottom of the screen.

Supported Ecosystems #

Currently, syz can track dependencies for:

  • Cargo (Rust)
  • NPM (JavaScript / TypeScript)
  • GitHub Actions