Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.11.0 · метрики 2.10.0 · 2026-07-15 21:18 UTC

Cranot / roam-code

Local codebase intelligence CLI + MCP server for AI coding agents: SQLite code graph, 28 languages, 238 commands, 224 MCP tools, change-safety gates, audit evidence, zero API keys.

PythonApache-2.0★ 498 зірок⑂ 47 форківз лют. 2026 р.Переглянути на GitHub ↗
ТипІнструмент командного рядкаMCP-серверБібліотекаяк це визначено

Cranot/roam-code має індекс здоров’я 87 зі 100, що відповідає смузі «Відмінний». Найвищий показник — Engineering Quality (96/100), найнижчий — Sustainability & Governance (52/100). Останнє оновлення — сьогодні. Більшість нещодавньої роботи виконує один учасник.

87
загалом / 100
Відмінний

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє зважене середнє, відкаліброване за розподілом публічного реєстру, тож діапазони мають перцентильний зміст; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 34 («У зоні ризику»).

87
Винятковий93-100Верхній щабель реєстру (≈ топ-5%); відповідає практично всім перевіреним критеріям
Відмінний80-92Сильний за всіма напрямами; незначні прогалини
Добрий65-79Здоровий; прогалини обмежені та керовані
Помірний50-64Прийнятний, але з помітними прогалинами; рекомендовано перевірку
Слабкий35-49Суттєві недоліки в кількох сферах
У зоні ризику20-34Суттєві слабкі місця; впровадження потребує обережності
Критичний1-19Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Зважений загальний бал 73 калібровано до 87 за шкалою опублікованого індексу (калібрування реєстру 2026-08-02).

Власність

DimitrisОсобистий обліковий запис
120 підписників48 публічних репозиторіївз лист. 2018 р.CosmoHac

Цей репозиторій належить особистому обліковому запису. Проєкт з єдиним власником несе більший ризик безперервності, ніж підтримуваний організацією.

Пакетні екосистеми

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

83Відмінний · 21% загального індексу
Як обчислюється оцінка
36/36Свіжість pushостанній push 0 дн. тому
9/36Ритм комітів13/52 тижнів із комітами
18/18Обсяг комітів2 224 комітів за останній рік
10/10OpenSSF Scorecard: Maintained30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
commits_last_year2 224
human_commit_share
days_since_last_push0
active_weeks_last_year13
Як обчислюється оцінка
27/27Випускає релізиопубліковано 68 релізів
36/36Свіжість релізівостанній реліз 0 дн. тому
27/27Ритм релізівреліз кожні ~6,3 дн.
8/10OpenSSF Scorecard: Signed-Releases5 out of the last 5 releases have a total of 5 signed artifacts.
Використані вхідні дані
releases_count68
latest_release_tagv13.9.0
releases_from_tagsні
days_since_latest_release0
mean_days_between_releases6,3

Спільнота та впровадження

Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?

72Добрий · 17% загального індексу
Як обчислюється оцінка
43.7/60Зірки498 зірок
13.9/25Форки47 форків
4.3/15Спостерігачі7 спостерігачів
Використані вхідні дані
forks47
stars498
watchers7
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензіявизнана ліцензія (Apache-2.0)
18/18Настанови CONTRIBUTING
13.5/13.5Кодекс поведінки
0/7.2Шаблон issue
6.3/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
readme_badges
has_contributingтак
has_issue_templateні
has_code_of_conductтак
readme_badge_services
has_pull_request_templateтак
Як обчислюється оцінка
49.8/80Щомісячні завантаження5 430 завантажень/місяць у pypi
0/20Залежні пакети в реєстріця екосистема цього не повідомляє
Використані вхідні дані
packagesroam-code
dependents
ecosystemspypi
total_downloads
monthly_downloads5 430
unverified_packages_excluded
Виключено з оцінювання (немає даних або не застосовно): Залежні пакети в реєстрі. Залишкові ваги перенормовано.

Сталість та врядування

Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?

52Помірний · 23% загального індексу
Як обчислюється оцінка
9/54Бас-факторна 1 контриб’ютор(ів) припадає половина всіх комітів
0.1/22.5Розподіл комітівголовний контриб’ютор — автор 100% комітів
2.7/13.5Широта контриб’юторів2 контриб’юторів
3/10OpenSSF Scorecard: Contributorsproject has 1 contributing companies or organizations -- score normalized to 3
Використані вхідні дані
bus_factor1
contributors_sampled2
top_contributor_share0,995
Як обчислюється оцінка
39.4/42Вирішення issueзакрито 94% issue
3/30Прийняття PRзлито 4/40 вирішених PR
0/13Newcomer PR acceptanceза 30 дн. не вирішено жодного PR від новачка
0/15OpenSSF Scorecard: Code-ReviewFound 0/30 approved changesets -- score normalized to 0
Використані вхідні дані
merged_prs4
open_issues1
closed_issues15
prs_merged_7d
prs_decided_7d
prs_merged_30d
prs_decided_30d
issue_closed_ratio0,938
closed_unmerged_prs36
first_time_authors_30d
first_time_prs_merged_30d
first_time_prs_decided_30d
Виключено з оцінювання (немає даних або не застосовно): Newcomer PR acceptance. Залишкові ваги перенормовано.
Як обчислюється оцінка
10/30Підтримка власникаособистий (користувацький) обліковий запис
0/20Верифікований доменне застосовно до користувацьких облікових записів
15/25Охоплення власника120 підписників у Cranot
24.3/25Послужний список48 публічних репозиторіїв, вік облікового запису ~7 р.
Використані вхідні дані
followers120
owner_typeUser
is_verified
owner_loginCranot
public_repos48
account_age_days2 813
Виключено з оцінювання (немає даних або не застосовно): Верифікований домен. Залишкові ваги перенормовано.

Супровід пакетів

100Винятковий
Як обчислюється оцінка
25/25Опубліковано й доступно1 пакет(ів) у pypi
35/35Свіжість публікаційостання публікація 0 дн. тому
20/20Історія версій87 опублікованих версій
20/20Не застарілийактивний, не deprecated і не yanked
Використані вхідні дані
packagesroam-code
ecosystemspypi
any_deprecatedні
min_days_since_publish0

Інженерна якість

Чи наявні базові інженерні практики та документація?

96Винятковий · 19% загального індексу
Як обчислюється оцінка
24/24Процеси CI7 процес(ів) CI
24/24Наявні тести
16/16Конфігурація лінтера
9.6/9.6Pre-commit-хуки
6.4/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Testsнемає даних
Використані вхідні дані
has_ciтак
has_testsтак
has_editorconfigтак
has_linter_configтак
has_precommit_configтак
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: CI-Tests. Залишкові ваги перенормовано.

Документація

90Відмінний
Як обчислюється оцінка
30/30README
25/25Каталог документації
15/15Сайт документації / домашня сторінкаhttps://roam-code.com/
10/10Опис репозиторію
10/10Теми20 тем
0/10Wiki
Використані вхідні дані
topicsai-coding, cli, code-analysis, code-graph, code-intelligence, code-quality, mcp-server, static-analysis, tree-sitter, developer-tools, model-context-protocol, python, graph-analysis, mcp, ai-agents, code-review, local-first, refactoring, software-architecture, sqlite
has_wikiні
homepagehttps://roam-code.com/
docs_sitehttps://roam-code.com/
has_readmeтак
has_docs_dirтак
has_descriptionтак

Безпека

Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?

61Помірний · 16% загального індексу

Стан безпеки

61Помірний
Як обчислюється оцінка
7.5/7.5Binary-Artifactsno binaries found in the repo
0/7.5Branch-Protectionнемає даних
0/2.5CI-Testsнемає даних
0/2.5CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0/7.5Code-ReviewFound 0/30 approved changesets -- score normalized to 0
0.8/2.5Contributorsproject has 1 contributing companies or organizations -- score normalized to 3
10/10Dangerous-Workflowno dangerous workflow patterns detected
7.5/7.5Dependency-Update-Toolupdate tool detected
0/5Fuzzingproject is not fuzzed
2.5/2.5Ліцензіяlicense file detected
7.5/7.5Maintained30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10
5/5Packagingpackaging workflow detected
0.5/5Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 1
0/5SASTno SAST tool detected
5/5Security-Policysecurity policy file detected
6/7.5Signed-Releases5 out of the last 5 releases have a total of 5 signed artifacts.
5.2/7.5Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities20 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate6,1
Виключено з оцінювання (немає даних або не застосовно): Branch-Protection, CI-Tests. Залишкові ваги перенормовано.

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Має свідомо малу вагу (4%): агентний інструментарій — реальний сигнал супроводу, але репозиторій без нього все одно може отримати 100/100.

83Відмінний · 4% загального індексу
Як обчислюється оцінка
45/45Інструкції для агентівAGENTS.md, CLAUDE.md
15/15Машиночитана документація (llms.txt)llms.txt наявний
0/40Читабельна історія комітівнемає даних
Використані вхідні дані
has_llms_txtтак
llms_txt_url
legible_history_share
agent_instruction_filesAGENTS.md, CLAUDE.md
agent_instruction_max_bytes53 325
Виключено з оцінювання (немає даних або не застосовно): Читабельна історія комітів. Залишкові ваги перенормовано.
Як обчислюється оцінка
18/18Розгортання однією командоюMakefile
22/22Автоматизовані тести
11/11Конфігурація лінтера / форматера
0/11Статична перевірка типів
10/10Відтворюване середовищеDockerfile, lockfile
0/10Підтверджена практика роботи з агентаминемає даних
5/8Автоматизоване супроводженняавтоматизацію залежностей налаштовано, але у вибірці комітів її не видно
1/10OpenSSF Scorecard: Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 1
Використані вхідні дані
has_nixні
has_testsтак
lockfilesuv.lock
has_dockerfileтак
typed_languageні
bootstrap_filesMakefile
has_devcontainerні
has_linter_configтак
typecheck_configs
agent_commit_share
toolchain_manifests
dependency_bot_commit_share0
Виключено з оцінювання (немає даних або не застосовно): Підтверджена практика роботи з агентами. Залишкові ваги перенормовано.
Як обчислюється оцінка
0/45Типізований кодPython без конфігурації перевірки типів
53.7/55Керовані розміри файлів49/2 061 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languagePython
largest_source_bytes732 528
source_files_sampled2 061
oversized_source_files49
Як обчислюється оцінка
0/40Схема API (OpenAPI/GraphQL/proto)не застосовно до цього типу програмного забезпечення
20/20Сервер MCP
40/40Придатні до запуску прикладиdemos, examples
Використані вхідні дані
example_dirsdemos, examples
has_mcp_signalтак
api_schema_files
interfaces_expected_of
Виключено з оцінювання (немає даних або не застосовно): Схема API (OpenAPI/GraphQL/proto). Залишкові ваги перенормовано.

Ключові факти

498зірок GitHub
2контриб'юторів
2 224комітів за останні 12 місяців
0днів від останнього пушу
68релізів
1бас-фактор
1відкритих issue
PyPIпакетних екосистем

Докладніше

OpenSSF Scorecard 6.1 / 10
6.1сукупно

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).Scorecard v5.5.0 · 2026-07-15 21:18 UTC

10Binary-Artifactsno binaries found in the repo
н/дBranch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
н/дCI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
3Contributorsproject has 1 contributing companies or organizations -- score normalized to 3
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
1Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 1
0SASTno SAST tool detected
10Security-Policysecurity policy file detected
8Signed-Releases5 out of the last 5 releases have a total of 5 signed artifacts.
7Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities20 existing vulnerabilities detected
Прямі залежності 5
РеєстрПакетОбмеження версіїМаніфест
PyPIclick>=8.0pyproject.toml
PyPItree-sitter>=0.23pyproject.toml
PyPItree-sitter-language-pack>=0.6,<1.6.3pyproject.toml
PyPInetworkx>=3.0pyproject.toml
PyPItomlipyproject.toml
Усі залежності 160

Повний розв'язаний набір залежностей із графа залежностей GitHub: 10 прямих і 150 непрямих (транзитивних) пакетів. Транзитивне замикання є повним, коли в репозиторії закомічено lockfile.

РеєстрПакетВерсіяЗв'язок
PyPIclickпряма
PyPIclick8.3.3пряма
PyPInetworkxпряма
PyPInetworkx3.4.2пряма
PyPInetworkx3.6.1пряма
PyPItomli2.4.1пряма
PyPItree-sitterпряма
PyPItree-sitter0.25.2пряма
PyPItree-sitter-language-packпряма
PyPItree-sitter-language-pack1.6.2пряма
PyPIaiofile3.9.0непряма
PyPIannotated-doc0.0.4непряма
PyPIannotated-types0.7.0непряма
PyPIanyio4.13.0непряма
PyPIast-serialize0.5.0непряма
PyPIattrs26.1.0непряма
PyPIauthlib1.7.2непряма
PyPIbackports-asyncio-runner1.2.0непряма
PyPIbackports-tarfile1.2.0непряма
PyPIbeartype0.22.9непряма
PyPIboolean-py5.0непряма
PyPIbuildнепряма
PyPIbuild1.5.0непряма
PyPIcachetools7.1.1непряма
PyPIcaio0.9.25непряма
PyPIcertifi2026.4.22непряма
PyPIcffi2.0.0непряма
PyPIcharset-normalizer3.4.7непряма
PyPIcolorama0.4.6непряма
PyPIcryptography49.0.0непряма
PyPIcyclonedx-python-libнепряма
PyPIcyclonedx-python-lib11.7.0непряма
PyPIcyclopts4.12.0непряма
PyPIdefusedxml0.7.1непряма
PyPIdnspython2.8.0непряма
PyPIdocstring-parser0.18.0непряма
PyPIdocutils0.22.4непряма
PyPIemail-validator2.3.0непряма
PyPIexceptiongroup1.3.1непряма
PyPIexecnet2.1.2непряма
PyPIfastmcpнепряма
PyPIfastmcp3.2.4непряма
PyPIfilelock3.29.0непряма
PyPIflatbuffers25.12.19непряма
PyPIfsspec2026.4.0непряма
PyPIgriffelib2.0.2непряма
PyPIh110.16.0непряма
PyPIhatchlingнепряма
PyPIhf-xet1.5.0непряма
PyPIhttpcore1.0.9непряма
PyPIhttpx0.28.1непряма
PyPIhttpx-sse0.4.3непряма
PyPIhuggingface-hub1.14.0непряма
PyPIid1.6.1непряма
PyPIidna3.15непряма
PyPIigraphнепряма
PyPIigraph1.0.0непряма
PyPIimportlib-metadata8.7.1непряма
PyPIiniconfig2.3.0непряма
PyPIjaraco-classes3.4.0непряма
PyPIjaraco-context6.1.2непряма
PyPIjaraco-functools4.4.0непряма
PyPIjeepney0.9.0непряма
PyPIjoserfc1.7.3непряма
PyPIjsonref1.1.0непряма
PyPIjsonschema4.26.0непряма
PyPIjsonschema-path0.4.6непряма
PyPIjsonschema-specifications2025.9.1непряма
PyPIkeyring25.7.0непряма
PyPIleidenalgнепряма
PyPIleidenalg0.11.0непряма
PyPIlibrt0.11.0непряма
PyPIlicense-expression30.4.4непряма
PyPIlightgbmнепряма
PyPIlightgbm4.6.0непряма
PyPImarkdown-it-py4.2.0непряма
PyPImcp1.27.1непряма
PyPImdurl0.1.2непряма
PyPImore-itertools11.0.2непряма
PyPImpmath1.3.0непряма
PyPImypy2.1.0непряма
PyPImypy-extensions1.1.0непряма
PyPInh30.3.5непряма
PyPInumpyнепряма
PyPInumpy2.2.6непряма
PyPInumpy2.4.4непряма
PyPIonnxruntimeнепряма
PyPIonnxruntime1.24.3непряма
PyPIonnxruntime1.26.0непряма
PyPIopenapi-pydantic0.5.1непряма
PyPIopentelemetry-api1.41.1непряма
PyPIpackageurl-python0.17.6непряма
PyPIpackaging26.2непряма
PyPIpathable0.5.0непряма
PyPIpathspec1.1.1непряма
PyPIpillow12.2.0непряма
PyPIplatformdirs4.9.6непряма
PyPIpluggy1.6.0непряма
PyPIprotobuf7.34.1непряма
PyPIpy-key-value-aio0.4.4непряма
PyPIpy-serializable2.1.0непряма
PyPIpycparser3.0непряма
PyPIpydantic2.13.4непряма
PyPIpydantic-core2.46.4непряма
PyPIpydantic-settings2.14.2непряма
PyPIpygments2.20.0непряма
PyPIpyjwt2.13.0непряма
PyPIpyperclip1.11.0непряма
PyPIpyproject-hooks1.2.0непряма
PyPIpytestнепряма
PyPIpytest9.0.3непряма
PyPIpytest-asyncioнепряма
PyPIpytest-asyncio1.3.0непряма
PyPIpytest-xdistнепряма
PyPIpytest-xdist3.8.0непряма
PyPIpython-dotenv1.2.2непряма
PyPIpython-multipart0.0.32непряма
PyPIpywin32311непряма
PyPIpywin32-ctypes0.2.3непряма
PyPIpyyamlнепряма
PyPIpyyaml6.0.3непряма
PyPIreadme-renderer44.0непряма
PyPIreferencing0.37.0непряма
PyPIrequests2.34.0непряма
PyPIrequests-toolbelt1.0.0непряма
PyPIrfc39862.0.0непряма
PyPIrich15.0.0непряма
PyPIrich-rst1.3.2непряма
PyPIroam-codeнепряма
PyPIroam-code13.7.0непряма
PyPIrpds-py0.30.0непряма
PyPIruffнепряма
PyPIruff0.15.12непряма
PyPIrustworkxнепряма
PyPIrustworkx0.17.1непряма
PyPIscipyнепряма
PyPIscipy1.15.3непряма
PyPIscipy1.17.1непряма
PyPIsecretstorage3.5.0непряма
PyPIsetuptoolsнепряма
PyPIshellingham1.5.4непряма
PyPIsortedcontainers2.4.0непряма
PyPIsse-starlette3.4.4непряма
PyPIstarlette1.3.1непряма
PyPIsympy1.14.0непряма
PyPItexttable1.7.0непряма
PyPItokenizersнепряма
PyPItokenizers0.23.1непряма
PyPItqdm4.67.3непряма
PyPItwineнепряма
PyPItwine6.2.0непряма
PyPItyper0.25.1непряма
PyPItyping-extensions4.15.0непряма
PyPItyping-inspection0.4.2непряма
PyPIuncalled-for0.3.2непряма
PyPIurllib32.7.0непряма
PyPIuvicorn0.46.0непряма
PyPIwatchfiles1.1.1непряма
PyPIwebsockets16.0непряма
PyPIzipp3.23.1непряма
Звіт у форматі JSON машиночитний

Зворотний зв’язок

Помітили щось хибне у цьому звіті або маєте чим поділитися? Неправильні вимірювання, непомічені інструменти, ідеї, запитання — усе доречно. Кожне повідомлення читається й отримує відповідь.

Повідомлення збережеться під час входу.

Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.

Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v2.10.0, схема v0.11.0 — повна методологія · вікі метрик.

Як окремий результат виглядає на тлі всього реєстру: сукупна статистикаPyPI.