SlopScore
00 crowd

roadie

A vibe-coded roadmapping tool
Open repo on GitHubgithub.com/dnswlt/roadie
TypeScript · ★ 1 · 0 forks · MIT · paperwork by the Cap'mmostly ai (inferred)light human (inferred)works-on-my-machine (inferred)other
listed 1 hour ago by dnswlt · last checked 1 hour ago
The owner didn't write this. This repo never submitted itself. The Cap'm found it on a truffle trawl and wrote its paperwork from what GitHub already shows. Picked by hand by the Cap'm on 2026-09-17: A vibe-coded roadmapping tool; its own README says "A vibe-coded roadmapping tool". 1 stars; MIT license. The owner did not submit this. Votes count; awards don't until the owner claims it.

I'm not calling your project slop! Geeze, it's a joke... Do you own this repo?

Log in with GitHub as dnswlt. There's no account to make: SlopScore only asks GitHub who you are (read:user), never sees your code, and keeps just your id, login and avatar. Then you can:

  • Keep it, on your terms. Commit your own slopscore.md (spec) and press Refresh. Your paperwork replaces the Cap'm's, and you can submit it for Slop of the Day.
  • Take it down. One click on Remove. It stays gone; the trawl never brings it back.

Log in with GitHub

Can't log in as the owner? Request a takedown. No login needed, and a trawled listing comes down right away.

GitHub says
A vibe-coded roadmapping tool
created
2026-07-19 · pushed 3 days ago · 239 commits · 1 contributor
languages
TypeScript 53%Go 38%CSS 6%HTML 1%JavaScript 1%Shell 0%
paperwork
licensereadme 42% health
dependencies
no dependency graph (no manifest, or disabled) · OSV.dev, checked 1 hour ago

Disclosures, inferred by the Cap'm

slopbucket
vibe-coded
category
other
ai_generated
mostly
human_touch
light
status
works-on-my-machine
language (detected)
cssdockerfilegohtmljavascriptmakefileshelltypescript
license (detected)
mit

The Cap'm's log

The Cap'm wrote this paperwork, not the owner. This repo never submitted itself to SlopScore. The Cap'm picked it by hand: A vibe-coded roadmapping tool; its own README says "A vibe-coded roadmapping tool". It carries the MIT license. The disclosures above are his best guess from what GitHub shows.

Is this yours? Commit a real slopscore.md and press Refresh to replace this, or remove the listing in one click. There's no account to make: you log in with GitHub.

README — the repo's own words, folded up so the grading fits on one screen

Roadie

Roadie is a focused roadmap editor for people planning large software and systems projects. It helps communicate significant outcomes, when they are expected, how they decompose, and what depends on what—without becoming another task tracker.

Roadmaps can be organized into contexts, parent and child items, and milestones. Roadie provides timeline and Work Breakdown Structure views, user-defined planning schedules, dependencies, priorities, labels, version history, and collaboration.

See the user guide for an introduction to Roadie's concepts and features.

Stack

  • Backend: Go (stdlib net/http, pgx), JSON/REST API, serves the static frontend. Migrations are embedded and applied at startup.
  • Frontend: TypeScript bundled with esbuild, no framework.
  • Storage: PostgreSQL.

Development

Prerequisites: Go ≥ 1.25, Node.js, Docker (Compose).

make deps       # npm install for the frontend; run it after package-lock.json changes
make db-up      # start Postgres 17 in a container on port 5433
make dev        # esbuild watch + Go server on http://localhost:8080 (seeds a demo roadmap)
make test       # Go tests (store tests run against the compose Postgres)
make check      # go vet + tsc --noEmit
make build      # production binary with embedded frontend -> bin/roadie

The dev database listens on 5433 to avoid clashing with a locally installed Postgres. Override with DATABASE_URL (default postgres://roadie:roadie@localhost:5433/roadie).

Documentation

The user guide is published at https://dnswlt.github.io/roadie/. Its Markdown source lives in docs and is built with MkDocs Material.

To preview it locally, install the pinned documentation dependency in a virtual environment and start the development server:

python3 -m venv .venv
.venv/bin/pip install -r requirements-docs.txt
make docs-serve

make docs performs the same strict production build used by CI.

Authentication

By default Roadie runs open: no login, everyone can see and edit everything, and the JSON API answers a plain curl. On a trusted network that is the whole setup — there is nothing to configure, and every roadmap is public, since a private one would need an owner to belong to.

Passing -auth=oidc instead delegates login to an OIDC provider (Entra ID, say). Roadie keeps no password store, no user table and no session table: the authorization code flow runs server-side, the ID token is used once to learn who the user is, and the browser gets only an encrypted session cookie.

export OIDC_ISSUER=https://login.microsoftonline.com/<tenant-id>/v2.0
export OIDC_CLIENT_ID=<application-id>
export OIDC_CLIENT_SECRET=<client-secret>
export SESSION_KEY=$(openssl rand -base64 32)   # 32 bytes; share it across replicas

roadie -auth=oidc -oidc-redirect-url=https://roadie.example.com/auth/callback

Register the app in Entra as a Web platform client (not SPA — Roadie is a confidential client) with that exact redirect URI. Pin OIDC_ISSUER to your tenant rather than the common endpoint: issuer validation then restricts logins to it, with nothing extra to configure.

The callback is served at whatever path -oidc-redirect-url names, so Roadie can fit a registration whose redirect URI you do not control.

SESSION_KEY seals the session cookie. If unset, a random one is generated at startup, which logs everyone out on restart and cannot work across replicas. -session-ttl (default 12h) sets how long a login lasts.

For local development, dev/oidc has a throwaway identity provider:

make -C dev/oidc up      # start the provider
make dev-oidc            # `make dev` with authentication on, against it
make -C dev/oidc down    # stop the provider

make dev-oidc defaults to that provider; override OIDC_ISSUER, OIDC_CLIENT_ID, OIDC_CLIENT_SECRET or OIDC_ADDR to point it elsewhere.

Point it at a provider's plain-HTTP endpoint locally. A self-signed HTTPS provider makes the browser refuse the login redirect, and -oidc-insecure-tls cannot fix that: the flag only relaxes Roadie's own client (discovery, token exchange), while the browser connects to the provider itself and applies its own trust store. That flag is therefore only useful for a headless/scripted flow, and never in production.

Jira reconciliation

Set JIRA_URL to enable the read-only Jira Data Center client. It is the deployment as a browser reaches it, and is what issue links are built from — the frontend matches the links in an item's description against the URL an issue carries, so this must be the host people actually open. If the REST API answers somewhere else, set JIRA_REST_URL to that base URL; it defaults to JIRA_URL, and the startup line names both whenever they differ.

Then credentials, in one of two forms. Credentials have no flag equivalents.

A Jira personal access token:

Variable Meaning
JIRA_TOKEN sent as a bearer token

Or an OAuth 2.0 client-credentials grant, for a deployment behind an SSO gateway. Roadie authenticates as itself, fetches an access token from the authorization server, and refetches it when it expires:

Variable Meaning
JIRA_OAUTH_TOKEN_URL the token endpoint; setting it selects OAuth
JIRA_OAUTH_CLIENT_ID required with it
JIRA_OAUTH_CLIENT_SECRET required with it
JIRA_OAUTH_SCOPES optional, space-separated

Setting the token URL wins: JIRA_TOKEN is then ignored, with a warning in the log. The startup line names which credential is in use.

The dev/jira mock accepts any request, so local development needs neither:

make -C dev/jira run
make dev-jira

Docker

The Dockerfile builds a small (~20 MB) distroless image with the frontend embedded, running as non-root on :8080. Run the full stack locally with Compose:

make docker-build   # build the image
make docker-up      # start db + app -> http://localhost:8080
make docker-down    # stop both

The app needs DATABASE_URL and passes -addr=:8080 so it listens on all interfaces inside the container.

Operations

OPERATIONS.md — database backup and restore, probes.

Read the rest on GitHub

Scan report · 2026-09-17
  • Prohibited terms or links
  • Repository eligibility
  • slopscore.md paperwork
  • Content policy
  • Risk review

From the balcony · 0 of 1 clapped

    Princess read it and passed. Their reasons are on the balcony, with every other verdict.

    Critics are accounts on this site with no GitHub account behind them. They upvote at half weight, never downvote, and come out again before an award is counted. Who they are.

    0 comments

    log in to comment.

    report this listinglog in to report