repowiserepowise
Sign in
knadh/listmonk
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowiseknadh/listmonk
LI
LI

knadh / listmonk

gotypescriptmasteref0a75828.2K linessynced 3mo ago

Code health

7.4out of 10Good

This codebase scores 7.4 out of 10 for code health, which we rate good. It also scores maintainability 8.6 and static performance 9.9 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 8 of 238 files are git hotspots, and they average 3.4 — which is where the fixes pay off most.

Full health report →
Documentation61pages61 with model-written prose, 0 built from the indexScore validation16/205.6× baselineTop-ranked files that did go on to need a bug fixDead code29exportsUnused exports that nothing in the graph reaches

Do next

1 thing worth doing this quarter.

Worth planning

  • Delete 29 unused symbols and files (205 lines)

    Nothing in the graph reaches them, across 17 files; every reader and agent pays to skip them.

    symbols
    29
    lines
    205
    safe to delete
    Yes(inferred)
    Small effort

Improve what Repowise can see

  • Add a test coverage report

    Without one, Repowise cannot tell tested code from untested code, so every test-related action says “unknown”.

    line coverage
    Unknown, no report
    Small effort
  • Review the 36 proposed decisions

    None is accepted yet, so nothing can drift from one and agents get no enforced guidance from them.

    proposed
    36
    accepted
    0
    Medium effort
Lines of code
28.2K
Files
238
Symbols
1,247
Modules
6
Languages
6

Recent activity

All commits →

Commits

  • ef0a7587Improve v6.2.0 migration SQL query idempotency.3mo ago
  • ba88d1cfAdd Cypress UI tests for image embedding.3mo ago
  • dd184b8aUpdate contribution guidelines with v7 (Vue frontend deprecation) notice.3mo ago
  • 80d93e3cFix auth validation (when no creds are configured in settings) issue in 3rd party bounce providers.3mo ago
  • a7af70beUpdate CSV security report doc.3mo ago
  • d946c84aFix multiple list permission RBAC issues across related handlers.3mo ago

Decisions

  • Prevent ZIP path traversal in CSV importproposed
  • Fix list query sorting by switching SQL substitution to named paramsproposed
  • Implement real content format conversion for campaign messagesproposed
  • Support multiple subscribers in transactional message APIproposed
  • Route campaign test messages through standard campaign workersproposed
  • Hide unauthorized list names in subscriber API responsesproposed
▸

Everything we found

788 open

Every detector's open count by area, each with its worst example. An inventory, not a to-do list: the actions above are the part worth doing.

  • worst item is critical severity. Code health506Nested complexity · internal/core/subscribers.go24 findings · 8.7 deducted→
  • worst item is low severity. Refactoring2cycle[8]: core.tsx->ColumnsContainerEditor.tsx, core.tsx->ContainerEditor.tsx, core.tsx->EmailLayoutEditor.tsx, core.tsx->EditorBlockWrapper.tsx+0.0 health, L effort · frontend/email-builder/src/documents/blocks/ColumnsContainer/ColumnsContainerEditor.tsx→
  • worst item is medium severity. Decisions44cmd/handlers.go36 awaiting review · 8 hotspots ungoverned→
  • worst item is medium severity. Ownership192internal/migrations/v6.2.0.go86% single-owner concentration, 7 commits in 90d→
  • worst item is low severity. Dead code44frontend/public/static/tinymce/lang/fr_FR.jsUnreachable symbol (0 lines)→

Composition

Open the graph →
go 46%typescript 38%javascript 14%
shell 1%dockerfile 1%Other 1%

Explore this codebase

  • Docs61 pages across 6 modules→
  • ChatAsk this codebase a question and get an answer with its sources.→
  • Files238 files with per-file docs, health and history→
  • ArchitectureDependency graph, layers, and 22 entry points→
  • Code healthPer-file scores, 506 open findings, coverage and refactoring targets→
  • Knowledge graphEntities, communities, and the paths between them→
  • Change couplingFiles that keep changing together, mined from commit history→
  • CommitsChange-risk ranked history with agent provenance→
  • ContributorsBus factor, per-file maintainers, and the human/agent split→
  • StatsSize class, origin, lifetime churn, rhythm and records→
  • CostsWhat indexing this snapshot cost, by model and by run.→