repowiserepowise
Sign in
chatwoot/chatwoot
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisechatwoot/chatwoot
CH
CH

chatwoot / chatwoot

rubyvuejavascriptdevelopb425c05433.9K linessynced 2d ago
Since the previous index, 2mo ago-2,672 files-0.3 code health+2.1 hotspot health

Code health

9.3out of 10Excellent

This codebase scores 9.3 out of 10 for code health, which we rate excellent. It also scores maintainability 9.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: 297 of 8,595 files are git hotspots, and they average 8.3 — which is where the fixes pay off most.

Full health report →
Documentation5,292pages
0 with model-written prose, 5,292 built from the index
Score validation9/207.6× baselineTop-ranked files that did go on to need a bug fixDead code439exportsUnused exports that nothing in the graph reaches

Do next

3 things worth doing in the week to Oct 14, the last indexed commit, 3 of them now.

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
Lines of code
433.9K
Files
8,595
Symbols
28,599
Modules
18
Languages
8

Recent activity

All commits →

Commits

  • b425c054fix(captain): stop sending tool call text as replies (#16246)2d ago
  • ab0c81affeat: add email verification by one-time code for Captain [PR-1] (#16228)2d ago
  • c4e5921ffeat(voice): end the Twilio conference when the last agent leaves; keep the provider status (#16009)2d ago
  • 2afe6b87feat(voice): ring timeout, ringing-calls query and missed-call notification (#16008)2d ago
  • fe731024feat(voice): ring agents' phones for inbound calls (#16007)2d ago
  • 8732dc3afeat(copilot): add chat history (#16054)2d ago

Decisions

  • Handle Facebook Messenger sticker attachment type without dropping ingestionproposed · 2d ago
  • Preserve Meta Graph profile full names (Facebook)proposed · 2d ago
  • Refactor v2 report builders to use DataSource/RawDataSource abstractionproposed · 2d ago
  • Extend conversation lock to single thread for Meta inboxproposed · 2d ago
  • Localize friendly email sender namesproposed · 2d ago
  • Enable users to create multiple accounts via DB split/migrationsproposed · 2d ago
▸

Everything we found

6,889 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 health3,895Complex conditional · app/javascript/dashboard/routes/dashboard/settings/inbox/Settings.vue15 findings · 7.5 deducted→
  • worst item is low severity. Refactoring189getValidation+0.8 health, S effort · app/javascript/widget/components/PreChat/Form.vue→
  • worst item is medium severity. Decisions339app/javascript/dashboard/components/widgets/conversation/ReplyBox.vue42 awaiting review · 297 hotspots ungoverned→
  • worst item is medium severity. Ownership2,466spec/enterprise/lib/captain/conversation_completion_service_spec.rb85% single-owner concentration, 7 commits in 90d→

Composition

Open the graph →
  • ruby54%
  • vue23%
  • javascript22%
  • typescript<1%
  • shell<1%
  • Other<1%

Explore this codebase

  • Docs5,292 pages across 18 modules→
  • ChatAsk this codebase a question and get an answer with its sources.→
  • Files8,595 files with per-file docs, health and history→
  • ArchitectureDependency graph, layers, and 6 entry points→
  • Code healthPer-file scores, 4,418 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.→