repowiserepowise
Sign in
keycloak/keycloak
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisekeycloak/keycloak
KE
KE

keycloak / keycloak

javamaine13aab91.1M linessynced 1mo ago

Code health

7.7out of 10Good

This codebase scores 7.7 out of 10 for code health, which we rate good. It also scores maintainability 8.3 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: 314 of 10,414 files are git hotspots, and they average 4.4 — which is where the fixes pay off most.

Full health report →
Documentation11,591pages0 with model-written prose, 11,591 built from the indexScore validation20/2011.7× baselineTop-ranked files that did go on to need a bug fixDead code312exportsUnused exports that nothing in the graph reaches

Do next

1 thing worth doing this quarter.

Worth planning

  • Delete 288 unused symbols and files (11,990 lines)

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

    symbols
    288
    lines
    11,990
    safe to delete
    Yes(inferred)
    Medium 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
Lines of code
1.1M
Files
10,414
Symbols
88,231
Modules
30
Languages
8

Recent activity

All commits →

Commits

  • e13aab9cEnforce SCIM attribute mutability on PATCH operations1mo ago
  • 738a75dfParse SCIM filter once per request instead of twice - cache the parsed FilterContext on SearchRequest1mo ago
  • 3f33a5c4New link to RH-SSO product page: http://access.redhat.com/products/single-sign/1mo ago
  • 60c4d5e9Enforce membership permission when creating users1mo ago
  • c2391c85Validate scopes are associated with resources in scope permissions (#50181)1mo ago
  • 2a890e22Make sure interal claims are filtered out from claim_token and claims from tickets have precedence (#51425)1mo ago

Decisions

  • Flatten MultivaluedMap to Map for SingleUseObjectProvideractive · 1mo ago
  • Refactor HA guide to generic multi-site deploymentsproposed · 1mo ago
  • Improve SimpleHttp APIproposed · 1mo ago
  • Make required actions configurableproposed · 1mo ago
  • Enable OID4VCI Verifiable Credentials per realmproposed · 1mo ago
  • Implement LDAPv3 Password Modify Extended Operationproposed · 1mo ago
▸

Everything we found

15,499 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 health7,510Untested hotspot · services/src/main/java/org/keycloak/broker/oidc/OIDCIdentityProvider.java32 findings · 9.7 deducted→
  • worst item is medium severity. Refactoring1,506getProps+1.5 health, L effort · federation/ldap/src/main/java/org/keycloak/storage/ldap/mappers/membership/group/GroupLDAPStorageMapperFactory.java→
  • worst item is medium severity. Decisions341services/src/main/java/org/keycloak/protocol/oid4vc/issuance/OID4VCIssuerEndpoint.java30 awaiting review · 311 hotspots ungoverned→
  • worst item is medium severity. Ownership5,827tests/base/src/test/java/org/keycloak/tests/oid4vc/abca/OIDCAttestationBasedClientAuthenticationTest.java94% single-owner concentration, 8 commits in 90d→
  • worst item is low severity. Dead code315.github/fake_fips/fake_fips.cUnreachable symbol (40 lines)→

Composition

Open the graph →
java 88%
typescript 11%shell 1%javascript 1%dockerfile 0%Other 0%

Explore this codebase

  • Docs11,591 pages across 30 modules→
  • ChatAsk this codebase a question and get an answer with its sources.→
  • Files10,414 files with per-file docs, health and history→
  • ArchitectureDependency graph, layers, and 1,309 entry points→
  • Code healthPer-file scores, 9,907 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.→