Skip to main content
Glama
contribution-compass

contribution-compass

by amirimi

Contribution Compass

CI Pages License: MIT

V2 rewrite in progress: the previous repository-monitoring and issue-feed prototype has been retired. The current branch is a deliberately small foundation, not a usable recommender yet.

Contribution Compass is becoming a personalized OSS investment recommender. It will help a serious engineer decide which few open-source projects deserve the next several months of their attention, given their background, desired growth, career goals, and the project’s ability to absorb outside contributors.

Product rule: project first, issue second. Concrete GitHub issues become calls to action only after their repository has been judged worth a sustained investment.

Read the authoritative product and architecture specification.

Product direction

developer profile
→ semantic and dependency neighborhood
→ candidate discovery
→ evidence collection
→ hard taste floors
→ Fit / Absorption / Upside
→ Pareto shortlist and diverse portfolio
→ 2–4 concrete issues per recommended project

The final output should feel like:

These are the few open-source projects where your next six months of effort are most likely to teach you something, matter to the community, and strengthen your engineering career—and here is the evidence.

Related MCP server: memory-bank-mcp

Reset status

The August 2026 reset removed the v1 product model and all generated v1 artifacts:

  • fixed repository groups and Project Sensors;

  • daily Signals, full snapshots, Observation Events, state, and reports;

  • Contribution Lead and Triage Lead scoring;

  • Hacker News, news feeds, RSS, catalog overlays, and browser-only personalization;

  • catalog-shaped CLI and MCP tools;

  • the scheduled collector that would otherwise regenerate obsolete output.

The retained foundation is intentionally narrow:

  • Python 3.12, uv, Ruff, mypy, and pytest;

  • domain/application/adapter/controller/view separation;

  • bounded GitHub transport and pagination;

  • dependency-manifest parsing and package-to-repository resolution;

  • Jinja2 static publication and GitHub Pages;

  • an MCP transport entry point with a rewrite-status resource;

  • GitHub Actions CI;

  • evidence/measurement/taste separation as an architectural invariant.

Development

Requirements: Python 3.12+ and uv.

uv sync --all-extras
uv run ruff check .
uv run ruff format --check .
uv run mypy src
uv run pytest
uv run contribution-compass site

The generated reset page is written to .site/. No model credential is required. Future GitHub profile, discovery, and evidence commands will use GITHUB_TOKEN.

Architecture

src/contribution_compass/
  domain/          factual, transport-independent concepts
  application/     recommendation use cases as they are validated
  ports.py         seams introduced only when real adapters vary
  adapters/        GitHub, manifests, and package registries
  controllers/     CLI and MCP transports
  views/           packaged Jinja2 static presentation

The intended v2 domain is described in CONTEXT.md. Architectural decisions live in docs/adr.

Contributing

The rewrite is validation-first. Please read CONTRIBUTING.md and discuss a task before implementing a broad feature. The first milestone is proving project evaluation quality—not maximizing repositories indexed or commands shipped.

License and attribution

MIT—see LICENSE. Some retained GitHub and dependency-discovery patterns originated in or were adapted during work based on the MIT-licensed agents-radar; see NOTICE.md.

Available Tools

7 tools
compare_projectsB

Compare factual project context and Leads observed in the latest snapshot.

Inputs: group. Returns: result

find_contribution_opportunitiesA

Find open, unassigned contribution leads with reasons, caveats, and evidence URLs.

Inputs: tier, group, limit, query, +1 more. Returns: result

get_project_contextC

Get project metadata plus bounded important Signals and recent Observation Events.

Inputs: repository (required), event_limit, signal_limit. Returns: object

get_project_newsB

Get releases, public roadmap items, and separately labeled HN discussions.

Inputs: group, limit, query, project. Returns: result

get_signal_timelineA

Get the append-only discovery/change trail for a stable Signal ID.

Inputs: signal_id (required). Returns: result

list_monitored_projectsC

List configured projects with context and collected evidence counts.

Inputs: group. Returns: result

search_project_updatesC

Search important collected updates, ranked only from factual engagement and labels.

Inputs: kind, group, limit, query, +1 more. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 7 tools

    Disambiguation4/5

    Most tools target clearly separate concerns: searching updates, finding opportunities, fetching news, getting context, tracing signal timelines, listing projects, and comparing projects. However, search_project_updates, get_project_news, and get_project_context all operate in the same general 'project information' space and could be confused without careful reading.

    Naming Consistency5/5

    All tool names follow a consistent snake_case verb_noun pattern using simple, predictable verbs: search, find, get, list, compare. There are no mixed conventions or vague names.

    Tool Count5/5

    Seven tools is a well-scoped count for a contribution-monitoring server. Each tool covers a meaningful part of the workflow without excessive redundancy or missing core functionality.

    Completeness4/5

    The surface covers exploration, search, discovery of contribution leads, historical signal tracking, and project comparison. The main gap is the lack of tools to manage monitored projects or act on opportunities, but those may be intentionally outside the server's read-only compass role.

    Maintenance

    ActivityActive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables contributing, challenging, discovering, verifying, and querying contestable public records from AI coding tools via MCP.
      6
      60 npm
      1
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Provides a read-only MCP interface to query and retrieve verifiable evidence from a local memory bank, supporting search, dossier, chronology, source, and evidence tools.
      6
      BSD Zero Clause
    • A
      license
      Not graded
      quality
      B
      maintenance
      Provides MCP tools to search, compare, and get recommendations for open-source projects from a structured knowledge graph of GitHub data.
      MIT