Skip to content

Repository files navigation

drb99

DRB99 - DISTRIBUTE PAINLESSLY!

Release Latest Release Go Reference License


drb99 makes releasing less painful. Pick your channels, hit the API, get your files.

Distribution channels

Channel Generated files
npm package.json · install.js · index.js · README.md · .gitignore
GitHub Release .goreleaser.yml · release.yml
AUR PKGBUILD · aur-release.yml
Nix Flake flake.nix
Docker Dockerfile

Architecture

The user selects distribution channels in the web UI, which sends a POST /generate request to the API with the required fields. The API returns file contents as JSON, ready to be written directly to disk.

flowchart LR
    User -->|selects channels| UI[Web UI]
    UI -->|POST /generate| API[drb99 API]
    API -->|JSON response| Files[Generated files]
    Files --> npm & GitHub & AUR & Nix & Docker
Loading

Example request

curl -s -X POST "http://localhost:8088/api/v1/generate" \
  -H 'Content-Type: application/json' \
  -d '{
    "repo_url": "https://github.com/h3yng/drb99",
    "binary_name": "drb99",
    "runtime_image": "golang:latest",
    "platforms": ["linux-amd64", "windows-amd64"],
    "features": {
      "npm_wrapper": false,
      "goreleaser": false,
      "github_actions": false,
      "docker_container": true
    }
  }'

The response is a JSON object with each requested file's path and contents, ready to write to disk.

Web UI

A hosted UI is available here.

drb99 web UI

API

The API is publicly accessible but not yet stable, breaking changes are ongoing. Full API documentation will be published once the interface settles. Until then, using the web UI is recommended.

Future UPdate

  • More channels
  • More configuration options per channel
  • Multi-language support beyond Go

About

Distribute your code/binaries painlessly! via multiple distribution channels.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages