Skip to content

h3yng/drb99

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

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages