Public record
Software health reportschema 0.27.0 · metrics 1.13.0 · 2026-07-25 12:49 UTC

imjuni / ctix

CLI to generate barrel file for webpack, rollup entrypoint

TypeScriptMIT★ 99 stars⑂ 24 forkssince Aug 2020View on GitHub ↗

imjuni/ctix holds a health index of 67 out of 100, placing it in the Moderate band. It scores highest on Engineering Quality (88/100) and lowest on Security (43/100). It was last updated 5 days ago. A single contributor accounts for most of its recent work.

67
overall / 100
Moderate

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At risk ceiling of 49. AI Readiness sits outside the overall score.

67
Excellent85-100Exemplary; meets essentially all checked criteria
Good70-84Healthy; minor gaps
Moderate50-69Acceptable with notable gaps; review recommended
At risk30-49Significant weaknesses; adoption warrants caution
Critical1-29Severe problems (abandoned, single-maintainer, no hygiene)
VitalityCommunity &AdoptionSustainability &GovernanceEngineeringQualitySecurityAI Readiness

Score profile

Each axis is a category. The shape matters more than the average — a healthy subject fills the whole shape, while a spike-and-crater profile means strength in one dimension is masking risk in another.

Ownership

ByungJoon LeePersonal account
44 followers102 public repossince Nov 2011

This repository is owned by a personal account. A single-owner project carries more continuity risk than an organization-backed one.

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publish
npmctix2.8.226,904805 days ago

Metrics by category

Vitality

Is the project alive — is code being written and are releases shipping?

78Good · 22% of overall
How it's scored
36/36Push recency — last push 5 days ago
6.9/36Commit cadence — 10/52 weeks with commits
14.6/18Commit volume — 41 commits in the last year
10/10OpenSSF Scorecard: Maintained — 21 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year41
human_commit_share1
days_since_last_push5
active_weeks_last_year10
How it's scored
27/27Ships releases — 43 releases published
36/36Release recency — latest release 5 days ago
19.8/27Release cadence — a release every ~77.5 days
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count43
latest_release_tagv2.8.2
releases_from_tagsno
days_since_latest_release5
mean_days_between_releases77.5
Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.

Community & Adoption

Does the project have users, downloads, attention, and a welcoming setup for contributors?

59Moderate · 18% of overall
How it's scored
32.3/60Stars — 99 stars
11.3/25Forks — 24 forks
0/15Watchers — 2 watchers
Inputs used
forks24
stars99
watchers2
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (MIT)
0/18CONTRIBUTING guide
13.5/13.5Code of conduct
0/7.2Issue template
0/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingno
has_issue_templateno
has_code_of_conductyes
has_pull_request_templateno
How it's scored
59.1/80Monthly downloads — 26,904 downloads/month across npm
0/20Registry dependents — not reported by this ecosystem
Inputs used
packagesctix
dependents
ecosystemsnpm
total_downloads
monthly_downloads26,904
Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.

Sustainability & Governance

Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?

61Moderate · 24% of overall
How it's scored
9/54Bus factor — 1 contributor(s) cover half of all commits
0.8/22.5Commit distribution — top contributor authored 96% of commits
9.5/13.5Contributor breadth — 7 contributors
0/10OpenSSF Scorecard: Contributors — project has 0 contributing companies or organizations -- score normalized to 0
Inputs used
bus_factor1
contributors_sampled7
top_contributor_share0.963
How it's scored
45.9/46.8Issue resolution — 98% of issues closed
36.7/38.3PR acceptance — 140/146 decided PRs merged
0/15OpenSSF Scorecard: Code-Review — Found 0/12 approved changesets -- score normalized to 0
Inputs used
merged_prs140
open_issues1
closed_issues55
issue_closed_ratio0.982
closed_unmerged_prs6
How it's scored
10/30Ownership backing — personal (user) account
0/20Verified domain — not applicable to user accounts
11.9/25Owner reach — 44 followers of imjuni
25/25Track record — 102 public repos, account ~14 yr old
Inputs used
followers44
owner_typeUser
is_verified
owner_loginimjuni
public_repos102
account_age_days5,379
Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.
How it's scored
25/25Published & resolvable — 1 package(s) on npm
35/35Publish recency — latest publish 5 days ago
20/20Version history — 80 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packagesctix
ecosystemsnpm
any_deprecatedno
min_days_since_publish5

Engineering Quality

Are baseline engineering and documentation practices in place?

88Excellent · 20% of overall
How it's scored
24/24CI workflows — 1 workflow(s)
24/24Tests present
16/16Linter config — .eslintrc.cjs
0/9.6Pre-commit hooks
6.4/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 12 out of 12 merged PRs checked by a CI test -- score normalized to 10
Inputs used
has_ciyes
has_testsyes
has_editorconfigyes
has_linter_configyes
has_precommit_configno

Documentation

85Excellent
How it's scored
30/30README
25/25Documentation directory
0/15Documentation / homepage site
10/10Repository description
10/10Topics — 9 topics
10/10Wiki
Inputs used
topicswebpack, automation, cli, index, rollupjs, typescript, barrel, barrel-files, barrels
has_wikiyes
homepage
has_readmeyes
has_docs_diryes
has_descriptionyes

Security

Are visible security and supply-chain practices strong, without unresolved high-risk jurisdiction exposure?

43At risk · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
2.5/2.5CI-Tests — 12 out of 12 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/12 approved changesets -- score normalized to 0
0/2.5Contributors — project has 0 contributing companies or organizations -- score normalized to 0
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5License — license file detected
7.5/7.5Maintained — 21 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — no data
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — no data
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 55 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate3.2
Excluded from scoring (no data or not applicable): packaging, signed_releases. Remaining weights renormalized.
How it's scored
35/35Direct dependencies free of known advisories — no direct dependency carries a known advisory
10/25Indirect dependencies free of known advisories — 1 affected: brace-expansion 2.1.2 (high 7.5)
40/40No advisories left outstanding — no advisory has been public longer than 90 days
Inputs used
sourceosv
advisories1
affected_packages1
assessed_packages155
unassessed_packages0
affected_by_severityhigh 1
direct_affected_packages0
Matched the npm:ctix@2.8.2 runtime dependency closure — what installing the published package pulls in — 155 packages. Reachability is not analyzed.

AI Readiness

How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score.

72Good · 0% of overall
How it's scored
45/45Agent instructions — .cursorrules, .windsurfrules, AGENTS.md, CLAUDE.md
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 96 of 100 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.96
agent_instruction_files.cursorrules, .windsurfrules, AGENTS.md, CLAUDE.md
agent_instruction_max_bytes415
How it's scored
0/18One-command bootstrap
22/22Automated tests
11/11Lint / format config — .eslintrc.cjs
11/11Static type checking — examples/type01/tsconfig.json, examples/type02/tsconfig.json, examples/type03/tsconfig.json, examples/type04/tsconfig.json, examples/type05/tsconfig.json, examples/type06/tsconfig.json, examples/type07/tsconfig.json, examples/type08/tsconfig.json, examples/type09/tsconfig.json, examples/type10/tsconfig.json, examples/type11/tsconfig.json, examples/type12/tsconfig.json, examples/type13/tsconfig.json, examples/type14/tsconfig.json, tsconfig.json
10/10Reproducible environment — lockfile
10/10Demonstrated agent practice — 21 of the last 100 commits agent-authored or agent-credited
0/8Automated maintenance — no automated dependency updates observed
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Inputs used
has_nixno
has_testsyes
lockfilespnpm-lock.yaml
has_dockerfileno
typed_languageyes
bootstrap_files
has_devcontainerno
has_linter_configyes
typecheck_configsexamples/type01/tsconfig.json, examples/type02/tsconfig.json, examples/type03/tsconfig.json, examples/type04/tsconfig.json, examples/type05/tsconfig.json, examples/type06/tsconfig.json, examples/type07/tsconfig.json, examples/type08/tsconfig.json, examples/type09/tsconfig.json, examples/type10/tsconfig.json, examples/type11/tsconfig.json, examples/type12/tsconfig.json, examples/type13/tsconfig.json, examples/type14/tsconfig.json, tsconfig.json
agent_commit_share0.21
toolchain_manifests
dependency_bot_commit_share0
How it's scored
45/45Type-checkable code — TypeScript (statically typed)
55/55Manageable file sizes — 0/373 source files over 60KB
Inputs used
primary_languageTypeScript
largest_source_bytes17,136
source_files_sampled373
oversized_source_files0
How it's scored
0/40API schema (OpenAPI/GraphQL/proto)
0/20MCP server
40/40Runnable examples — examples
Inputs used
example_dirsexamples
has_mcp_signalno
api_schema_files

Key facts

99GitHub stars
7contributors
41commits, last 12 months
5days since last push
43releases
1bus factor
1open issues
npmpackage ecosystems

Data collection warnings

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token

More detail

Star and fork history 0 ★ / 24 ⇿
0Stars
24Forks
36Releases

When each star and fork was added, collected from GitHub and bucketed by day. Cumulative growth sits directly above the daily additions it is made of, so the two read against each other: steady organic accretion looks nothing like an abrupt, short-lived burst. Where that difference is measurable, it is reported as growth authenticity.

048121620242422021-012023-022025-04
Major 1Minor 12Patch 21

Each point covers 4 days.

OpenSSF Scorecard 3.2 / 10
3.2aggregate

Independent, tool-agnostic security assessment from the open-source OpenSSF Scorecard. Each check rewards a security practice, not a specific vendor's tool. Checks Scorecard could not determine are marked n/a and excluded from the security score (never counted as zero).Scorecard v5.5.0 · 2026-07-25 12:49 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
10CI-Tests12 out of 12 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/12 approved changesets -- score normalized to 0
0Contributorsproject has 0 contributing companies or organizations -- score normalized to 0
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained21 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
n/aPackagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
n/aSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities55 existing vulnerabilities detected
Direct dependencies 31
RegistryPackageVersion constraintManifest
npmchalk^4.1.2package.json
npmchange-case^4.1.2package.json
npmcli-progress^3.12.0package.json
npmcomment-json^4.2.4package.json
npmcomment-parser^1.4.1package.json
npmconsola^3.2.3package.json
npmdayjs^1.11.10package.json
npmeta3.5.0package.json
npmfilenamify^4.3.0package.json
npmfind-up^5.0.0package.json
npmfuse.js^7.0.0package.json
npmglob^10.3.12package.json
npminquirer^8.2.5package.json
npminquirer-ts-checkbox-plus-prompt^1.0.1package.json
npmjson5^2.2.3package.json
npmjsonc-parser^3.2.1package.json
npmmathjs^12.0.0package.json
npmminimist^1.2.8package.json
npmmy-easy-fp^0.22.0package.json
npmmy-node-fp^0.10.3package.json
npmmy-only-either^1.3.0package.json
npmora^5.4.1package.json
npmpathe2.0.3package.json
npmsource-map-support^0.5.21package.json
npmts-morph28.0.0package.json
npmts-pattern^5.0.5package.json
npmtslib^2.6.2package.json
npmtype-check^0.4.0package.json
npmtype-fest5.0.1package.json
npmyaml2.9.0package.json
npmyargs17.7.2package.json
All dependencies 745

Full resolved dependency set from the GitHub dependency graph: 45 direct and 700 indirect (transitive) packages. The transitive closure is complete when the repository commits a lockfile.

RegistryPackageVersionRelation
npmchalk1.1.3direct
npmchalk2.4.2direct
npmchalk4.1.2direct
npmchalk5.3.0direct
npmchange-case4.1.2direct
npmcli-progress3.12.0direct
npmcomment-json4.2.4direct
npmcomment-parser1.4.1direct
npmconsola3.2.3direct
npmdayjs1.11.10direct
npmeta3.5.0direct
npmfilenamify4.3.0direct
npmfind-up5.0.0direct
npmfind-up7.0.0direct
npmfuse.js7.0.0direct
npmglob10.3.12direct
npmglob10.4.5direct
npmglob7.2.3direct
npminquirer8.2.6direct
npminquirer-ts-checkbox-plus-prompt1.0.1direct
npmjson51.0.2direct
npmjson52.2.3direct
npmjsonc-parser3.2.1direct
npmmathjs12.0.0direct
npmminimist1.2.8direct
npmmy-easy-fp0.14.0direct
npmmy-easy-fp0.19.3direct
npmmy-easy-fp0.22.0direct
npmmy-node-fp0.10.3direct
npmmy-node-fp0.8.1direct
npmmy-only-either1.3.0direct
npmora5.4.1direct
npmpathe2.0.3direct
npmsource-map-support0.5.21direct
npmts-morph28.0.0direct
npmts-pattern5.0.5direct
npmtslib2.6.2direct
npmtype-check0.4.0direct
npmtype-fest0.20.2direct
npmtype-fest0.21.3direct
npmtype-fest0.6.0direct
npmtype-fest3.13.1direct
npmtype-fest5.0.1direct
npmyaml2.9.0direct
npmyargs17.7.2direct
npm@aashutoshrathi/word-wrap1.2.6indirect
npm@ampproject/remapping2.3.0indirect
npm@babel/code-frame7.22.13indirect
npm@babel/code-frame7.29.7indirect
npm@babel/helper-string-parser7.23.4indirect
npm@babel/helper-string-parser7.25.9indirect
npm@babel/helper-validator-identifier7.25.9indirect
npm@babel/helper-validator-identifier7.29.7indirect
npm@babel/highlight7.22.20indirect
npm@babel/parser7.23.9indirect
npm@babel/parser7.27.0indirect
npm@babel/runtime7.23.2indirect
npm@babel/types7.23.9indirect
npm@babel/types7.27.0indirect
npm@bcoe/v8-coverage1.0.2indirect
npm@commitlint/cli20.1.0indirect
npm@commitlint/config-conventional20.0.0indirect
npm@commitlint/config-validator20.0.0indirect
npm@commitlint/ensure20.0.0indirect
npm@commitlint/execute-rule20.0.0indirect
npm@commitlint/format20.0.0indirect
npm@commitlint/is-ignored20.0.0indirect
npm@commitlint/lint20.0.0indirect
npm@commitlint/load20.1.0indirect
npm@commitlint/message20.0.0indirect
npm@commitlint/parse20.0.0indirect
npm@commitlint/read20.0.0indirect
npm@commitlint/resolve-extends20.1.0indirect
npm@commitlint/rules20.0.0indirect
npm@commitlint/to-lines20.0.0indirect
npm@commitlint/top-level20.0.0indirect
npm@commitlint/types20.0.0indirect
npm@cspotcode/source-map-support0.8.1indirect
npm@epic-web/invariant1.0.0indirect
npm@es-joy/jsdoccomment0.42.0indirect
npm@esbuild/aix-ppc640.25.2indirect
npm@esbuild/android-arm0.19.5indirect
npm@esbuild/android-arm0.25.2indirect
npm@esbuild/android-arm640.19.5indirect
npm@esbuild/android-arm640.25.2indirect
npm@esbuild/android-x640.19.5indirect
npm@esbuild/android-x640.25.2indirect
npm@esbuild/darwin-arm640.19.5indirect
npm@esbuild/darwin-arm640.25.2indirect
npm@esbuild/darwin-x640.19.5indirect
npm@esbuild/darwin-x640.25.2indirect
npm@esbuild/freebsd-arm640.19.5indirect
npm@esbuild/freebsd-arm640.25.2indirect
npm@esbuild/freebsd-x640.19.5indirect
npm@esbuild/freebsd-x640.25.2indirect
npm@esbuild/linux-arm0.19.5indirect
npm@esbuild/linux-arm0.25.2indirect
npm@esbuild/linux-arm640.19.5indirect
npm@esbuild/linux-arm640.25.2indirect
npm@esbuild/linux-ia320.19.5indirect
npm@esbuild/linux-ia320.25.2indirect
npm@esbuild/linux-loong640.19.5indirect
npm@esbuild/linux-loong640.25.2indirect
npm@esbuild/linux-mips64el0.19.5indirect
npm@esbuild/linux-mips64el0.25.2indirect
npm@esbuild/linux-ppc640.19.5indirect
npm@esbuild/linux-ppc640.25.2indirect
npm@esbuild/linux-riscv640.19.5indirect
npm@esbuild/linux-riscv640.25.2indirect
npm@esbuild/linux-s390x0.19.5indirect
npm@esbuild/linux-s390x0.25.2indirect
npm@esbuild/linux-x640.19.5indirect
npm@esbuild/linux-x640.25.2indirect
npm@esbuild/netbsd-arm640.25.2indirect
npm@esbuild/netbsd-x640.19.5indirect
npm@esbuild/netbsd-x640.25.2indirect
npm@esbuild/openbsd-arm640.25.2indirect
npm@esbuild/openbsd-x640.19.5indirect
npm@esbuild/openbsd-x640.25.2indirect
npm@esbuild/sunos-x640.19.5indirect
npm@esbuild/sunos-x640.25.2indirect
npm@esbuild/win32-arm640.19.5indirect
npm@esbuild/win32-arm640.25.2indirect
npm@esbuild/win32-ia320.19.5indirect
npm@esbuild/win32-ia320.25.2indirect
npm@esbuild/win32-x640.19.5indirect
npm@esbuild/win32-x640.25.2indirect
npm@eslint-community/eslint-utils4.4.0indirect
npm@eslint-community/regexpp4.10.0indirect
npm@eslint/eslintrc2.1.4indirect
npm@eslint/js8.57.0indirect
npm@humanwhocodes/config-array0.11.14indirect
npm@humanwhocodes/module-importer1.0.1indirect
npm@humanwhocodes/object-schema2.0.3indirect
npm@isaacs/balanced-match4.0.1indirect
npm@isaacs/brace-expansion5.0.0indirect
npm@isaacs/cliui8.0.2indirect
npm@istanbuljs/schema0.1.3indirect
npm@jest/schemas29.6.3indirect
npm@jridgewell/gen-mapping0.3.8indirect
npm@jridgewell/remapping2.3.5indirect
npm@jridgewell/resolve-uri3.1.1indirect
npm@jridgewell/set-array1.2.1indirect
npm@jridgewell/sourcemap-codec1.5.0indirect
npm@jridgewell/sourcemap-codec1.5.5indirect
npm@jridgewell/trace-mapping0.3.25indirect
npm@jridgewell/trace-mapping0.3.9indirect
npm@kwsites/file-exists1.1.1indirect
npm@kwsites/promise-deferred1.1.1indirect
npm@nodelib/fs.scandir2.1.5indirect
npm@nodelib/fs.stat2.0.5indirect
npm@nodelib/fs.walk1.2.8indirect
npm@pkgjs/parseargs0.11.0indirect
npm@pkgr/core0.1.1indirect
npm@rollup/plugin-node-resolve15.2.3indirect
npm@rollup/pluginutils5.0.5indirect
npm@rollup/rollup-android-arm-eabi4.14.2indirect
npm@rollup/rollup-android-arm644.14.2indirect
npm@rollup/rollup-darwin-arm644.14.2indirect
npm@rollup/rollup-darwin-x644.14.2indirect
npm@rollup/rollup-linux-arm-gnueabihf4.14.2indirect
npm@rollup/rollup-linux-arm64-gnu4.14.2indirect
npm@rollup/rollup-linux-arm64-musl4.14.2indirect
npm@rollup/rollup-linux-powerpc64le-gnu4.14.2indirect
npm@rollup/rollup-linux-riscv64-gnu4.14.2indirect
npm@rollup/rollup-linux-s390x-gnu4.14.2indirect
npm@rollup/rollup-linux-x64-gnu4.14.2indirect
npm@rollup/rollup-linux-x64-musl4.14.2indirect
npm@rollup/rollup-win32-arm64-msvc4.14.2indirect
npm@rollup/rollup-win32-ia32-msvc4.14.2indirect
npm@rollup/rollup-win32-x64-msvc4.14.2indirect
npm@sinclair/typebox0.27.8indirect
npm@ts-morph/common0.29.0indirect
npm@tsconfig/node101.0.9indirect
npm@tsconfig/node121.0.11indirect
npm@tsconfig/node141.0.3indirect
npm@tsconfig/node161.0.4indirect
npm@tsconfig/node1818.2.4indirect
npm@types/cli-progress3.11.5indirect
npm@types/conventional-commits-parser5.0.0indirect
npm@types/debug4.1.12indirect
npm@types/estree1.0.5indirect
npm@types/inquirer9.0.7indirect
npm@types/json-schema7.0.15indirect
npm@types/json50.0.29indirect
npm@types/minimatch5.1.2indirect
npm@types/minimist1.2.5indirect
npm@types/ms0.7.34indirect
npm@types/node20.9.0indirect
npm@types/normalize-package-data2.4.4indirect
npm@types/resolve1.20.2indirect
npm@types/semver7.5.8indirect
npm@types/source-map-support0.5.10indirect
npm@types/through0.0.33indirect
npm@types/type-check0.3.30indirect
npm@types/yargs17.0.32indirect
npm@types/yargs-parser21.0.3indirect
npm@typescript-eslint/eslint-plugin7.6.0indirect
npm@typescript-eslint/parser6.11.0indirect
npm@typescript-eslint/parser7.6.0indirect
npm@typescript-eslint/scope-manager6.11.0indirect
npm@typescript-eslint/scope-manager7.6.0indirect
npm@typescript-eslint/type-utils7.6.0indirect
npm@typescript-eslint/types6.11.0indirect
npm@typescript-eslint/types7.6.0indirect
npm@typescript-eslint/typescript-estree6.11.0indirect
npm@typescript-eslint/typescript-estree7.6.0indirect
npm@typescript-eslint/utils7.6.0indirect
npm@typescript-eslint/visitor-keys6.11.0indirect
npm@typescript-eslint/visitor-keys7.6.0indirect
npm@ungap/structured-clone1.2.0indirect
npm@vitest/coverage-v83.1.1indirect
npm@vitest/expect3.1.1indirect
npm@vitest/mocker3.1.1indirect
npm@vitest/pretty-format3.1.1indirect
npm@vitest/runner3.1.1indirect
npm@vitest/snapshot3.1.1indirect
npm@vitest/spy3.1.1indirect
npm@vitest/utils3.1.1indirect
npm@vue/compiler-core3.4.21indirect
npm@vue/compiler-dom3.4.21indirect
npm@vue/compiler-sfc3.4.21indirect
npm@vue/compiler-ssr3.4.21indirect
npm@vue/reactivity3.4.21indirect
npm@vue/runtime-core3.4.21indirect
npm@vue/runtime-dom3.4.21indirect
npm@vue/server-renderer3.4.21indirect
npm@vue/shared3.4.21indirect
npmacorn8.11.3indirect
npmacorn-jsx5.3.2indirect
npmacorn-walk8.3.2indirect
npmajv6.12.6indirect
npmajv8.12.0indirect
npmansi-escapes4.3.2indirect
npmansi-escapes7.1.1indirect
npmansi-regex2.1.1indirect
npmansi-regex5.0.1indirect
npmansi-regex6.0.1indirect
npmansi-styles2.2.1indirect
npmansi-styles3.2.1indirect
npmansi-styles4.3.0indirect
npmansi-styles5.2.0indirect
npmansi-styles6.2.1indirect
npmanymatch3.1.3indirect
npmare-docs-informative0.0.2indirect
npmarg4.1.3indirect
npmargparse2.0.1indirect
npmarray-buffer-byte-length1.0.0indirect
npmarray-ify1.0.0indirect
npmarray-includes3.1.7indirect
npmarray-timsort1.0.3indirect
npmarray-union2.1.0indirect
npmarray.prototype.findlastindex1.2.3indirect
npmarray.prototype.flat1.3.2indirect
npmarray.prototype.flatmap1.3.2indirect
npmarraybuffer.prototype.slice1.0.2indirect
npmassertion-error2.0.1indirect
npmavailable-typed-arrays1.0.5indirect
npmbalanced-match1.0.2indirect
npmbase64-js1.5.1indirect
npmbinary-extensions2.2.0indirect
npmbl4.1.0indirect
npmbrace-expansion1.1.11indirect
npmbrace-expansion2.0.1indirect
npmbraces3.0.2indirect
npmbraces3.0.3indirect
npmbuffer5.7.1indirect
npmbuffer-from1.1.2indirect
npmbuiltin-modules3.3.0indirect
npmcac6.7.14indirect
npmcall-bind1.0.5indirect
npmcallsites3.1.0indirect
npmcamel-case4.1.2indirect
npmcapital-case1.0.4indirect
npmchai5.2.0indirect
npmchardet0.7.0indirect
npmcheck-error2.1.1indirect
npmchokidar3.5.3indirect
npmcli-cursor3.1.0indirect
npmcli-cursor5.0.0indirect
npmcli-spinners2.9.1indirect
npmcli-truncate5.1.0indirect
npmcli-width3.0.0indirect
npmcliui8.0.1indirect
npmclone1.0.4indirect
npmcode-block-writer13.0.3indirect
npmcolor-convert1.9.3indirect
npmcolor-convert2.0.1indirect
npmcolor-name1.1.3indirect
npmcolor-name1.1.4indirect
npmcolorette2.0.20indirect
npmcommander14.0.1indirect
npmcommander9.5.0indirect
npmcommon-tags1.8.2indirect
npmcompare-func2.0.0indirect
npmcomplex.js2.1.1indirect
npmconcat-map0.0.1indirect
npmconfusing-browser-globals1.0.11indirect
npmconstant-case3.0.4indirect
npmconventional-changelog-angular7.0.0indirect
npmconventional-changelog-conventionalcommits7.0.2indirect
npmconventional-commits-parser5.0.0indirect
npmconvert-source-map2.0.0indirect
npmcore-util-is1.0.3indirect
npmcosmiconfig9.0.0indirect
npmcosmiconfig-typescript-loader6.1.0indirect
npmcreate-require1.1.1indirect
npmcross-env10.1.0indirect
npmcross-spawn6.0.5indirect
npmcross-spawn7.0.3indirect
npmcross-spawn7.0.6indirect
npmcsstype3.1.3indirect
npmdargs8.1.0indirect
npmdebug3.2.7indirect
npmdebug4.3.4indirect
npmdebug4.4.0indirect
npmdecimal.js10.4.3indirect
npmdeep-eql5.0.2indirect
npmdeep-is0.1.4indirect
npmdeepmerge4.3.1indirect
npmdefaults1.0.4indirect
npmdefine-data-property1.1.1indirect
npmdefine-properties1.2.1indirect
npmdeps-diff1.0.2indirect
npmdiff4.0.2indirect
npmdir-glob3.0.1indirect
npmdlv1.1.3indirect
npmdoctrine2.1.0indirect
npmdoctrine3.0.0indirect
npmdot-case3.0.4indirect
npmdot-prop5.3.0indirect
npmeastasianwidth0.2.0indirect
npmemoji-regex10.3.0indirect
npmemoji-regex8.0.0indirect
npmemoji-regex9.2.2indirect
npmenhanced-resolve5.15.0indirect
npmentities4.5.0indirect
npmenv-paths2.2.1indirect
npmenvironment1.1.0indirect
npmerror-ex1.3.2indirect
npmes-abstract1.22.3indirect
npmes-module-lexer1.6.0indirect
npmes-set-tostringtag2.0.2indirect
npmes-shim-unscopables1.0.2indirect
npmes-to-primitive1.2.1indirect
npmesbuild0.19.5indirect
npmesbuild0.25.2indirect
npmescalade3.1.1indirect
npmescape-latex1.2.0indirect
npmescape-string-regexp1.0.5indirect
npmescape-string-regexp4.0.0indirect
npmeslint8.57.0indirect
npmeslint-config-airbnb-base15.0.0indirect
npmeslint-config-airbnb-typescript18.0.0indirect
npmeslint-config-prettier9.1.0indirect
npmeslint-import-resolver-node0.3.9indirect
npmeslint-import-resolver-typescript3.6.1indirect
npmeslint-module-utils2.8.0indirect
npmeslint-plugin-import2.29.1indirect
npmeslint-plugin-jsdoc48.2.3indirect
npmeslint-plugin-prefer-arrow1.2.3indirect
npmeslint-plugin-prettier5.1.3indirect
npmeslint-scope7.2.2indirect
npmeslint-visitor-keys3.4.3indirect
npmespree9.6.1indirect
npmesprima4.0.1indirect
npmesquery1.5.0indirect
npmesrecurse4.3.0indirect
npmestraverse5.3.0indirect
npmestree-walker2.0.2indirect
npmestree-walker3.0.3indirect
npmesutils2.0.3indirect
npmeventemitter35.0.1indirect
npmexpect-type1.2.1indirect
npmexternal-editor3.1.0indirect
npmfast-copy3.0.1indirect
npmfast-deep-equal3.1.3indirect
npmfast-diff1.3.0indirect
npmfast-glob3.3.2indirect
npmfast-json-stable-stringify2.1.0indirect
npmfast-levenshtein2.0.6indirect
npmfast-safe-stringify2.1.1indirect
npmfastq1.15.0indirect
npmfdir6.5.0indirect
npmfigures3.2.0indirect
npmfile-entry-cache6.0.1indirect
npmfilename-reserved-regex2.0.0indirect
npmfill-range7.0.1indirect
npmfill-range7.1.1indirect
npmflat-cache3.2.0indirect
npmflatted3.2.9indirect
npmfor-each0.3.3indirect
npmforeground-child3.1.1indirect
npmfraction.js4.3.4indirect
npmfs.realpath1.0.0indirect
npmfsevents2.3.3indirect
npmfunction-bind1.1.2indirect
npmfunction.prototype.name1.1.6indirect
npmfunctions-have-names1.2.3indirect
npmget-caller-file2.0.5indirect
npmget-east-asian-width1.2.0indirect
npmget-east-asian-width1.4.0indirect
npmget-intrinsic1.2.2indirect
npmget-symbol-description1.0.0indirect
npmget-tsconfig4.7.2indirect
npmgit-raw-commits4.0.0indirect
npmglob-parent5.1.2indirect
npmglob-parent6.0.2indirect
npmglobal-directory4.0.1indirect
npmglobals13.23.0indirect
npmglobalthis1.0.3indirect
npmglobby11.1.0indirect
npmgopd1.0.1indirect
npmgraceful-fs4.2.11indirect
npmgraphemer1.4.0indirect
npmhas-ansi2.0.0indirect
npmhas-bigints1.0.2indirect
npmhas-flag3.0.0indirect
npmhas-flag4.0.0indirect
npmhas-own-prop2.0.0indirect
npmhas-property-descriptors1.0.1indirect
npmhas-proto1.0.1indirect
npmhas-symbols1.0.3indirect
npmhas-tostringtag1.0.0indirect
npmhasown2.0.0indirect
npmheader-case2.0.4indirect
npmhosted-git-info2.8.9indirect
npmhtml-escaper2.0.2indirect
npmhusky9.0.11indirect
npmiconv-lite0.4.24indirect
npmieee7541.2.1indirect
npmignore5.2.4indirect
npmignore5.3.1indirect
npmimport-fresh3.3.0indirect
npmimport-meta-resolve4.0.0indirect
npmimurmurhash0.1.4indirect
npmindent-string4.0.0indirect
npminflight1.0.6indirect
npminherits2.0.4indirect
npmini4.1.1indirect
npminternal-slot1.0.6indirect
npmis-array-buffer3.0.2indirect
npmis-arrayish0.2.1indirect
npmis-bigint1.0.4indirect
npmis-binary-path2.1.0indirect
npmis-boolean-object1.1.2indirect
npmis-builtin-module3.2.1indirect
npmis-callable1.2.7indirect
npmis-core-module2.13.1indirect
npmis-date-object1.0.5indirect
npmis-extglob2.1.1indirect
npmis-fullwidth-code-point3.0.0indirect
npmis-fullwidth-code-point5.0.0indirect
npmis-glob4.0.3indirect
npmis-interactive1.0.0indirect
npmis-module1.0.0indirect
npmis-negative-zero2.0.2indirect
npmis-number7.0.0indirect
npmis-number-object1.0.7indirect
npmis-obj2.0.0indirect
npmis-path-inside3.0.3indirect
npmis-regex1.1.4indirect
npmis-shared-array-buffer1.0.2indirect
npmis-string1.0.7indirect
npmis-symbol1.0.4indirect
npmis-text-path2.0.0indirect
npmis-typed-array1.1.12indirect
npmis-unicode-supported0.1.0indirect
npmis-weakref1.0.2indirect
npmisarray2.0.5indirect
npmisexe2.0.0indirect
npmistanbul-lib-coverage3.2.2indirect
npmistanbul-lib-report3.0.1indirect
npmistanbul-lib-source-maps5.0.6indirect
npmistanbul-reports3.1.7indirect
npmjackspeak2.3.6indirect
npmjackspeak3.4.3indirect
npmjavascript-natural-sort0.7.1indirect
npmjiti2.6.1indirect
npmjs-tokens4.0.0indirect
npmjs-yaml4.1.0indirect
npmjsdoc-type-pratt-parser4.0.0indirect
npmjson-buffer3.0.1indirect
npmjson-parse-better-errors1.0.2indirect
npmjson-parse-even-better-errors2.3.1indirect
npmjson-schema-traverse0.4.1indirect
npmjson-schema-traverse1.0.0indirect
npmjson-stable-stringify-without-jsonify1.0.1indirect
npmjsonparse1.3.1indirect
npmJSONStream1.3.5indirect
npmkeyv4.5.4indirect
npmlevn0.4.1indirect
npmlines-and-columns1.2.4indirect
npmlint-staged16.2.3indirect
npmlistr29.0.4indirect
npmload-json-file4.0.0indirect
npmlocate-path6.0.0indirect
npmlocate-path7.2.0indirect
npmlodash4.17.21indirect
npmlodash.camelcase4.3.0indirect
npmlodash.isplainobject4.0.6indirect
npmlodash.kebabcase4.1.1indirect
npmlodash.merge4.6.2indirect
npmlodash.mergewith4.6.2indirect
npmlodash.snakecase4.1.1indirect
npmlodash.startcase4.4.0indirect
npmlodash.uniq4.5.0indirect
npmlodash.upperfirst4.3.1indirect
npmlog-symbols4.1.0indirect
npmlog-update6.1.0indirect
npmloglevel1.8.1indirect
npmloglevel-colored-level-prefix1.0.0indirect
npmloupe3.1.3indirect
npmlower-case2.0.2indirect
npmlru-cache10.2.0indirect
npmlru-cache6.0.0indirect
npmmagic-string0.30.17indirect
npmmagic-string0.30.21indirect
npmmagic-string0.30.9indirect
npmmagicast0.3.5indirect
npmmake-dir4.0.0indirect
npmmake-error1.3.6indirect
npmmemorystream0.3.1indirect
npmmeow12.1.1indirect
npmmerge21.4.1indirect
npmmicromatch4.0.5indirect
npmmicromatch4.0.8indirect
npmmimic-fn2.1.0indirect
npmmimic-function5.0.1indirect
npmminimatch10.0.3indirect
npmminimatch3.1.2indirect
npmminimatch9.0.3indirect
npmminimatch9.0.4indirect
npmminipass7.0.4indirect
npmminipass7.1.2indirect
npmms2.1.2indirect
npmms2.1.3indirect
npmmute-stream0.0.8indirect
npmmylas2.1.13indirect
npmnano-spawn1.0.3indirect
npmnanoid3.3.7indirect
npmnatural-compare1.4.0indirect
npmnice-try1.0.5indirect
npmno-case3.0.4indirect
npmnormalize-package-data2.5.0indirect
npmnormalize-path3.0.0indirect
npmnpm-run-all4.1.5indirect
npmobject-inspect1.13.1indirect
npmobject-keys1.1.1indirect
npmobject.assign4.1.4indirect
npmobject.entries1.1.7indirect
npmobject.fromentries2.0.7indirect
npmobject.groupby1.0.1indirect
npmobject.values1.1.7indirect
npmonce1.4.0indirect
npmonetime5.1.2indirect
npmonetime7.0.0indirect
npmoptionator0.9.3indirect
npmos-tmpdir1.0.2indirect
npmp-limit3.1.0indirect
npmp-limit4.0.0indirect
npmp-locate5.0.0indirect
npmp-locate6.0.0indirect
npmpackage-json-from-dist1.0.1indirect
npmparam-case3.0.4indirect
npmparent-module1.0.1indirect
npmparse-json4.0.0indirect
npmparse-json5.2.0indirect
npmpascal-case3.1.2indirect
npmpath-browserify1.0.1indirect
npmpath-case3.0.4indirect
npmpath-exists4.0.0indirect
npmpath-exists5.0.0indirect
npmpath-is-absolute1.0.1indirect
npmpath-key2.0.1indirect
npmpath-key3.1.1indirect
npmpath-parse1.0.7indirect
npmpath-scurry1.10.2indirect
npmpath-scurry1.11.1indirect
npmpath-type3.0.0indirect
npmpath-type4.0.0indirect
npmpathval2.0.0indirect
npmpicocolors1.0.0indirect
npmpicocolors1.1.1indirect
npmpicomatch2.3.1indirect
npmpicomatch4.0.3indirect
npmpidtree0.3.1indirect
npmpidtree0.6.0indirect
npmpify3.0.0indirect
npmplimit-lit1.6.1indirect
npmpostcss8.4.35indirect
npmprelude-ls1.2.1indirect
npmprettier3.2.5indirect
npmprettier-eslint16.3.0indirect
npmprettier-linter-helpers1.0.0indirect
npmprettier-plugin-organize-imports4.0.0indirect
npmpretty-format29.7.0indirect
npmpunycode2.3.1indirect
npmqueue-lit1.5.2indirect
npmqueue-microtask1.2.3indirect
npmreact-is18.2.0indirect
npmread-pkg3.0.0indirect
npmread-pkg5.2.0indirect
npmreadable-stream3.6.2indirect
npmreaddirp3.6.0indirect
npmregenerator-runtime0.14.0indirect
npmregexp.prototype.flags1.5.1indirect
npmrepeat-string1.6.1indirect
npmrequire-directory2.1.1indirect
npmrequire-from-string2.0.2indirect
npmrequire-relative0.8.7indirect
npmresolve1.22.8indirect
npmresolve-from4.0.0indirect
npmresolve-from5.0.0indirect
npmresolve-pkg-maps1.0.0indirect
npmrestore-cursor3.1.0indirect
npmrestore-cursor5.1.0indirect
npmreusify1.0.4indirect
npmrfdc1.4.1indirect
npmrimraf3.0.2indirect
npmrimraf5.0.5indirect
npmrollup4.14.2indirect
npmrollup-plugin-dts6.4.1indirect
npmrun-async2.4.1indirect
npmrun-parallel1.2.0indirect
npmrxjs7.8.1indirect
npmsafe-array-concat1.0.1indirect
npmsafe-buffer5.2.1indirect
npmsafe-regex-test1.0.0indirect
npmsafer-buffer2.1.2indirect
npmseedrandom3.0.5indirect
npmsemver5.7.2indirect
npmsemver6.3.1indirect
npmsemver7.5.4indirect
npmsemver7.6.0indirect
npmsentence-case3.0.4indirect
npmset-function-length1.1.1indirect
npmset-function-name2.0.1indirect
npmshebang-command1.2.0indirect
npmshebang-command2.0.0indirect
npmshebang-regex1.0.0indirect
npmshebang-regex3.0.0indirect
npmshell-quote1.8.1indirect
npmside-channel1.0.4indirect
npmsiginfo2.0.0indirect
npmsignal-exit3.0.7indirect
npmsignal-exit4.1.0indirect
npmsimple-git3.20.0indirect
npmslash3.0.0indirect
npmslice-ansi7.1.0indirect
npmsnake-case3.0.4indirect
npmsource-map0.6.1indirect
npmsource-map-js1.0.2indirect
npmsource-map-js1.2.1indirect
npmspdx-correct3.2.0indirect
npmspdx-exceptions2.3.0indirect
npmspdx-expression-parse3.0.1indirect
npmspdx-expression-parse4.0.0indirect
npmspdx-license-ids3.0.16indirect
npmsplit24.2.0indirect
npmstackback0.0.2indirect
npmstd-env3.9.0indirect
npmstring-argv0.3.2indirect
npmstring-width4.2.3indirect
npmstring-width5.1.2indirect
npmstring-width7.1.0indirect
npmstring-width8.1.0indirect
npmstring.prototype.padend3.1.5indirect
npmstring.prototype.trim1.2.8indirect
npmstring.prototype.trimend1.0.7indirect
npmstring.prototype.trimstart1.0.7indirect
npmstring_decoder1.3.0indirect
npmstrip-ansi3.0.1indirect
npmstrip-ansi6.0.1indirect
npmstrip-ansi7.1.0indirect
npmstrip-bom3.0.0indirect
npmstrip-json-comments3.1.1indirect
npmstrip-outer1.0.1indirect
npmsupports-color2.0.0indirect
npmsupports-color5.5.0indirect
npmsupports-color7.2.0indirect
npmsupports-preserve-symlinks-flag1.0.0indirect
npmsynckit0.8.8indirect
npmtagged-tag1.0.0indirect
npmtapable2.2.1indirect
npmtest-exclude7.0.1indirect
npmtext-extensions2.4.0indirect
npmtext-table0.2.0indirect
npmthrough2.3.8indirect
npmtiny-emitter2.1.0indirect
npmtinybench2.9.0indirect
npmtinyexec0.3.2indirect
npmtinyexec1.0.1indirect
npmtinyglobby0.2.15indirect
npmtinypool1.0.2indirect
npmtinyrainbow2.0.0indirect
npmtinyspy3.0.2indirect
npmtmp0.0.33indirect
npmto-fast-properties2.0.0indirect
npmto-regex-range5.0.1indirect
npmtrim-repeated1.0.0indirect
npmts-api-utils1.0.3indirect
npmts-api-utils1.3.0indirect
npmts-node10.9.2indirect
npmtsc-alias1.8.8indirect
npmtsconfig-paths3.15.0indirect
npmtsconfig-paths4.2.0indirect
npmtyped-array-buffer1.0.0indirect
npmtyped-array-byte-length1.0.0indirect
npmtyped-array-byte-offset1.0.0indirect
npmtyped-array-length1.0.4indirect
npmtyped-function4.1.1indirect
npmtypescript5.9.3indirect
npmtypescript6.0.2indirect
npmunbox-primitive1.0.2indirect
npmundici-types5.26.5indirect
npmunicorn-magic0.1.0indirect
npmupper-case2.0.2indirect
npmupper-case-first2.0.2indirect
npmuri-js4.4.1indirect
npmutil-deprecate1.0.2indirect
npmv8-compile-cache-lib3.0.1indirect
npmvalidate-npm-package-license3.0.4indirect
npmvite5.1.4indirect
npmvite-node3.1.1indirect
npmvitest3.1.1indirect
npmvue3.4.21indirect
npmvue-eslint-parser9.3.2indirect
npmwcwidth1.0.1indirect
npmwhich1.3.1indirect
npmwhich2.0.2indirect
npmwhich-boxed-primitive1.0.2indirect
npmwhich-typed-array1.1.13indirect
npmwhy-is-node-running2.3.0indirect
npmwrap-ansi6.2.0indirect
npmwrap-ansi7.0.0indirect
npmwrap-ansi8.1.0indirect
npmwrap-ansi9.0.0indirect
npmwrappy1.0.2indirect
npmy18n5.0.8indirect
npmyallist4.0.0indirect
npmyargs-parser21.1.1indirect
npmyn3.1.1indirect
npmyocto-queue0.1.0indirect
npmyocto-queue1.0.0indirect
Dependency advisories 1

Installing npm:ctix@2.8.2 pulls in 155 packages, direct and transitive: 1 carry known advisories, of which 0 are direct dependencies.

PackageVersionRelationSeverityAdvisoriesFixed in
brace-expansion2.1.2indirecthigh15.0.8

An advisory means the version recorded in the dependency graph falls inside an advisory’s affected range. Reachability is not analysed, and the graph includes development and test pins — a finding may concern tooling rather than shipped software.

Raw JSON report machine-readable
{
  "data": {
    "repo": {
      "topics": [
        "webpack",
        "automation",
        "cli",
        "index",
        "rollupjs",
        "typescript",
        "barrel",
        "barrel-files",
        "barrels"
      ],
      "is_fork": false,
      "size_kb": 2982,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "Shell": 718,
        "JavaScript": 7217,
        "TypeScript": 454247
      },
      "pushed_at": "2026-07-19T14:54:05Z",
      "created_at": "2020-08-08T02:33:03Z",
      "owner_type": "User",
      "updated_at": "2026-07-19T14:49:59Z",
      "description": "CLI to generate barrel file for webpack, rollup entrypoint",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "master",
      "license_spdx_raw": "MIT",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://imjuni.github.io/imjuni/",
      "name": "ByungJoon Lee",
      "type": "User",
      "login": "imjuni",
      "company": null,
      "location": "Korea",
      "followers": 44,
      "avatar_url": "https://avatars.githubusercontent.com/u/1166575?v=4",
      "created_at": "2011-11-02T05:08:34Z",
      "is_verified": null,
      "public_repos": 102,
      "account_age_days": 5379
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v2.8.2",
          "kind": "patch",
          "published_at": "2026-07-19T14:54:05Z"
        },
        {
          "tag": "v2.8.1",
          "kind": "patch",
          "published_at": "2026-05-31T08:58:07Z"
        },
        {
          "tag": "v2.8.0",
          "kind": "minor",
          "published_at": "2026-05-02T05:04:41Z"
        },
        {
          "tag": "v2.7.5",
          "kind": "patch",
          "published_at": "2026-03-02T16:24:23Z"
        },
        {
          "tag": "v2.7.4",
          "kind": "patch",
          "published_at": "2026-03-02T16:05:06Z"
        },
        {
          "tag": "v2.7.2",
          "kind": "patch",
          "published_at": "2025-12-14T05:46:05Z"
        },
        {
          "tag": "v2.7.1",
          "kind": "patch",
          "published_at": "2025-04-13T16:09:30Z"
        },
        {
          "tag": "v2.7.0",
          "kind": "minor",
          "published_at": "2024-10-03T04:12:04Z"
        },
        {
          "tag": "v2.6.4",
          "kind": "patch",
          "published_at": "2024-09-05T08:48:14Z"
        },
        {
          "tag": "v2.6.3",
          "kind": "patch",
          "published_at": "2024-08-21T07:59:56Z"
        },
        {
          "tag": "v2.6.2",
          "kind": "patch",
          "published_at": "2024-08-19T07:50:10Z"
        },
        {
          "tag": "v2.6.1",
          "kind": "patch",
          "published_at": "2024-08-12T10:26:38Z"
        },
        {
          "tag": "v2.6.0",
          "kind": "minor",
          "published_at": "2024-08-10T21:13:12Z"
        },
        {
          "tag": "v2.5.1",
          "kind": "patch",
          "published_at": "2024-06-24T16:31:26Z"
        },
        {
          "tag": "v2.4.5",
          "kind": "patch",
          "published_at": "2024-06-02T15:41:10Z"
        },
        {
          "tag": "v2.4.4",
          "kind": "patch",
          "published_at": "2024-04-13T16:13:49Z"
        },
        {
          "tag": "v2.4.3",
          "kind": "patch",
          "published_at": "2024-03-28T04:42:12Z"
        },
        {
          "tag": "v2.4.2",
          "kind": "patch",
          "published_at": "2024-03-25T16:17:59Z"
        },
        {
          "tag": "v2.4.1",
          "kind": "patch",
          "published_at": "2024-03-18T17:22:18Z"
        },
        {
          "tag": "v2.4.0",
          "kind": "minor",
          "published_at": "2024-02-25T16:59:07Z"
        },
        {
          "tag": "v2.3.0",
          "kind": "minor",
          "published_at": "2023-11-15T16:57:04Z"
        },
        {
          "tag": "v2.2.0",
          "kind": "minor",
          "published_at": "2023-11-14T16:35:22Z"
        },
        {
          "tag": "v2.1.0",
          "kind": "minor",
          "published_at": "2023-11-10T17:58:02Z"
        },
        {
          "tag": "v2.0.0",
          "kind": "major",
          "published_at": "2023-11-07T17:05:09Z"
        },
        {
          "tag": "2.0.0-beta.4",
          "kind": "prerelease",
          "published_at": "2023-11-05T18:33:03Z"
        },
        {
          "tag": "v2.0.0-beta.3",
          "kind": "prerelease",
          "published_at": "2023-11-04T16:40:53Z"
        },
        {
          "tag": "v1.8.3",
          "kind": "patch",
          "published_at": "2023-10-23T16:40:19Z"
        },
        {
          "tag": "v1.8.2",
          "kind": "patch",
          "published_at": "2023-01-28T05:24:52Z"
        },
        {
          "tag": "v1.8.1",
          "kind": "patch",
          "published_at": "2022-12-21T17:24:59Z"
        },
        {
          "tag": "v1.8.0",
          "kind": "minor",
          "published_at": "2022-12-11T02:53:56Z"
        },
        {
          "tag": "v1.7.0",
          "kind": "minor",
          "published_at": "2022-11-19T16:19:47Z"
        },
        {
          "tag": "v1.6.0",
          "kind": "minor",
          "published_at": "2022-11-13T08:04:13Z"
        },
        {
          "tag": "v1.5.5",
          "kind": "patch",
          "published_at": "2022-11-12T15:03:27Z"
        },
        {
          "tag": "v1.5.4",
          "kind": "patch",
          "published_at": "2022-11-01T13:59:02Z"
        },
        {
          "tag": "v1.5.3",
          "kind": "patch",
          "published_at": "2022-10-29T07:03:36Z"
        },
        {
          "tag": "v1.5.2",
          "kind": "patch",
          "published_at": "2022-10-20T09:24:48Z"
        },
        {
          "tag": "v1.5.1",
          "kind": "patch",
          "published_at": "2022-10-16T16:22:42Z"
        },
        {
          "tag": "v1.5.0",
          "kind": "minor",
          "published_at": "2022-10-10T15:39:00Z"
        },
        {
          "tag": "v1.4.0",
          "kind": "minor",
          "published_at": "2022-09-04T16:18:52Z"
        },
        {
          "tag": "v1.3.4",
          "kind": "patch",
          "published_at": "2022-08-25T01:54:26Z"
        },
        {
          "tag": "v1.3.3",
          "kind": "patch",
          "published_at": "2022-08-24T17:46:23Z"
        },
        {
          "tag": "v1.3.1",
          "kind": "patch",
          "published_at": "2022-08-05T00:26:01Z"
        },
        {
          "tag": "v1.3.0",
          "kind": "minor",
          "published_at": "2022-08-04T18:56:03Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "73223fcf1447587e2a3b5d2774ea87e66f67bff5",
          "body": null,
          "is_bot": false,
          "headline": "chore(version): bump version to 2.8.2",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-07-19T14:49:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "77448aa81e1fdea04835c540f59037173d951f92",
          "body": "- update ts-morph and TypeScript peer compatibility\n- migrate internal module resolution to bundler mode\n- replace the Vitest tsconfig paths plugin with an explicit alias\n- update declaration tooling and yargs type imports\n- document TypeScript 5 and 6 support",
          "is_bot": false,
          "headline": "feat(typescript): support TypeScript 6",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-07-19T14:49:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06ee02650f139c88a8053bd08e3c8b5f9cb54c94",
          "body": "- remove baseUrl from project and example TypeScript configs\n- make path alias targets explicitly relative to each config file\n- retain compatibility with TypeScript 5 path resolution",
          "is_bot": false,
          "headline": "refactor(config): remove baseUrl usage",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-07-19T14:49:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0b4cac152e3f0f47ca691886494543a364be758e",
          "body": null,
          "is_bot": false,
          "headline": "chore(version): bump version to 2.8.1",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-31T08:55:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "214461de50b7b4a01d35aebd63acefb6ce3207ac",
          "body": "* deps\n  * prod\n    * change yaml: 2.8.1 > 2.9.0",
          "is_bot": false,
          "headline": "feat(deps): yaml upgrade",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-31T08:41:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "76bb86dbc780463a0d67bbae3b522b56492b9561",
          "body": "ctix 2.8.0 supports TypeScript >=5.0.0 <6.0.0. TypeScript 6.x introduces\nESM-first defaults with breaking changes to moduleResolution and baseUrl\nthat are not yet supported. Added a callout with an explicit install command.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(readme): add TypeScript version requirement under Installation",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-02T04:55:38Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7230fe2c088b80aba74a815f437701139c83cb6b",
          "body": "- Add Debugger.ts tests: table(), logList(), close(), logFile setter,\n  enable getter, bootstrap idempotency, and stream write path\n- Add getCwd.ts tests: USE_INIT_CWD/INIT_CWD env var branches\n- Add IncludeContainer.ts test: empty map (map.size <= 0) branch\n- Add buildCorrectCasePathMap.ts test: win32 platform label branch\n- Mark genuinely unreachable defensive branches with v8 ignore comments\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "test(coverage): improve test coverage from 97.29% to 100%",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-01T15:54:13Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f405eaf6ed795032d2be598b9ebb4026b2732520",
          "body": "- Restrict peerDependencies typescript to >=5 <6 to prevent TypeScript 6.x\n  from being installed (>=5 was resolving to 6.x which deprecated baseUrl\n  and moduleResolution:node10 as hard errors)\n- Fix Buffer type incompatibility in indexWrites.ts introduced in TypeScript 5.9:\n  readFile now returns Buffer which is no longer assignable to writeFile's\n  parameter type; resolve by passing 'utf-8' encoding to return string instead\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(typescript): resolve TypeScript 5.9 compatibility issues",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-01T15:54:13Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "9581eb7c1f55cf7594bfbf5ab8ccbf627e1b73c0",
          "body": "Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(version): bump version to 2.8.0",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-01T15:54:13Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "986687a5b3e565993c7628a1d82ebe4119433b1b",
          "body": "…e names\n\n- bundling.ts: p → rawFilePath, sf → sourceFile\n- creating.ts: p → rawFilePath, sf → sourceFile\n- buildCorrectCasePathMap.ts: f → file\n- Fix typo in PROJECT.md coding guideline example (rawFilePaths → rawFilePath)\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refactor(naming): replace single-letter lambda params with descriptiv…",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-01T15:54:13Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "2b57cc5fe1b7a264fd96d877900d6de2a8eeed65",
          "body": "- Convert all Korean-only comments to bilingual format (English first, Korean below)\n- Applies to both inline (//) and JSDoc (/** */) comments across 13 source files\n- Improves accessibility for international contributors\n- Also adds variable naming guideline to PROJECT.md\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(comments): add English translations alongside Korean comments",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-01T15:54:13Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7a4d5e611f9698711e4f30127a7b7cbe65aee8dd",
          "body": "…hMap\n\nReplace the per-file getCorrectCasedPath O(N*D) readdir approach with a\nbatched buildCorrectCasePathMap that groups paths by parent directory and\nreads each directory exactly once via Promise.all, reducing I/O from\nO(N*D) to O(unique dirs).\n\nThree matching problems that would arise after case\n[…]\nd original-cased\n   paths that did not match corrected-path keys in both containers.\n   Fix: apply caseMap remapping before the filter chain.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(path): batch-correct source file casing with buildCorrectCasePat…",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-01T15:54:13Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "12f91b4b7be1873ed8eb16b86598de083638815c",
          "body": "…tput path\n\nThree regressions introduced after 2.7.2 are fixed:\n\n1. posixResolve: revert getCwd() usage back to path.resolve() so that\n   resolving relative paths is always anchored to the real process cwd,\n   not a potentially empty/unexpected INIT_CWD value that caused\n   path.resolve(\"\", \"./index\n[…]\nit\n   include in their tsconfig resolve to [] and nothing runs — the exact\n   Windows \"0 applicable files\" regression reported against 2.7.5.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(regression): restore 2.7.2 compatibility for Windows and empty ou…",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-01T15:54:13Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8a50b10a40cce95e85ad6c2795e698048923e4cb",
          "body": "… to ExcludeContainer\n\nGlob patterns with absolute paths (especially Windows drive-letter paths like\nC:/path/to/index.ts) are not reliably matched when a cwd is also provided.\nConvert the output file path to a relative path from projectDirPath using\nposixRelative() before adding it to the ExcludeContainer pattern list, so\nglob can resolve it correctly on all platforms.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(exclude): convert absolute output path to relative before passing…",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-01T15:54:13Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "1de870351d786cd1a70c679079053952de3e4390",
          "body": "When ctix resolves the project path with getCwd() as the base, the\nresulting absolute path was not forwarded to transformBundleMode,\ntransformCreateMode, or transformModuleMode. Each transform kept the\noriginal relative string (e.g. 'tsconfig.json') as bundleOption.project,\nwhich ProjectContainer th\n[…]\nsource files.\n\nBuild a resolvedArgv with the absolute project path and pass it to\nall three transform calls in the non-config-file code path.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(cwd): propagate resolved project path to transform functions",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-01T15:54:13Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "77875f6af28ebfb65168e644f5d60d82f0cacc0e",
          "body": "getCwd() already returns INIT_CWD when USE_INIT_CWD=true, but\npath.resolve() calls throughout the codebase were still anchored to\nthe real process.cwd() (the package root when running via pnpm scripts).\n\n- posixResolve: pass getCwd() as the base directory when resolving\n  relative paths so all calle\n[…]\nally respect USE_INIT_CWD\n- createBuildOptions: replace bare path.resolve(project) with\n  path.resolve(getCwd(), project) for the same reason\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(cwd): use getCwd() as base in posixResolve and createBuildOptions",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-01T15:54:13Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d5fd7f0083bd10b985c504f5e5d8238c7b103939",
          "body": "When ctix runs as an npm/pnpm script from a parent directory the\nscript runner changes process.cwd() to the package root. pnpm sets\nINIT_CWD to the directory where the user originally invoked the\ncommand, and USE_INIT_CWD=true signals that ctix should use that\nvalue instead.\n\n- getCwd(): return proc\n[…]\nide is applied consistently:\n  getConfigFilePath, readConfigFromPackageJson, getDefaultInitAnswer,\n  askInitOptions, askRemoveFiles, removing\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(cwd): honour USE_INIT_CWD / INIT_CWD in getCwd()",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-01T15:54:13Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5f268bbc6734344958d568c19d65af75b3d1b6b0",
          "body": "The previous fix returned true for all files when no include patterns\nwere specified, which caused ctix to process every TypeScript file\nthat ts-morph had loaded — including files from unrelated workspace\npackages outside the target directory.\n\nInstead, fall back to ['**/*.ts', '**/*.tsx'] resolved \n[…]\nthan\n  bypassing the map lookup entirely\n- Update unit test to assert the map is populated and a real project\n  file passes the include check\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(include): default to cwd-scoped glob when include is empty",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-01T15:54:13Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "51c508f9e3e8c2e73d787709233bdced9e1419ff",
          "body": "When no include patterns are specified (neither via --include flag,\n.ctirc config, nor tsconfig.json include field), IncludeContainer\nwas building an empty map and returning false for every file, causing\n'Cannot find target files' on projects whose tsconfig.json omits the\ninclude field (e.g. example\n[…]\ndd a verbose debug log when no patterns are specified to aid diagnosis\n- Update the corresponding unit test to assert the corrected behaviour\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(include): treat empty include patterns as no filter",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-01T15:54:13Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "11f6e061a2ddb73f95e0a0e4938bb1c3461c4179",
          "body": "- add logList() method to Debugger for printing labeled file lists\n- log ts-morph source files, include/exclude map contents, filtered\n  results at each stage in creating, bundling, and moduling commands\n- replace IncludeContainer constructor sample log (first 5) with full\n  file list via logList\n- \n[…]\n ExcludeContainer constructor log showing patterns, resolved map\n  files, and inline excludeds\n\nusage: ctix build --verbose 2> ctix-debug.log\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(debug): add verbose list logging for include/exclude pipeline",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-01T15:54:13Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "46436f92efc49724466baf1e5752d767d75bcf1f",
          "body": "- fix IncludeContainer.isInclude and ExcludeContainer.isExclude to\n  normalize backslashes before map lookup so Windows paths\n  (C:\\project\\src\\foo.ts) correctly match posix keys stored in the map\n  (C:/project/src/foo.ts)\n- fix getCorrectCasedPath to always return posix-separated paths via\n  replac\n[…]\nWindows\n- add regression tests for Windows-style backslash paths in both\n  IncludeContainer and ExcludeContainer (absolute, relative, inline)\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(windows): normalize path separators for Windows compatibility",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-05-01T15:54:13Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f1f9f44c9867c6da6222f89d037e5906f52d4418",
          "body": "Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(version): bump version to 2.7.6-beta1",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-03-14T11:38:45Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "8088fb6c73befd381ed258a2954e8139a9b756f1",
          "body": "Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(version): bump version to 2.7.6",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-03-14T11:38:45Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "4fdfb5847ca0ad1f7e5dd01a925d5b9e3c8da31e",
          "body": "Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(git): add mise.toml to .gitignore",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-03-14T10:56:20Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "3b60d382fb8f30889e1cb6f1d7f51e323bfa6230",
          "body": "… via extends chain\n\nIntroduce getInheritedFileScope which traverses the tsconfig extends chain to\nfind include and exclude patterns independently, respecting TypeScript's overwrite\n(not merge) semantics. This replaces the previous approach of reading only the\nraw JSON of the immediate tsconfig file\n[…]\n createBuildOptions\nto pass projectFilePath (tsconfig file path) and the correct projectDirPath\n(directory, not file path) to both functions.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(compilers): add getInheritedFileScope to resolve include/exclude…",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-03-14T10:56:20Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "028460c55506caca45d5b6fa242a883569ab4508",
          "body": null,
          "is_bot": false,
          "headline": "chore(version): bump version to 2.7.5",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-03-02T16:18:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d82b8fdb06e379aa77b54ed1cf3b052d6a98bdbf",
          "body": null,
          "is_bot": false,
          "headline": "fix(creating): correct exclusion filter logic in filename processing",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-03-02T16:15:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f2b773dc8e316f3da892e1a96597f3218f263f1",
          "body": null,
          "is_bot": false,
          "headline": "chore(version): bump version to 2.7.4",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-03-02T16:03:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d8560da460587b825faadecd5cb72293c4c1396",
          "body": null,
          "is_bot": false,
          "headline": "feat(config): remove index.ts file to streamline exports",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-03-02T15:59:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a78242343b1cf84e73da01f451a4b268398a8cdd",
          "body": "… for case sensitivity",
          "is_bot": false,
          "headline": "feat(path): implement getSep function and enhance getCorrectCasedPath…",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-03-02T15:54:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bf4c6d4d946df3735a3ee46ebb4e31c19821da5d",
          "body": "…ile paths",
          "is_bot": false,
          "headline": "feat(path): add create mode example and correct casing handling for f…",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-03-02T15:54:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd8792f0331ebc29b99dbb09744c7bd7f94f4bfc",
          "body": null,
          "is_bot": false,
          "headline": "chore(version): bump version to 2.7.3",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-03-02T06:41:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e6197cc21355b49ef0f00c228da746bb20952217",
          "body": null,
          "is_bot": false,
          "headline": "feat(creating): remove duplicate files in create mode processing",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-03-02T06:35:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cf226a6a6222e01cbc7c50001c20c650736eb324",
          "body": null,
          "is_bot": false,
          "headline": "feat(cli): add array option for exclude-files in setModeGenerateOptions",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2026-03-02T06:35:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "10d87c20c2b0eb9c20107383bdeefbdc2fe30c0e",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): `2.7.1` > `2.7.2`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2025-12-14T05:42:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "86f63fc75c374bb88e5a8c88f7a8728a4ff39f4f",
          "body": null,
          "is_bot": false,
          "headline": "feat(ci): add Node.js v24.x to CI workflow matrix",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2025-12-14T05:38:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "667d499aa438780bef2e559545337a9498cec594",
          "body": null,
          "is_bot": false,
          "headline": "test(path): add test case for empty object input in getPathFromReaddir",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2025-12-14T05:34:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a322fa591f1c8941cbf93d3bd26cc65ff885891d",
          "body": "- add getPathFromReaddir function and tests\n- implement getCwd for safety testing",
          "is_bot": false,
          "headline": "feat(path): fix problem when using node.js v24.x",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2025-12-14T05:34:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "159e020ae1f38e8a212c574c66c5a19c35c142ed",
          "body": null,
          "is_bot": false,
          "headline": "fix(creating): update import path logic for file rendering #177",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2025-11-23T14:51:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dc76907eb6122bb795fcbbf929cf22fa3f327eae",
          "body": "- create PROJECT.md in .claude/ directory\n- include project structure with detailed directory tree\n- document core purpose and key features\n- list tech stack and build system information\n- add key directory descriptions for better navigation\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(claude): add comprehensive project overview",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2025-10-03T03:19:45Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "c3d45651ee2131eb821f742d7dcec9d4a5bbed30",
          "body": "* deps\n  * prod\n    * change eta: 3.4.0 > 4.0.1\n    * change pathe: 1.1.2 > 2.0.3\n    * change ts-morph: 23.0.0 > 27.0.0\n    * change type-fest: 4.15.0 > 5.0.1\n    * change yaml: 2.4.1 > 2.8.1\n    * change yargs: 17.7.2 > 18.0.0\n  * dev\n    * change @commitlint/cli: 19.2.1 > 20.1.0\n    * change @commitlint/config-conventional: 19.1.0 > 20.0.0\n    * change cross-env: 7.0.3 > 10.1.0\n    * change esbuild: 0.20.2 > 0.25.2\n    * change lint-staged: 15.2.2 > 16.2.3",
          "is_bot": false,
          "headline": "chore(deps): upgrade package version",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2025-10-03T02:51:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "520bc6a54e9353bae2b19c3f77bfaeac94b2942f",
          "body": null,
          "is_bot": false,
          "headline": "chore(security): bumps package version",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2025-04-13T16:35:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c0320d1a2edefc485c7187aaeb2f6dd17b9af85f",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): `2.7.0` > `2.7.1`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2025-04-13T16:02:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa028c0680026dc4998b0fdbf379d21df53f8829",
          "body": "- Fixed an issue where the skipEmptyDir option was not working in create mode.\n- Fixed an issue where the generationStyle option was not applied in create mode.",
          "is_bot": false,
          "headline": "fix: create mode - fix skipEmptyDir options not working",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2025-04-13T15:58:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "799cb9cdda4ac5ba01f7f8a9f12e25fe686359af",
          "body": null,
          "is_bot": false,
          "headline": "fix: typo",
          "author_name": "Jimmy Chen",
          "author_login": "Q16solver",
          "committed_at": "2025-04-11T23:57:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8d8327c9535bb625513a4c6abe9df8251c520c17",
          "body": "- fix: build error by getString",
          "is_bot": false,
          "headline": "fix(chore): fix build error",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2025-03-30T02:17:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b4fa026a95ff666338c00d351a7fa4d99e635c6b",
          "body": null,
          "is_bot": false,
          "headline": "Correct typo in IModeGenerateOptions",
          "author_name": "Richard Wise",
          "author_login": "Woodz",
          "committed_at": "2025-01-22T05:26:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7816da7109a338888330d3bcf3de9477bd0dfcbd",
          "body": "- fix #163",
          "is_bot": false,
          "headline": "chore(release): `2.6.4` > `2.7.0`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-10-03T04:08:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "776b4c8e791fa9806348456fd4d1682fc339c98e",
          "body": "  - Add NotFoundExportedKind error class\n  - Add link for GitHub issue creation in CLI error message",
          "is_bot": false,
          "headline": "feat(cli): improve error message when encountering unsupported syntax",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-10-03T03:53:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6df01852d908b1bac281662b043f25ae39ccc878",
          "body": "- fix #158",
          "is_bot": false,
          "headline": "chore(release): `2.6.3` > `2.6.4`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-09-05T08:40:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "940f762db1751e27376d3d5e0036f0e29f759c60",
          "body": "- fix `@ctix-declaration` issue\n  - fixed an issue where files were added to `index.ts` even if they were not included in the include option.\n- enhance `README.md`",
          "is_bot": false,
          "headline": "feat(glob): fix `@ctix-declaration` issue",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-09-05T08:25:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "08f963bea314908006f7a7fff47be6aca09539b9",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): `2.6.2` > `2.6.3`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-08-21T07:52:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6090359d98e58b0239f4bca72202b228c95bed55",
          "body": "- update template for `@ctix-declaration`\n  - fixed issue where semicolon was not added at the end of lines\n  - fixed issue where newline character was not applied correctly",
          "is_bot": false,
          "headline": "fix(template): update template for `@ctix-declaration`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-08-21T07:10:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "998e3be16b35c2a813b5f81e09ec511d83e14a73",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): `2.6.1` > `2.6.2`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-08-19T07:42:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e20696b0586f4a81c7d2973335f645b56add34d2",
          "body": "…ectives",
          "is_bot": false,
          "headline": "fix: changed to have exclude options take precedence over comment dir…",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-08-19T07:33:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "51f4a6febffe2c010c9eec8e96aea098e1366392",
          "body": "  - fixed the issue with @ctix-declaration statement generation\n    - fixed the problem where the fileExt option was not working",
          "is_bot": false,
          "headline": "fix(#153): fixed the issue with @ctix-declaration statement generation",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-08-19T07:33:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c2d7e8fdd473338b0ab0d7b93614bc843fd00f24",
          "body": null,
          "is_bot": false,
          "headline": "chore(docs): enhance README.md documentation",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-08-12T08:41:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8b6cf17d74ae750221f4635489f0b3816b0debec",
          "body": "- fix testcase",
          "is_bot": false,
          "headline": "chore(release): `2.6.0` > `2.6.1`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-08-12T08:21:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6a82b7134e0bb7e496d71abb6e5d466e93e41e5",
          "body": "  - fix #145\n  - support declare statements even when other statements are present in the file\n    - except when there are export statements\n  - change peer dependencies version",
          "is_bot": false,
          "headline": "feat(compiler): enhance support for declare statements",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-08-12T08:13:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "815929273867cd3f634fab5b97160ca801e41d8c",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): `2.5.1` > `2.6.0`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-08-10T21:08:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bf47e230592ce8fd1dc48664f1d1993d9b45793c",
          "body": "- enhance TOC",
          "is_bot": false,
          "headline": "feat(doc): enhance README.md documentation",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-08-10T20:59:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4e3cf530b0e6263f6981e02a4db4d94e44e8dc7f",
          "body": "- enhance documentation on saving configurations\n  - options for saving in package.json, tsconfig.json, or .ctirc files\n- improve documentation on eslint-style inline comments",
          "is_bot": false,
          "headline": "feat(doc): enhance README.md documentation",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-08-10T20:53:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ca8273604d3cf5532b19dd8a3959a54d4117551",
          "body": "- add additional questions to the configuration file creation process:\n  - include descriptive comments in the configuration file or not?\n  - add only required options or all options?\n  - create a backup of the `tsconfig.json` or `package.json` file or not?\n- add a new json package to preserve comments:\n  - add the comment-json package",
          "is_bot": false,
          "headline": "feat(config): enhance configuration file creation command",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-08-10T17:04:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0b880233470b8a10e7f935d95a9e9bd506941363",
          "body": "- enhance configuration reading so that it can read from .ctirc, package.json, and tsconfig.json.\n- enhance visibility of the source of configuration from .ctirc, package.json, or tsconfig.json.",
          "is_bot": false,
          "headline": "feat: enhance the diversification of configuration file reading",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-08-03T16:33:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5962b7667518ad8d86212460d046b9d589fe6f3a",
          "body": "- enhance configuration reading\n  - configuration can be read from the `.ctirc`, `tsconfig.json`, `package.json`\n- enhance initialization command\n  - initialization command can select the position: `.ctirc`, `tsconfig.json`, `package.json`",
          "is_bot": false,
          "headline": "feat(config): diversification of configuration",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-08-01T04:03:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8dd84a9c6af47a80e1c625365d830925287b0812",
          "body": "- add: show a warning message in case of empty results\n- enhance documentation: add include/exclude options\n- add code of conduct",
          "is_bot": false,
          "headline": "feat(ui): show a warning message in case of empty results",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-07-30T06:16:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d6f73b06ae0f65176db27bc9168acddd2c1c6b3",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): `2.4.5` > `2.5.1`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-06-24T16:29:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f91d97730bbff5ba8e352f9c794c8d9b560dbd99",
          "body": null,
          "is_bot": false,
          "headline": "fix(deps): move `ts-morph` from devDependencies",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-06-24T16:18:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e475560342d64eb3b427fa03b31b627726eb8ab",
          "body": "- support TypeScript 5.5.x",
          "is_bot": false,
          "headline": "feat(deps): upgrade dependencies",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-06-24T15:58:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d55a90967be4a3d66c9cdb170252ad212cd803f8",
          "body": "- enhance `README.md`",
          "is_bot": false,
          "headline": "chore(release): `2.4.4` > `2.4.5`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-06-02T15:37:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "874a7b13db5850cad15b959deaeaaac9949b6ae7",
          "body": "- Added README.md file explaining the examples directory\n- Added testcase: improve test coverage",
          "is_bot": false,
          "headline": "chore(test): add description for the examples directory",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-06-02T15:23:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "82e66498f0dceb17b89764d7ec30cebad6f47abb",
          "body": "… name as alias\n\n- fix: false alert when exporting same name as alias\n  - when exporting as alias to avoid name conflicts",
          "is_bot": false,
          "headline": "fix(compiler): fix warning false alert when exporting types with same…",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-06-02T12:16:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8e17e2b06da17862adb4f868d2633d31acf67bb8",
          "body": "- change to examples because it contains many examples",
          "is_bot": false,
          "headline": "chore(path): change example path from example to examples",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-06-02T08:27:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c94e7732542ab052cc6f75a44d0c974f5fc5b93",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): `2.4.3` > `2.4.4`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-04-13T16:10:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3181feadba49c74a768485d7afa902696506222e",
          "body": "* deps\n  * prod\n    * change eta: 3.1.1 > 3.4.0\n    * change glob: 10.3.10 > 10.3.12\n    * change jsonc-parser: 3.2.0 > 3.2.1\n    * change my-easy-fp: 0.21.0 > 0.22.0\n    * change my-node-fp: 0.10.0 > 0.10.3\n    * change prettier: 3.0.3 > 3.2.5\n    * change type-fest: 4.5.0 > 4.15.0\n    * change typ\n[…]\n.2\n    * change prettier-eslint: 16.1.1 > 16.3.0\n    * change rollup: 4.1.4 > 4.14.2\n    * change vite-tsconfig-paths: 4.3.1 > 4.3.2\n    * change vitest: 1.3.1 > 1.5.0\n    * change vue: 3.3.6 > 3.4.21",
          "is_bot": false,
          "headline": "chore(deps): upgrade dependency",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-04-13T16:06:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d2928093403faead32f994fad58fa687353709a8",
          "body": null,
          "is_bot": false,
          "headline": "feat(directive): add new inline directive: `@ctix-declaration`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-04-13T14:47:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "660e2e1941ed98d759a1a6ec29192565139f00d4",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): `2.4.2` > `2.4.3`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-03-28T04:40:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "abab9a31574d7cc14ebcd3c2c6d4fcfc949a8832",
          "body": "…rt syntax\n\n- fixed issue when inline directive was used in default export syntax\n- fixed an issue where inline directives did not work when exporting variables",
          "is_bot": false,
          "headline": "feat(compiler): enhance when inline directive is used in default expo…",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-03-28T04:37:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e62c455473869d0bd0150ed17d127debe20673e2",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): `2.4.1` > `2.4.2`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-03-25T16:15:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa584ab74c8404e2aed73cfafd3ab09b2809b095",
          "body": null,
          "is_bot": false,
          "headline": "fix(template): fixed missing spaces in some settings",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-03-25T16:08:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "869d31f0c050427a21d7b2ad68a3c994fa85926b",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): `2.4.0` > `2.4.1`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-03-18T17:20:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4866e218221b049047d9a4b56b2af4ae1de6d5f7",
          "body": "…ult templates",
          "is_bot": false,
          "headline": "fix(template): fixed an error that prevented wrapping when using defa…",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-03-18T17:11:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96a787aad3306ce41c6fd4892dd87443ea4e126d",
          "body": null,
          "is_bot": false,
          "headline": "fix(options): fixed export-filename option applying order problem",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-03-18T16:37:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1aedcfcaa2a87ce1870d96678613749aa4e8102e",
          "body": null,
          "is_bot": false,
          "headline": "chore(file): remove unused file: `.DS_Store`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-03-02T03:25:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7b7c416ec59d863b97dcef4fb7e9e48dcdb4bd9e",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): `2.3.0` > `2.4.0`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-02-25T16:49:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb13b332982dca115fc7e36085d05d07bc236eb8",
          "body": null,
          "is_bot": false,
          "headline": "fix(path): fix project loading problem when execute on win32",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-02-25T16:41:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "caa5fef3a10492213d8ff9695852b34038af5982",
          "body": null,
          "is_bot": false,
          "headline": "docs(readme): add generation-style option in README.md",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-02-25T16:41:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f029945fee1ca257c08a832f585d68d0bd4eebe6",
          "body": null,
          "is_bot": false,
          "headline": "feat(win32): enhance testcase for win32",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-02-25T16:41:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7dedccb747b4ada039419b08a5f91160b027e6fa",
          "body": null,
          "is_bot": false,
          "headline": "feat(win32): support win32 environments",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-02-25T16:41:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "910162eb565ad27acd03bf68e6807b00d526458f",
          "body": "…h result values",
          "is_bot": false,
          "headline": "fix(ctix): change `\\\\` characters to be returned as `/` in glob searc…",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2024-02-25T16:41:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "53ba535d8ce4216d4dfc0df966c2a7c284447fa7",
          "body": "- \bfollow this to use `workspace` as a single task name in your monorepo project",
          "is_bot": false,
          "headline": "refactor: name of the feature: `namespace` to `workspace`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2023-11-16T09:03:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6859ae4f8ded85ebfc635734b5f3ae49198b2727",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 2.2.0 > 2.3.0",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2023-11-15T16:50:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7794ae5507e5207a5ca728562ac1acaad0ef11bc",
          "body": "- When using the `skipEmptyDir` option, the parent directory must be traversed to write the `index.ts` file, if the `startFrom` option is specified as a relative path, it must be changed to an absolute path to properly traverse the parent directory\n- Fixed a bug where the `include`, `exclude` logic \n[…]\nassed in a different directory from where the script was executed\n  - As a result of this change, `include` and `exclude` must be written relative to the path where the `tsconfig.json` file was passed",
          "is_bot": false,
          "headline": "fixup!: Fixed error with `startFrom` in create mode (#109)",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2023-11-15T16:21:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f8540eba92e7c1dd0341cd50c05c128b6bc5667d",
          "body": null,
          "is_bot": false,
          "headline": "Add: Add content about the programming interface to the `README.md`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2023-11-14T16:33:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "201b2cb8e23dfa8567131dfb150e2ac464f34ff8",
          "body": "- [fix] Fixed missing `type` keyword when `default export` statement is a pure type",
          "is_bot": false,
          "headline": "Fix: Add `type` keyword when `default export` statement is pure type.",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2023-11-14T16:04:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb601e21ad76d4ffa0cf031dc9806c565d1e23fb",
          "body": null,
          "is_bot": false,
          "headline": "version change: 2.1.0 > 2.2.0",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2023-11-14T15:38:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa4df2ae2c1f4c139a74ef64f97822ded70b3503",
          "body": "- [Add] Added removing programming interface\n- [Change] changed mermaid graph from `TD` to `LR` in README.md",
          "is_bot": false,
          "headline": "Added: added removing programming interface",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2023-11-14T15:33:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc8cb71db7d309ffb5383aa730f00c551a16fd01",
          "body": "- [enhance] Added the initialize programming interface\n- [enhance] Added the --force-yes option to the init command\n- [change] Improved search for `tsconfig.json` to include `tsconfig.*.json` when searching for `tsconfig.json`\n- [change] Removed config values from `.ctirc` files\n  - This value is de\n[…]\n passed to load the `.ctirc` file.\n- [change] Renamed interfaces to match their purpose.\n  - e.g. `ICommandBundleOption` > `IModeBundleOption`\n  - Changed the name of the mode option to command option",
          "is_bot": false,
          "headline": "Enhance: Added initialize programming interface",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2023-11-14T15:01:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "068735e1b63f101dfbe1a33bfb7c3da07c2473c2",
          "body": "- [change] change package manager, `npm` > `pnpm`\n- [change] change the package manager in CI settings",
          "is_bot": false,
          "headline": "Change: change package manager, `npm` > `pnpm`",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2023-11-14T10:36:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "788c05e25ae7753f0e94228ac5ac975e32428905",
          "body": null,
          "is_bot": false,
          "headline": "Add: Programming interface building functions",
          "author_name": "ByungJoon Lee",
          "author_login": "imjuni",
          "committed_at": "2023-11-14T10:23:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 43,
      "commits_last_year": 41,
      "latest_release_at": "2026-07-19T14:54:05Z",
      "latest_release_tag": "v2.8.2",
      "releases_from_tags": false,
      "days_since_last_push": 5,
      "active_weeks_last_year": 10,
      "days_since_latest_release": 5,
      "mean_days_between_releases": 77.5
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 57,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "ctix",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/ctix",
          "is_deprecated": false,
          "latest_version": "2.8.2",
          "repository_url": "https://github.com/imjuni/ctix",
          "versions_count": 80,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 26904,
          "first_published_at": "2020-08-20T06:06:59.223000Z",
          "latest_published_at": "2026-07-19T14:52:26.389000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 5
        }
      ]
    },
    "popularity": {
      "forks": 24,
      "stars": 99,
      "watchers": 2,
      "fork_history": {
        "days": [
          {
            "date": "2021-01-15",
            "count": 1
          },
          {
            "date": "2021-06-25",
            "count": 1
          },
          {
            "date": "2021-09-21",
            "count": 1
          },
          {
            "date": "2021-10-08",
            "count": 1
          },
          {
            "date": "2021-10-25",
            "count": 1
          },
          {
            "date": "2021-12-30",
            "count": 1
          },
          {
            "date": "2022-03-07",
            "count": 1
          },
          {
            "date": "2022-03-17",
            "count": 1
          },
          {
            "date": "2022-03-27",
            "count": 1
          },
          {
            "date": "2022-03-29",
            "count": 1
          },
          {
            "date": "2022-05-10",
            "count": 1
          },
          {
            "date": "2022-06-14",
            "count": 1
          },
          {
            "date": "2022-08-23",
            "count": 1
          },
          {
            "date": "2022-09-18",
            "count": 1
          },
          {
            "date": "2022-11-09",
            "count": 1
          },
          {
            "date": "2022-12-07",
            "count": 1
          },
          {
            "date": "2023-01-06",
            "count": 1
          },
          {
            "date": "2023-07-07",
            "count": 1
          },
          {
            "date": "2023-10-20",
            "count": 1
          },
          {
            "date": "2024-04-07",
            "count": 1
          },
          {
            "date": "2024-09-09",
            "count": 1
          },
          {
            "date": "2024-10-12",
            "count": 1
          },
          {
            "date": "2025-01-07",
            "count": 1
          },
          {
            "date": "2025-04-10",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 24,
        "total_forks": 24
      },
      "star_history": null,
      "open_issues_and_prs": 1
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "examples/type01/tsconfig.json",
        "examples/type02/tsconfig.json",
        "examples/type03/tsconfig.json",
        "examples/type04/tsconfig.json",
        "examples/type05/tsconfig.json",
        "examples/type06/tsconfig.json",
        "examples/type07/tsconfig.json",
        "examples/type08/tsconfig.json",
        "examples/type09/tsconfig.json",
        "examples/type10/tsconfig.json",
        "examples/type11/tsconfig.json",
        "examples/type12/tsconfig.json",
        "examples/type13/tsconfig.json",
        "examples/type14/tsconfig.json",
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 17136,
      "source_files_sampled": 373,
      "oversized_source_files": 0,
      "agent_instruction_files": [
        ".cursorrules",
        ".windsurfrules",
        "AGENTS.md",
        "CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 415
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.1.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-mh99-v99m-4gvg"
            ],
            "fixed_version": "5.0.8",
            "advisory_count": 1,
            "oldest_advisory_days": 0
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 1
        },
        "advisory_count": 1,
        "affected_count": 1,
        "assessed_count": 155,
        "malicious_count": 0,
        "assessed_package": "npm:ctix@2.8.2",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "chalk",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.1.2"
        },
        {
          "name": "change-case",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.1.2"
        },
        {
          "name": "cli-progress",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.12.0"
        },
        {
          "name": "comment-json",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.2.4"
        },
        {
          "name": "comment-parser",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.4.1"
        },
        {
          "name": "consola",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.2.3"
        },
        {
          "name": "dayjs",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.11.10"
        },
        {
          "name": "eta",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "3.5.0"
        },
        {
          "name": "filenamify",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.3.0"
        },
        {
          "name": "find-up",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.0.0"
        },
        {
          "name": "fuse.js",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^7.0.0"
        },
        {
          "name": "glob",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^10.3.12"
        },
        {
          "name": "inquirer",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.2.5"
        },
        {
          "name": "inquirer-ts-checkbox-plus-prompt",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.1"
        },
        {
          "name": "json5",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.2.3"
        },
        {
          "name": "jsonc-parser",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.2.1"
        },
        {
          "name": "mathjs",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^12.0.0"
        },
        {
          "name": "minimist",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.2.8"
        },
        {
          "name": "my-easy-fp",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.22.0"
        },
        {
          "name": "my-node-fp",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.10.3"
        },
        {
          "name": "my-only-either",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.3.0"
        },
        {
          "name": "ora",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.4.1"
        },
        {
          "name": "pathe",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "2.0.3"
        },
        {
          "name": "source-map-support",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.5.21"
        },
        {
          "name": "ts-morph",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "28.0.0"
        },
        {
          "name": "ts-pattern",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.0.5"
        },
        {
          "name": "tslib",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.6.2"
        },
        {
          "name": "type-check",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.4.0"
        },
        {
          "name": "type-fest",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "5.0.1"
        },
        {
          "name": "yaml",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "2.9.0"
        },
        {
          "name": "yargs",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "17.7.2"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "chalk",
            "direct": true,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": true,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": true,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": true,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "change-case",
            "direct": true,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "cli-progress",
            "direct": true,
            "version": "3.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "comment-json",
            "direct": true,
            "version": "4.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "comment-parser",
            "direct": true,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "consola",
            "direct": true,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "dayjs",
            "direct": true,
            "version": "1.11.10",
            "ecosystem": "npm"
          },
          {
            "name": "eta",
            "direct": true,
            "version": "3.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "filenamify",
            "direct": true,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": true,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": true,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fuse.js",
            "direct": true,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": true,
            "version": "10.3.12",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": true,
            "version": "10.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": true,
            "version": "7.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "inquirer",
            "direct": true,
            "version": "8.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "inquirer-ts-checkbox-plus-prompt",
            "direct": true,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": true,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": true,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jsonc-parser",
            "direct": true,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "mathjs",
            "direct": true,
            "version": "12.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": true,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "my-easy-fp",
            "direct": true,
            "version": "0.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "my-easy-fp",
            "direct": true,
            "version": "0.19.3",
            "ecosystem": "npm"
          },
          {
            "name": "my-easy-fp",
            "direct": true,
            "version": "0.22.0",
            "ecosystem": "npm"
          },
          {
            "name": "my-node-fp",
            "direct": true,
            "version": "0.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "my-node-fp",
            "direct": true,
            "version": "0.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "my-only-either",
            "direct": true,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ora",
            "direct": true,
            "version": "5.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": true,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-support",
            "direct": true,
            "version": "0.5.21",
            "ecosystem": "npm"
          },
          {
            "name": "ts-morph",
            "direct": true,
            "version": "28.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ts-pattern",
            "direct": true,
            "version": "5.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": true,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": true,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": true,
            "version": "0.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": true,
            "version": "0.21.3",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": true,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": true,
            "version": "3.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": true,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": true,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": true,
            "version": "17.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "@aashutoshrathi/word-wrap",
            "direct": false,
            "version": "1.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@ampproject/remapping",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.22.13",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.23.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.25.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.25.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/highlight",
            "direct": false,
            "version": "7.22.20",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.23.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.27.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.23.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.23.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.27.0",
            "ecosystem": "npm"
          },
          {
            "name": "@bcoe/v8-coverage",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/cli",
            "direct": false,
            "version": "20.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/config-conventional",
            "direct": false,
            "version": "20.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/config-validator",
            "direct": false,
            "version": "20.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/ensure",
            "direct": false,
            "version": "20.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/execute-rule",
            "direct": false,
            "version": "20.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/format",
            "direct": false,
            "version": "20.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/is-ignored",
            "direct": false,
            "version": "20.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/lint",
            "direct": false,
            "version": "20.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/load",
            "direct": false,
            "version": "20.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/message",
            "direct": false,
            "version": "20.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/parse",
            "direct": false,
            "version": "20.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/read",
            "direct": false,
            "version": "20.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/resolve-extends",
            "direct": false,
            "version": "20.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/rules",
            "direct": false,
            "version": "20.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/to-lines",
            "direct": false,
            "version": "20.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/top-level",
            "direct": false,
            "version": "20.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/types",
            "direct": false,
            "version": "20.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@cspotcode/source-map-support",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "@epic-web/invariant",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@es-joy/jsdoccomment",
            "direct": false,
            "version": "0.42.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/eslint-utils",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/regexpp",
            "direct": false,
            "version": "4.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "8.57.0",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/config-array",
            "direct": false,
            "version": "0.11.14",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/module-importer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/object-schema",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/balanced-match",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/brace-expansion",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/cliui",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@istanbuljs/schema",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/schemas",
            "direct": false,
            "version": "29.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/remapping",
            "direct": false,
            "version": "2.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/set-array",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.25",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "@kwsites/file-exists",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@kwsites/promise-deferred",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.scandir",
            "direct": false,
            "version": "2.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.stat",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.walk",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgjs/parseargs",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgr/core",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/plugin-node-resolve",
            "direct": false,
            "version": "15.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/pluginutils",
            "direct": false,
            "version": "5.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-powerpc64le-gnu",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "@sinclair/typebox",
            "direct": false,
            "version": "0.27.8",
            "ecosystem": "npm"
          },
          {
            "name": "@ts-morph/common",
            "direct": false,
            "version": "0.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node10",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node12",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node14",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node16",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node18",
            "direct": false,
            "version": "18.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/cli-progress",
            "direct": false,
            "version": "3.11.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/conventional-commits-parser",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/debug",
            "direct": false,
            "version": "4.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/inquirer",
            "direct": false,
            "version": "9.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json5",
            "direct": false,
            "version": "0.0.29",
            "ecosystem": "npm"
          },
          {
            "name": "@types/minimatch",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/minimist",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ms",
            "direct": false,
            "version": "0.7.34",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "20.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/normalize-package-data",
            "direct": false,
            "version": "2.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/resolve",
            "direct": false,
            "version": "1.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/semver",
            "direct": false,
            "version": "7.5.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/source-map-support",
            "direct": false,
            "version": "0.5.10",
            "ecosystem": "npm"
          },
          {
            "name": "@types/through",
            "direct": false,
            "version": "0.0.33",
            "ecosystem": "npm"
          },
          {
            "name": "@types/type-check",
            "direct": false,
            "version": "0.3.30",
            "ecosystem": "npm"
          },
          {
            "name": "@types/yargs",
            "direct": false,
            "version": "17.0.32",
            "ecosystem": "npm"
          },
          {
            "name": "@types/yargs-parser",
            "direct": false,
            "version": "21.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "7.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "6.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "7.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "6.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "7.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/type-utils",
            "direct": false,
            "version": "7.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "6.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "7.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "6.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "7.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "7.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "6.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "7.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@ungap/structured-clone",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/coverage-v8",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-core",
            "direct": false,
            "version": "3.4.21",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-dom",
            "direct": false,
            "version": "3.4.21",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-sfc",
            "direct": false,
            "version": "3.4.21",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-ssr",
            "direct": false,
            "version": "3.4.21",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/reactivity",
            "direct": false,
            "version": "3.4.21",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-core",
            "direct": false,
            "version": "3.4.21",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-dom",
            "direct": false,
            "version": "3.4.21",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/server-renderer",
            "direct": false,
            "version": "3.4.21",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/shared",
            "direct": false,
            "version": "3.4.21",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.11.3",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-walk",
            "direct": false,
            "version": "8.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.12.6",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "8.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-escapes",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-escapes",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "anymatch",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "are-docs-informative",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "arg",
            "direct": false,
            "version": "4.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "array-buffer-byte-length",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "array-ify",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "array-includes",
            "direct": false,
            "version": "3.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "array-timsort",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "array-union",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "array.prototype.findlastindex",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "array.prototype.flat",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "array.prototype.flatmap",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "arraybuffer.prototype.slice",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "available-typed-arrays",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "base64-js",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "binary-extensions",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "bl",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "5.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-from",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "builtin-modules",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "cac",
            "direct": false,
            "version": "6.7.14",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "camel-case",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "capital-case",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "chardet",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "check-error",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "3.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "cli-cursor",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-cursor",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-spinners",
            "direct": false,
            "version": "2.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "cli-truncate",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-width",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "clone",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "code-block-writer",
            "direct": false,
            "version": "13.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "1.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "colorette",
            "direct": false,
            "version": "2.0.20",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "14.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "9.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "common-tags",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "compare-func",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "complex.js",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "confusing-browser-globals",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "constant-case",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "conventional-changelog-angular",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "conventional-changelog-conventionalcommits",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "conventional-commits-parser",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "core-util-is",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "cosmiconfig",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cosmiconfig-typescript-loader",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "create-require",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "cross-env",
            "direct": false,
            "version": "10.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "6.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "csstype",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "dargs",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "3.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "decimal.js",
            "direct": false,
            "version": "10.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "deep-eql",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "deepmerge",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "defaults",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "define-data-property",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "define-properties",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "deps-diff",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "dir-glob",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "dlv",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "doctrine",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "doctrine",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dot-case",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "dot-prop",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "eastasianwidth",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "10.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "9.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "enhanced-resolve",
            "direct": false,
            "version": "5.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "env-paths",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "environment",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "error-ex",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "es-abstract",
            "direct": false,
            "version": "1.22.3",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-set-tostringtag",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "es-shim-unscopables",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "es-to-primitive",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "escape-latex",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "8.57.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-airbnb-base",
            "direct": false,
            "version": "15.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-airbnb-typescript",
            "direct": false,
            "version": "18.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-prettier",
            "direct": false,
            "version": "9.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-import-resolver-node",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-import-resolver-typescript",
            "direct": false,
            "version": "3.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-module-utils",
            "direct": false,
            "version": "2.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-import",
            "direct": false,
            "version": "2.29.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-jsdoc",
            "direct": false,
            "version": "48.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-prefer-arrow",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-prettier",
            "direct": false,
            "version": "5.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "7.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "9.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "esprima",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "eventemitter3",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "external-editor",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-copy",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-diff",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-glob",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fast-safe-stringify",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "fastq",
            "direct": false,
            "version": "1.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "figures",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "filename-reserved-regex",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "for-each",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "foreground-child",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "fraction.js",
            "direct": false,
            "version": "4.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "function.prototype.name",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "functions-have-names",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-east-asian-width",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-east-asian-width",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-symbol-description",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-tsconfig",
            "direct": false,
            "version": "4.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "git-raw-commits",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "global-directory",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "13.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "globalthis",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "globby",
            "direct": false,
            "version": "11.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "graphemer",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-ansi",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-bigints",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-own-prop",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-property-descriptors",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "has-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "has-tostringtag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "header-case",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "hosted-git-info",
            "direct": false,
            "version": "2.8.9",
            "ecosystem": "npm"
          },
          {
            "name": "html-escaper",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "husky",
            "direct": false,
            "version": "9.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.4.24",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "import-meta-resolve",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "indent-string",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ini",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "internal-slot",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "is-array-buffer",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-arrayish",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-bigint",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-binary-path",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-boolean-object",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-builtin-module",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-callable",
            "direct": false,
            "version": "1.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "is-core-module",
            "direct": false,
            "version": "2.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-date-object",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-interactive",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-module",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-negative-zero",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-number-object",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "is-obj",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-path-inside",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-regex",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-shared-array-buffer",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-string",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "is-symbol",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-text-path",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-typed-array",
            "direct": false,
            "version": "1.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "is-unicode-supported",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-weakref",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-coverage",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-report",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-source-maps",
            "direct": false,
            "version": "5.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-reports",
            "direct": false,
            "version": "3.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "jackspeak",
            "direct": false,
            "version": "2.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "jackspeak",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "javascript-natural-sort",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "jiti",
            "direct": false,
            "version": "2.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsdoc-type-pratt-parser",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-buffer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-better-errors",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-even-better-errors",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsonparse",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "JSONStream",
            "direct": false,
            "version": "1.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "lines-and-columns",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "lint-staged",
            "direct": false,
            "version": "16.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "listr2",
            "direct": false,
            "version": "9.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "load-json-file",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.17.21",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.camelcase",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.isplainobject",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.kebabcase",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.merge",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.mergewith",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.snakecase",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.startcase",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.uniq",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.upperfirst",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "log-symbols",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "log-update",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "loglevel",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "loglevel-colored-level-prefix",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "loupe",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "lower-case",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.17",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.9",
            "ecosystem": "npm"
          },
          {
            "name": "magicast",
            "direct": false,
            "version": "0.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "make-dir",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "make-error",
            "direct": false,
            "version": "1.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "memorystream",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "meow",
            "direct": false,
            "version": "12.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "merge2",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-fn",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-function",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "9.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "9.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mute-stream",
            "direct": false,
            "version": "0.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "mylas",
            "direct": false,
            "version": "2.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "nano-spawn",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "nice-try",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "no-case",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-package-data",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-path",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-all",
            "direct": false,
            "version": "4.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "object-inspect",
            "direct": false,
            "version": "1.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-keys",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object.assign",
            "direct": false,
            "version": "4.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "object.entries",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "object.fromentries",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "object.groupby",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "object.values",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "os-tmpdir",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "package-json-from-dist",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "param-case",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "pascal-case",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-browserify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-case",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-parse",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "1.10.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pathval",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "pidtree",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "pidtree",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "pify",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "plimit-lit",
            "direct": false,
            "version": "1.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.4.35",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "3.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "prettier-eslint",
            "direct": false,
            "version": "16.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "prettier-linter-helpers",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "prettier-plugin-organize-imports",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-format",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "queue-lit",
            "direct": false,
            "version": "1.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "queue-microtask",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "react-is",
            "direct": false,
            "version": "18.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-pkg",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-pkg",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "3.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "regenerator-runtime",
            "direct": false,
            "version": "0.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "regexp.prototype.flags",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "repeat-string",
            "direct": false,
            "version": "1.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "require-relative",
            "direct": false,
            "version": "0.8.7",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.22.8",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-pkg-maps",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "restore-cursor",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "restore-cursor",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "reusify",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "rfdc",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "5.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "rollup-plugin-dts",
            "direct": false,
            "version": "6.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "run-async",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "run-parallel",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "rxjs",
            "direct": false,
            "version": "7.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "safe-array-concat",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "safe-regex-test",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "seedrandom",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "5.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "sentence-case",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "set-function-length",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "set-function-name",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shell-quote",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "simple-git",
            "direct": false,
            "version": "3.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "slash",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "slice-ansi",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "snake-case",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-correct",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-exceptions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-expression-parse",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-expression-parse",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-license-ids",
            "direct": false,
            "version": "3.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "split2",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "3.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "string-argv",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.padend",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trim",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trimend",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trimstart",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-outer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-preserve-symlinks-flag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "synckit",
            "direct": false,
            "version": "0.8.8",
            "ecosystem": "npm"
          },
          {
            "name": "tagged-tag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tapable",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "test-exclude",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "text-extensions",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "text-table",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "through",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "tiny-emitter",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.15",
            "ecosystem": "npm"
          },
          {
            "name": "tinypool",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyspy",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "tmp",
            "direct": false,
            "version": "0.0.33",
            "ecosystem": "npm"
          },
          {
            "name": "to-fast-properties",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "trim-repeated",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ts-api-utils",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "ts-api-utils",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ts-node",
            "direct": false,
            "version": "10.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "tsc-alias",
            "direct": false,
            "version": "1.8.8",
            "ecosystem": "npm"
          },
          {
            "name": "tsconfig-paths",
            "direct": false,
            "version": "3.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "tsconfig-paths",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "typed-array-buffer",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "typed-array-byte-length",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "typed-array-byte-offset",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "typed-array-length",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "typed-function",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "unbox-primitive",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "5.26.5",
            "ecosystem": "npm"
          },
          {
            "name": "unicorn-magic",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "upper-case",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "upper-case-first",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "v8-compile-cache-lib",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "validate-npm-package-license",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "5.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "vite-node",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "vue",
            "direct": false,
            "version": "3.4.21",
            "ecosystem": "npm"
          },
          {
            "name": "vue-eslint-parser",
            "direct": false,
            "version": "9.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "wcwidth",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "which-boxed-primitive",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "which-typed-array",
            "direct": false,
            "version": "1.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "21.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yn",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 745,
        "direct_count": 45,
        "indirect_count": 700
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 140,
        "open_issues": 1,
        "closed_ratio": 0.982,
        "closed_issues": 55,
        "closed_unmerged_prs": 6
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "imjuni",
          "commits": 207,
          "avatar_url": "https://avatars.githubusercontent.com/u/1166575?v=4"
        },
        {
          "type": "User",
          "login": "StringKe",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/31089228?v=4"
        },
        {
          "type": "User",
          "login": "dankeboy36",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/111981763?v=4"
        },
        {
          "type": "User",
          "login": "cliarena",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/74734861?v=4"
        },
        {
          "type": "User",
          "login": "insidewhy",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/97685?v=4"
        },
        {
          "type": "User",
          "login": "Q16solver",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/50786287?v=4"
        },
        {
          "type": "User",
          "login": "Woodz",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/966157?v=4"
        }
      ],
      "contributors_sampled": 7,
      "top_contributor_share": 0.963
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".eslintrc.cjs"
      ],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "pnpm-lock.yaml"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "12 out of 12 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/12 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 0,
            "reason": "project has 0 contributing companies or organizations -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "21 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "55 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "73223fcf1447587e2a3b5d2774ea87e66f67bff5",
        "ran_at": "2026-07-25T12:49:25Z",
        "aggregate_score": 3.2,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-19T14:50:49Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": "2026-07-19T14:49:54Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 179,
          "created_at": "2025-11-22T15:51:55Z",
          "last_comment_at": "2025-12-16T09:41:14Z",
          "last_comment_author": "MrGazdag"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/imjuni/ctix",
    "host": "github.com",
    "name": "ctix",
    "owner": "imjuni"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 67,
      "inputs": {
        "security": 43,
        "vitality": 78,
        "community": 59,
        "governance": 61,
        "engineering": 88
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 78,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 68,
            "inputs": {
              "commits_last_year": 41,
              "human_commit_share": 1,
              "days_since_last_push": 5,
              "active_weeks_last_year": 10
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "10/52 weeks with commits",
                "points": 6.9,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 10
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "41 commits in the last year",
                "points": 14.6,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 41
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "21 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 92,
            "inputs": {
              "releases_count": 43,
              "latest_release_tag": "v2.8.2",
              "releases_from_tags": false,
              "days_since_latest_release": 5,
              "mean_days_between_releases": 77.5
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "43 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 43
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~77.5 days",
                "points": 19.8,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 77.5
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 5,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 5 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 59,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "at_risk",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 44,
            "inputs": {
              "forks": 24,
              "stars": 99,
              "watchers": 2,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "99 stars",
                "points": 32.3,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 99
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "24 forks",
                "points": 11.3,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 24
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "2 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 65,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "good",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 74,
            "inputs": {
              "packages": [
                "ctix"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 26904
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "26,904 downloads/month across npm",
                "points": 59.1,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 26904,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 61,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 19,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 7,
              "top_contributor_share": 0.963
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 96% of commits",
                "points": 0.8,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 96
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "7 contributors",
                "points": 9.5,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 83,
            "inputs": {
              "merged_prs": 140,
              "open_issues": 1,
              "closed_issues": 55,
              "issue_closed_ratio": 0.982,
              "closed_unmerged_prs": 6
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "98% of issues closed",
                "points": 45.9,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 98
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "140/146 decided PRs merged",
                "points": 36.7,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 140,
                      "decided": 146
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/12 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 59,
            "inputs": {
              "followers": 44,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "imjuni",
              "public_repos": 102,
              "account_age_days": 5379
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "44 followers of imjuni",
                "points": 11.9,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 44,
                      "login": "imjuni"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "102 public repos, account ~14 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 102
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 14
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "ctix"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 5
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 5 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "80 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 80
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "excellent",
        "name": "Engineering Quality",
        "value": 88,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "1 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".eslintrc.cjs",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.cjs"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "12 out of 12 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "topics": [
                "webpack",
                "automation",
                "cli",
                "index",
                "rollupjs",
                "typescript",
                "barrel",
                "barrel-files",
                "barrels"
              ],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "9 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 43,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 32,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 3.2
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "12 out of 12 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/12 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "21 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "55 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Matched the npm:ctix@2.8.2 runtime dependency closure — what installing the published package pulls in — 155 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:ctix@2.8.2",
                  "assessed": 155
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 85,
            "inputs": {
              "source": "osv",
              "advisories": 1,
              "affected_packages": 1,
              "assessed_packages": 155,
              "unassessed_packages": 0,
              "affected_by_severity": "high 1",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "1 affected: brace-expansion 2.1.2 (high 7.5)",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 1,
                      "packages": "brace-expansion 2.1.2 (high 7.5)"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory has been public longer than 90 days",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "advisories_none_stale",
                    "params": {
                      "days": 90
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 155,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 4
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "good",
        "name": "AI Readiness",
        "value": 72,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.96,
              "agent_instruction_files": [
                ".cursorrules",
                ".windsurfrules",
                "AGENTS.md",
                "CLAUDE.md"
              ],
              "agent_instruction_max_bytes": 415
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": ".cursorrules, .windsurfrules, AGENTS.md, CLAUDE.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".cursorrules, .windsurfrules, AGENTS.md, CLAUDE.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "96 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 96,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "pnpm-lock.yaml"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "examples/type01/tsconfig.json",
                "examples/type02/tsconfig.json",
                "examples/type03/tsconfig.json",
                "examples/type04/tsconfig.json",
                "examples/type05/tsconfig.json",
                "examples/type06/tsconfig.json",
                "examples/type07/tsconfig.json",
                "examples/type08/tsconfig.json",
                "examples/type09/tsconfig.json",
                "examples/type10/tsconfig.json",
                "examples/type11/tsconfig.json",
                "examples/type12/tsconfig.json",
                "examples/type13/tsconfig.json",
                "examples/type14/tsconfig.json",
                "tsconfig.json"
              ],
              "agent_commit_share": 0.21,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".eslintrc.cjs",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.cjs"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "examples/type01/tsconfig.json, examples/type02/tsconfig.json, examples/type03/tsconfig.json, examples/type04/tsconfig.json, examples/type05/tsconfig.json, examples/type06/tsconfig.json, examples/type07/tsconfig.json, examples/type08/tsconfig.json, examples/type09/tsconfig.json, examples/type10/tsconfig.json, examples/type11/tsconfig.json, examples/type12/tsconfig.json, examples/type13/tsconfig.json, examples/type14/tsconfig.json, tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples/type01/tsconfig.json, examples/type02/tsconfig.json, examples/type03/tsconfig.json, examples/type04/tsconfig.json, examples/type05/tsconfig.json, examples/type06/tsconfig.json, examples/type07/tsconfig.json, examples/type08/tsconfig.json, examples/type09/tsconfig.json, examples/type10/tsconfig.json, examples/type11/tsconfig.json, examples/type12/tsconfig.json, examples/type13/tsconfig.json, examples/type14/tsconfig.json, tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "21 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 21,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 17136,
              "source_files_sampled": 373,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/373 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 373,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-25T12:49:42.313024Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/i/imjuni/ctix.svg",
  "full_name": "imjuni/ctix",
  "license_state": "standard",
  "license_spdx": "MIT"
}

Scores are signals, not warranties. They reflect publicly visible practices on GitHub — not a code audit, and not a security guarantee.

Missing data is excluded and weights renormalized, never scored as zero. Methodology is versioned and open: metrics v1.13.0, schema v0.27.0 — full methodology · metrics wiki.

How one result sits in the wider record: aggregate statisticsnpm.