rewelo

io.github.sebsPublished by GitHub account sebsv0.7.3Updated Oct 24, 2026

Prioritise a backlog with the relative weight method: score, rank, simulate and plan tickets

Overview

AI-generated overview

Local MCP server for Rewelo, a relative-weight backlog prioritization tool that lets an assistant manage projects, tickets, tags and priority calculations.

What you can do
  • Create, list, update, upsert and delete projects and tickets, with revision history and project diffs
  • Score tickets on benefit, penalty, estimate and risk, and compute relative weights and weighted priority
  • Create, assign, remove, rename and list prefix:value tags, with an audit log of tag changes
  • Link tickets with blocks, depends-on and relates-to relations
  • Set per-project weights and produce reports, summaries, distributions, dashboards and event logs
  • Export and import project data as CSV or JSON
When to use it
Useful when you want an assistant to help rank a backlog or set of stories by return on investment, keep scores and tags up to date, or answer questions about priorities, dependencies and history stored in a local Rewelo database.
Requirements
Runs locally over stdio, either via npx (npm package rewelo) or the Docker image, started with the serve command. Needs a SQLite database file, set with the RW_DB_PATH environment variable (defaults to relative-weight.db in the working directory); with Docker, mount a volume so the database persists. No authentication is declared.
Before you install
The README states this is experimental software without support and not intended for production use. The assistant can create, update and delete projects, tickets and tags, so changes to your backlog should be reviewed. Without a mounted volume in Docker, the database is lost when the container is removed.

Installation

In SourceWeft

  1. Open rewelo in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Rewelo

Warning: This is experimental software. It comes without support and is not intended for production use.

A prioritization tool that uses the relative weight method to rank stories and tickets by different criteria. Built on SQLite (Node's built-in node:sqlite) for embedded, zero-dependency data storage, exposed through a CLI or as a Docker-based MCP server.

How It Works

Each ticket is scored on four dimensions using the agile Fibonacci scale (1, 2, 3, 5, 8, 13, 21):

DimensionMeasures
BenefitValue gained by implementing the story
PenaltyCost of not implementing the story
EstimateResources required for implementation
RiskUncertainty or complexity in implementation

From these, the tool calculates priority at runtime:

Value    = Benefit + PenaltyCost     = Estimate + RiskPriority = Value / Cost

Higher priority means better return on investment. Relative weights normalize scores across the full backlog or within a tagged subset (e.g. a feature). See calculations.md for the full specification.

Tags

Tickets are organized through a flexible tag system using prefix:value pairs. Tags replace fixed fields for state, feature grouping, and any other classification:

  • state:backlog, state:wip, state:done
  • feature:checkout, feature:auth
  • team:platform, priority:critical

Every tag assignment and removal on a ticket is tracked in an audit log, enabling lead time and cycle time calculations from state: tag transitions.

Revision History

The tool maintains full revision history at two levels:

  • Ticket revisions -- snapshots of content (title, description, scores) and tags before each change
  • Tag revisions -- snapshots of tag definitions (prefix, value) before renames or edits

This means you can reconstruct the exact state of any ticket at any point in time.

Data Model

The database schema is defined in db/create.sql and documented as DBML in db/model.dbml.

projects  +-- tickets              (B, P, E, R scores)  |     +-- ticket_revisions     (content + tag snapshots)  +-- tags                 (prefix:value pairs)  |     +-- tag_revisions  +-- ticket_tags          (current assignments)  +-- ticket_tag_changes   (audit log: added/removed)  +-- ticket_relations     (blocks, depends-on, relates-to)  +-- ticket_deletions     (deleted tickets, for project diff)  +-- weight_configs       (per-project B/P/E/R weights)

Tech Stack

  • SQLite -- embedded database via Node's built-in node:sqlite, no server and no native modules required
  • TypeScript -- CLI application and business logic
  • Commander.js -- command-line interface
  • Docker -- containerized deployment, also usable as an MCP server

CLI Commands

rw project create|list|delete|history|diff                                    Manage projects, view history and changesrw ticket  create|list|update|upsert|delete|history                                    Manage tickets and view revision historyrw tag     create|assign|remove|delete|list|rename|log                                    Manage tags and view audit logrw relation create|remove|list|list-all                                    Ticket relations (blocks, depends-on, relates-to)rw config  weights                  View/set/reset per-project B/P/E/R weightsrw calc    weights|priority         Relative weights and weighted priority calculationsrw export  csv|json                 Export project datarw import  csv|json                 Import project datarw report  summary|group|distribution|health|times|dashboard|event-log                                    Reporting, HTML dashboard and event streamrw serve                            Start MCP server (stdio transport)

Global options: --db <path>, --json, --csv, --quiet (and --no-color, accepted for compatibility: rw never prints colour)

Multi-Project Support

The tool is designed around projects as the top-level boundary. Tags, tickets, and all calculations are scoped to a project, so multiple teams or products can use the same instance independently.

Releasing a New Version

Four GitHub Actions workflows in .github/workflows/ cover building, releasing and publishing:

WorkflowRuns onDoes
ci.ymlpushes and pull requests to mainType check, build, test, and a smoke test of the Docker image
release.ymlpushing a v* tagChecks the tag matches package.json, tests, and creates the GitHub release with the npm tarball, SBOM, OCI image and changelog; pushes the image to ghcr.io/sebs/rewelo
publish.ymlmanual (with a version)Publishes that tagged version to npm via trusted publishing, with provenance, then lists it in the MCP Registry as io.github.sebs/rewelo
pages.ymlpushes to mainBuilds the website from site/ and the docs, and deploys it to GitHub Pages

To release:

  1. Bump the version, which commits it (with server.json, the MCP Registry entry, set to the same version) and creates the matching tag:
bash
npm version patch   # 0.1.0 → 0.1.1 (or minor, major)
  1. Push the commit and the tag; release.yml builds the release:
bash
git push --follow-tags
  1. Publish to npm: run the Publish workflow with the new version (Actions → Publish → Run workflow), or gh workflow run publish.yml -f version=0.1.1. Once npm shows the version, the workflow lists it in the MCP Registry too (mcp-publisher, logged in with the workflow's GitHub OIDC token, so without a secret). Prereleases such as 0.2.0-beta.1 are published under the next dist-tag, and a backport older than the current latest (0.5.2 after 0.6.1) under backport, so npm install rewelo keeps getting the newest stable version.

One-time setup: add sebs/rewelo with workflow publish.yml as a trusted publisher of the rewelo package on npmjs.com, and set Settings → Pages → Source to "GitHub Actions".

To run the released image:

bash
# CLIdocker run --rm -v rw-data:/data ghcr.io/sebs/rewelo:latest project list
# MCP serverdocker run --rm -i -v rw-data:/data ghcr.io/sebs/rewelo:latest serve

Use a named volume (rw-data) or a bind mount to persist the database across container restarts. Without one, the database stays inside the container and is lost when it is removed (with --read-only it can't be written at all); rw warns about this on stderr.

MCP Server

The CLI doubles as an MCP server over stdio, letting AI assistants manage projects, tickets, tags, and calculations directly. See mcp.md for client configuration, available tools, and troubleshooting.

Examples

See examples.md for step-by-step scenarios, each as a copy-pasteable Claude Code prompt (MCP) and as rw commands with their output: CSV import, dependency mapping, custom weights, quick wins, tracking work, scripting, and sharing and backing up a backlog.

Source: Readme.md at commit 260917b

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

2
  1. v0.7.3LatestSep 26, 2026
  2. v0.7.1Sep 25, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts