Polished and well engineered. Punching above its star count.

MeshCore mesh network analyzer — live packet visualization, VCR replay, channel decryption, node health, analytics

Documentation

88

Contributing guide5pt25

Contributing guidance is in the README, not a dedicated CONTRIBUTING.md (−20 pts).

Moving it to a CONTRIBUTING.md makes it easier to find and keeps the README focused. A dedicated file earns +47 pts base.

README12pt100

README is present.

Install and run instructions9pt100

README documents how to install the project.

License6pt100

Licensed under GPL-3.0.

Engineering

81

Issue and PR templates6pt0

No issue or PR templates found (−100 pts).

Add .github/ISSUE_TEMPLATE/ with bug_report.md and feature_request.md to guide contributors. It dramatically improves issue quality.

Reproducibility6pt80

Lockfile present (package-lock.json). Installs are reproducible.

CI/CD14pt85

CI is configured (.github/workflows/squad-heartbeat.yml).

Tests18pt100

Test files detected (cmd/decrypt/main_test.go).

Linting and formatting5pt100

Linter or formatter configured (.eslintrc.json).

Project health

89

Dependency manifest6pt65

Dependency manifest found (package.json).

Repository metadata5pt100

Repository has a description.

Activity5pt100

Actively maintained (pushed within the last month).

Housekeeping3pt100

.gitignore present.

Repository files307 root entries
  • .badges
  • .github
    Good: CI is configured (.github/workflows/squad-heartbeat.yml).
  • .squad
  • cmd
    Good: Test files detected (cmd/decrypt/main_test.go).
  • docker
  • docs
  • internal
  • proto
  • public
  • qa
  • reviews
  • scripts
  • test-fixtures
  • testdata
  • tests
  • tools
  • .dockerignore
  • .env.example
  • .eslintrc.json
    Good: Linter or formatter configured (.eslintrc.json).
  • .git-blame-ignore-revs
  • .gitattributes
  • .gitignore
    Good: .gitignore present.
  • .nycrc.json
  • AGENTS.md
  • AUDIO-PLAN.md
  • AUDIO-WORKBENCH.md
  • BUILD_PLAN.md
  • CHANGELOG.md
  • channel-rainbow.json
  • config.example.json
  • CUSTOMIZATION-PLAN.md
  • DEDUP-DESIGN.md
  • DEDUP-MIGRATION-PLAN.md
  • DEPLOY.md
  • docker-compose.example.yml
  • docker-compose.no-mosquitto.yml
  • docker-compose.staging.no-mosquitto.yml
  • docker-compose.staging.yml
  • docker-compose.yml
  • Dockerfile
    Good: Environment pinned via Dockerfile.
  • Dockerfile.go
  • Dockerfile.node
  • LICENSE
    Good: Licensed under GPL-3.0.
  • manage.sh
  • MIGRATIONS.md
  • NEW_USER_SPEC.md
  • NODE-ANALYTICS-PLAN.md
  • package-lock.json
    Good: Lockfile present (package-lock.json). Installs are reproducible.
  • package.json
    Good: Dependency manifest found (package.json).
  • PERFORMANCE.md
  • README.md
    Good: README is present.
    Good: README is well structured with multiple sections.
    Good: README includes screenshots or visuals. Great for first impressions.
    Good: README has code examples.
    Good: README links to a live demo or deployed app.
    Good: README includes status badges.
    Good: README documents how to install the project.
    Good: README documents how to run the project.
  • RELEASE-v2.6.0.md
  • RELEASE-v3.0.0.md
  • RELEASE-v3.1.0.md
  • RELEASE-v3.6.0.md
  • test-1108-region-hide-nodes.js
  • test-1110-live-filter.js
  • test-1659-analytics-warmup.js
  • test-a11y-1705-subpath-hop-prefix-e2e.js
  • test-a11y-1715-dark-role-swatches.js
  • test-a11y-1716-rf-range-btn-active.js
  • test-a11y-1719-contrast-root-causes-e2e.js
  • test-a11y-axe-1668-selftest.js
  • test-a11y-axe-1668.js
  • test-a11y-axe-routes-coverage.js
  • test-aging.js
  • test-all.sh
  • test-analytics-channels-integration.js
  • test-analytics-fluid-charts.js
  • test-anl1-tooltip-render.js
  • test-area-filter.js
  • test-audio-lab-1297-e2e.js
  • test-audio-live-1297-e2e.js
  • test-bottom-nav-1061-e2e.js
  • test-channel-color-picker-e2e.js
  • test-channel-color-picker.js
  • test-channel-colors.js
  • test-channel-decrypt-e2e.js
  • test-channel-decrypt-ecb.js
  • test-channel-decrypt-insecure-context.js
  • test-channel-decrypt-m345.js
  • test-channel-fluid-e2e.js
  • test-channel-fluid-layout.js
  • test-channel-issue-1087-e2e.js
  • test-channel-issue-1087.js
  • test-channel-issue-1101.js
  • test-channel-issue-1111-e2e.js
  • test-channel-live-decrypt-userprefix.js
  • test-channel-live-decrypt.js
  • test-channel-modal-e2e.js
  • test-channel-modal-ux.js
  • test-channel-psk-ux.js
  • test-channel-qr-e2e.js
  • test-channel-qr-wiring.js
  • test-channel-qr.js
  • test-channel-sidebar-layout.js
  • test-channel-ux-followup.js
  • test-channel-ux-round2.js
  • test-channels-add-modal-e2e.js
  • test-channels-list-render-e2e.js
  • test-channels-merge-1498-unit.js
  • test-channels-selection-flow-e2e.js
  • test-channels-share-color-e2e.js
  • test-channels-ws-batch-e2e.js
  • test-channels-ws-race-1498-e2e.js
  • test-charts-fluid-1058-e2e.js
  • test-clear-filters.js
  • test-color-picker-ux.js
  • test-compare-flood-filter.js
  • test-compare-overlap.js
  • test-confidence-indicator.js
  • test-coverage-gate.js
  • test-customize-branding-e2e.js
  • test-customize-display-e2e.js
  • test-customize-export-e2e.js
  • test-customize-theme-e2e.js
  • test-customizer-v2.js
  • test-drag-manager-e2e.js
  • test-drag-manager.js
  • test-e2e-1267-mobile-vcr.js
  • test-e2e-badge-aggregate.sh
  • test-e2e-playwright.js
  • test-embed-mode-1369.js
  • test-fetch-all-nodes-pagination.js
  • test-filter-ux-e2e.js
  • test-fluid-scaffolding.js
  • test-frontend-helpers.js
  • test-geofilter-draft.js
  • test-gesture-hints-1065-e2e.js
  • test-gestures-1062-e2e.js
  • test-gestures-1185-scroll-discriminator-e2e.js
  • test-hash-color.js
  • test-home-coverage-e2e.js
  • test-hop-resolver-affinity.js
  • test-issue-1065-gesture-hints-gates.js
  • test-issue-1107-live-layout.js
  • test-issue-1109-hamburger-dropdown-visible-e2e.js
  • test-issue-1122-packets-filter-ux-e2e.js
  • test-issue-1128-multi-viewport-e2e.js
  • test-issue-1128-packets-layout-e2e.js
  • test-issue-1136-live-region-e2e.js
  • test-issue-1136-observer-iata-map.js
  • test-issue-1146-path-link-contrast-e2e.js
  • test-issue-1147-section-order-e2e.js
  • test-issue-1150-404-state-e2e.js
  • test-issue-1151-orphan-separators-e2e.js
  • test-issue-1166-first-seen-column.js
  • test-issue-1189-composed-cell.js
  • test-issue-1189-live-iata-badge.js
  • test-issue-1204-live-panel-structure-e2e.js
  • test-issue-1205-live-controls-anchor-e2e.js
  • test-issue-1206-resize-observer-leak-e2e.js
  • test-issue-1206-vcr-overlap-e2e.js
  • test-issue-1224-channels-mobile-ux-e2e.js
  • test-issue-1234-live-chrome-pass2-e2e.js
  • test-issue-1236-map-mobile-e2e.js
  • test-issue-1244-live-vcr-row-hints-e2e.js
  • test-issue-1273-qr-overlay-height-e2e.js
  • test-issue-1274-legend-coverage-e2e.js
  • test-issue-1279-legend-p2-e2e.js
  • test-issue-1279-p2-code-filter.js
  • test-issue-1281-location-row-e2e.js
  • test-issue-1293-marker-shapes.js
  • test-issue-1306-collisions-terminology-e2e.js
  • test-issue-1329-map-controls-accordion-e2e.js
  • test-issue-1356-map-a11y.js
  • test-issue-1360-pill-letter-count.js
  • test-issue-1361-cb-presets.js
  • test-issue-1364-pill-no-clamp.js
  • test-issue-1367-channels-chat-app-e2e.js
  • test-issue-1374-route-map-a11y-e2e.js
  • test-issue-1375-scope-stats-fetch.js
  • test-issue-1380-cb-reset-button.js
  • test-issue-1380-cb-sim-overlay.js
  • test-issue-1400-nav-vertical-clip.js
  • test-issue-1407-cb-preset-propagation.js
  • test-issue-1409-no-encrypted-flood.js
  • test-issue-1412-customizer-no-override.js
  • test-issue-1413-nav-overlap-e2e.js
  • test-issue-1415-packets-layout.js
  • test-issue-1418-cb-preset-ramp.js
  • test-issue-1418-deeplink-hops-channels.js
  • test-issue-1418-edge-weights.js
  • test-issue-1418-polish-review.js
  • test-issue-1418-raw-hex-extraction.js
  • test-issue-1418-spider-fan.js
  • test-issue-1420-tile-providers.js
  • test-issue-1438-customizer-mcrole.js
  • test-issue-1438-marker-css-vars.js
  • test-issue-1446-cb-preset-cascade.js
  • test-issue-1450-logo-aspect.js
  • test-issue-1454-channels-toggle.js
  • test-issue-1456-score-labels.js
  • test-issue-1461-mobile-page-actions.js
  • test-issue-1470-card-bg-contrast.js
  • test-issue-1470-node-tile-helper.js
  • test-issue-1473-prefix-generator.js
  • test-issue-1473-reserved-prefixes.js
  • test-issue-1485-live-anim-z.js
  • test-issue-1486-collapse-reopens-detail-e2e.js
  • test-issue-1487-byop-modal-layout-e2e.js
  • test-issue-1488-marker-stroke-vars.js
  • test-issue-1496-reset-all-complete.js
  • test-issue-1509-detect-preset.js
  • test-issue-1509-nav-active-bg.js
  • test-issue-1510-live-nav-pin-e2e.js
  • test-issue-1518-home-url.js
  • test-issue-1522-trace-url-sync-e2e.js
  • test-issue-1532-live-fullscreen.js
  • test-issue-1562-observers-summary.js
  • test-issue-1563-aggregate-and-inflight.js
  • test-issue-1567-corner-clears-drag-e2e.js
  • test-issue-1574-live-map-max-nodes.js
  • test-issue-1599-replay-freeze-e2e.js
  • test-issue-1606-pagination.js
  • test-issue-1614-tile-url-function.js
  • test-issue-1619-feed-detail-card-draggable.js
  • test-issue-1630-reach-mobile-e2e.js
  • test-issue-1633-hide-1byte-hops.js
  • test-issue-1639-observers-sort-e2e.js
  • test-issue-1640-compare-discovery-e2e.js
  • test-issue-1644-redesign.js
  • test-issue-1646-compare-polish.js
  • test-issue-1648-followup-phosphor-leaks.js
  • test-issue-1648-m1-emoji-scan.js
  • test-issue-1648-m1-icons-e2e.js
  • test-issue-1648-m2-emoji-scan.js
  • test-issue-1648-m2-icons-e2e.js
  • test-issue-1648-m3-emoji-scan.js
  • test-issue-1648-m3-icons-e2e.js
  • test-issue-1648-m4-emoji-scan.js
  • test-issue-1648-m4-icons-e2e.js
  • test-issue-1648-m5-emoji-scan.js
  • test-issue-1648-m5-icons-e2e.js
  • test-issue-1648-m6-final-sweep.js
  • test-issue-1648-m6-lint-self.js
  • test-issue-1657-analytics-channels-group-sprites-e2e.js
  • test-issue-1668-m2-contrast.js
  • test-issue-1668-m3-typography.js
  • test-issue-1668-m4-per-route.js
  • test-issue-1692-packets-init-parallel-e2e.js
  • test-issue-1697-mqtt-mobile-e2e.js
  • test-issue-1705-subpath-contrast-e2e.js
  • test-issue-1705-subpath-contrast.js
  • test-issue-1753-copy-url-slash.js
  • test-live-anims.js
  • test-live-dedup.js
  • test-live-dt-cap-1524.js
  • test-live-fullscreen-1572-e2e.js
  • test-live-layout-1178-1179-e2e.js
  • test-live-mql-leak-1180-e2e.js
  • test-live-region-filter.js
  • test-live.js
  • test-logo-default-sage-teal-e2e.js
  • test-logo-pulse-1173-e2e.js
  • test-logo-rebrand-e2e.js
  • test-logo-theme-e2e.js
  • test-map-clustering.js
  • test-map-modal-fluid-e2e.js
  • test-map-nodes-pagination-e2e.js
  • test-marker-outline-weight.js
  • test-mqtt-status-panel.js
  • test-naive-banner-tone.js
  • test-nav-drawer-1064-e2e.js
  • test-nav-fluid-1055-e2e.js
  • test-nav-more-floor-1139-e2e.js
  • test-nav-priority-1102-e2e.js
  • test-nav-priority-1311-e2e.js
  • test-nav-priority-1391-e2e.js
  • test-node-reach-coverage-debounce.js
  • test-node-reach-coverage-e2e.js
  • test-node-reach-coverage.js
  • test-node-reach-e2e.js
  • test-observer-iata-1188-e2e.js
  • test-observer-iata-1188.js
  • test-observer-naive-clock-1478.js
  • test-observers-headings.js
  • test-packet-filter-time.js
  • test-packet-filter-ux.js
  • test-packet-filter.js
  • test-packets.js
  • test-panel-corner.js
  • test-path-inspector-coverage-e2e.js
  • test-path-inspector-e2e.js
  • test-path-inspector.js
  • test-perf-anomaly.js
  • test-perf-disk-io-1120.js
  • test-perf-go-runtime.js
  • test-perf-render-1258.js
  • test-pr-1490-live-map-gpu-animations-e2e.js
  • test-preflight-xss-gate.js
  • test-pull-to-reconnect-1091.js
  • test-pull-to-reconnect.js
  • test-rx-coverage-config-race.js
  • test-rx-coverage-escape.js
  • test-show-neighbors.js
  • test-slideover-1056-e2e.js
  • test-slideover-1056-rowsel-strict.js
  • test-slideover-1168-munger-e2e.js
  • test-table-fluid-e2e.js
  • test-table-sort.js
  • test-touch-gestures-coverage-e2e.js
  • test-touch-targets.js
  • test-traces.js
  • test-url-state.js
  • test-warmup-banner.js
  • test-xss-escape-sinks.js