Public record
Software health reportschema 0.23.0 · metrics 1.13.0 · 2026-07-21 15:52 UTC

dahlia / optique

Type-safe combinatorial CLI parser for TypeScript

TypeScriptMIT★ 713 stars⑂ 9 forkssince Aug 2025View on GitHub ↗

dahlia/optique holds a health index of 73 out of 100, placing it in the Good band. It scores highest on Vitality (92/100) and lowest on Security (54/100). It was last updated today. A single contributor accounts for most of its recent work.

73
overall / 100
Good

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.

73
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

Hong Minhee (洪 民憙)Personal account
1,350 followers274 public repossince Jun 2008@fedify-dev

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

Package ecosystems

Metrics by category

Vitality

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

92Excellent · 22% of overall
How it's scored
36/36Push recency — last push 0 days ago
31.2/36Commit cadence — 45/52 weeks with commits
18/18Commit volume — 3,636 commits in the last year
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year3,636
human_commit_share1
days_since_last_push0
active_weeks_last_year45
How it's scored
16.2/27Ships releases — 94 version tags (no GitHub releases)
36/36Release recency — latest release 0 days ago
27/27Release cadence — a release every ~16.8 days
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count94
latest_release_tag1.2.0
releases_from_tagsyes
days_since_latest_release0
mean_days_between_releases16.8
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?

70Good · 18% of overall
How it's scored
46.3/60Stars — 713 stars
7.5/25Forks — 9 forks
2.7/15Watchers — 4 watchers
Inputs used
forks9
stars713
watchers4
growth_stateorganic
growth_factor_pct100
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (MIT)
18/18CONTRIBUTING guide
0/13.5Code of conduct
0/7.2Issue template
0/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingyes
has_issue_templateno
has_code_of_conductno
has_pull_request_templateno
How it's scored
73.5/80Monthly downloads — 325,578 downloads/month across npm
0/20Registry dependents — not reported by this ecosystem
Inputs used
packages@optique/env, @optique/git, @optique/man, @optique/run, @optique/zod, @optique/core, @optique/clack, @optique/config
dependents
ecosystemsnpm
total_downloads
monthly_downloads325,578
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?

67Moderate · 24% of overall
How it's scored
9/54Bus factor — 1 contributor(s) cover half of all commits
0/22.5Commit distribution — top contributor authored 100% of commits
8.1/13.5Contributor breadth — 6 contributors
10/10OpenSSF Scorecard: Contributors — project has 5 contributing companies or organizations
Inputs used
bus_factor1
contributors_sampled6
top_contributor_share0.998
How it's scored
46.1/46.8Issue resolution — 99% of issues closed
37.4/38.3PR acceptance — 305/312 decided PRs merged
0/15OpenSSF Scorecard: Code-Review — Found 0/6 approved changesets -- score normalized to 0
Inputs used
merged_prs305
open_issues7
closed_issues536
issue_closed_ratio0.987
closed_unmerged_prs7
How it's scored
10/30Ownership backing — personal (user) account
0/20Verified domain — not applicable to user accounts
22.5/25Owner reach — 1,350 followers of dahlia
25/25Track record — 274 public repos, account ~18 yr old
Inputs used
followers1,350
owner_typeUser
is_verified
owner_logindahlia
public_repos274
account_age_days6,622
Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.
How it's scored
25/25Published & resolvable — 8 package(s) on npm
35/35Publish recency — latest publish 0 days ago
20/20Version history — 755 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packages@optique/env, @optique/git, @optique/man, @optique/run, @optique/zod, @optique/core, @optique/clack, @optique/config
ecosystemsnpm
any_deprecatedno
min_days_since_publish0

Engineering Quality

Are baseline engineering and documentation practices in place?

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

Documentation

90Excellent
How it's scored
30/30README
25/25Documentation directory
15/15Documentation / homepage site — http://optique.dev/
10/10Repository description
10/10Topics — 4 topics
0/10Wiki
Inputs used
topicscli, getopt, parser-combinators, typescript
has_wikino
homepagehttp://optique.dev/
has_readmeyes
has_docs_diryes
has_descriptionyes

Security

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

54Moderate · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
3/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 3 out of 3 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/6 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 5 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
5/5Fuzzing — project is fuzzed
2.5/2.5License — license file detected
7.5/7.5Maintained — 30 commit(s) and 30 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
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — no data
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 28 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate4.9
Excluded from scoring (no data or not applicable): packaging, signed_releases. Remaining weights renormalized.
How it's scored
20.2/35Direct dependencies free of known advisories — 1 affected: isomorphic-git catalog: (moderate 5.3)
0/25Indirect dependencies free of known advisories — transitive set not separable from development and test dependencies in this scope
35.3/40No advisories left outstanding — 1 advisory-carrying package(s) unaddressed past 90 days; oldest published 1,782 days ago
Inputs used
sourceosv
advisories30
affected_packages16
assessed_packages637
unassessed_packages15
affected_by_severitycritical 1, high 9, moderate 5, low 1
direct_affected_packages1
Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 637 resolved dependencies against OSV. 15 could not be assessed — no resolved version, an unsupported ecosystem, or beyond the reported package list. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. 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.

70Good · 0% of overall
How it's scored
45/45Agent instructions — AGENTS.md, CLAUDE.md, examples/gitique/.cursorrules, examples/gitique/.windsurfrules, examples/gitique/AGENT.md, examples/gitique/AGENTS.md, examples/gitique/CLAUDE.md, examples/gitique/GEMINI.md
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 95 of 100 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.95
agent_instruction_filesAGENTS.md, CLAUDE.md, examples/gitique/.cursorrules, examples/gitique/.windsurfrules, examples/gitique/AGENT.md, examples/gitique/AGENTS.md, examples/gitique/CLAUDE.md, examples/gitique/GEMINI.md
agent_instruction_max_bytes9,590
How it's scored
18/18One-command bootstrap — mise.toml
22/22Automated tests
0/11Lint / format config
11/11Static type checking — TypeScript (statically typed)
10/10Reproducible environment — lockfile
0/10Demonstrated agent practice — no agent-authored commits among the last 100
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_filesmise.toml
has_devcontainerno
has_linter_configno
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
How it's scored
45/45Type-checkable code — TypeScript (statically typed)
47.1/55Manageable file sizes — 29/202 source files over 60KB
Inputs used
primary_languageTypeScript
largest_source_bytes707,468
source_files_sampled202
oversized_source_files29
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

713GitHub stars
6contributors
3,636commits, last 12 months
0days since last push
94releases
1bus factor
7open issues
npmpackage ecosystems

Data collection warnings

  • deps.dev does not index npm:@optique/env@1.2.0; advisories assessed against the repository dependency graph instead

More detail

Star and fork history 713 ★ / 9 ⇿
713Stars
9Forks
93Releases

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.

01252503755006257507139612025-082026-022026-07
Major 1Minor 11Patch 81
OpenSSF Scorecard 4.9 / 10
4.9aggregate

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-21 15:52 UTC

10Binary-Artifactsno binaries found in the repo
4Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests3 out of 3 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/6 approved changesets -- score normalized to 0
10Contributorsproject has 5 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
10Fuzzingproject is fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 30 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
10Security-Policysecurity policy file detected
n/aSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities28 existing vulnerabilities detected
Direct dependencies 24
RegistryPackageVersion constraintManifest
npm@clack/promptscatalog:packages/clack/package.json
npm@optique/coreworkspace:*packages/clack/package.json
npm@optique/promptworkspace:*packages/clack/package.json
npm@optique/coreworkspace:*packages/config/package.json
npm@optique/coreworkspace:*packages/derived-defaults/package.json
npm@optique/coreworkspace:*packages/discover/package.json
npm@optique/runworkspace:*packages/discover/package.json
npm@optique/coreworkspace:*packages/env/package.json
npm@logtape/logtapecatalog:packages/git/package.json
npm@optique/coreworkspace:packages/git/package.json
npmisomorphic-gitcatalog:packages/git/package.json
npm@inquirer/promptscatalog:packages/inquirer/package.json
npm@optique/coreworkspace:*packages/inquirer/package.json
npm@optique/promptworkspace:*packages/inquirer/package.json
npm@optique/coreworkspace:packages/logtape/package.json
npm@optique/coreworkspace:packages/man/package.json
npm@optique/runworkspace:packages/man/package.json
npm@optique/coreworkspace:*packages/prompt/package.json
npm@optique/coreworkspace:*packages/run/package.json
npm@optique/coreworkspace:packages/standard-schema/package.json
npm@js-temporal/polyfill^0.5.1packages/temporal/package.json
npm@optique/coreworkspace:packages/temporal/package.json
npm@optique/coreworkspace:packages/valibot/package.json
npm@optique/coreworkspace:packages/zod/package.json
All dependencies 652

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

RegistryPackageVersionRelation
npm@clack/prompts1.6.0direct
npm@clack/promptscatalog:direct
npm@inquirer/prompts8.3.0direct
npm@inquirer/promptscatalog:direct
npm@js-temporal/polyfill0.5.1direct
npm@js-temporal/polyfill^0.5.1direct
npm@logtape/logtape2.2.2direct
npm@logtape/logtapecatalog:direct
npmisomorphic-git1.36.1direct
npmisomorphic-gitcatalog:direct
npm@antfu/install-pkg1.1.0indirect
npm@antfu/utils9.2.0indirect
npm@ark/schema0.56.0indirect
npm@ark/util0.56.0indirect
npm@babel/generator7.28.0indirect
npm@babel/helper-string-parser7.29.7indirect
npm@babel/helper-validator-identifier7.29.7indirect
npm@babel/parser7.29.7indirect
npm@babel/types7.29.7indirect
npm@braintree/sanitize-url6.0.4indirect
npm@braintree/sanitize-url7.1.2indirect
npm@chevrotain/types11.1.2indirect
npm@clack/core1.4.2indirect
npm@cloudflare/kv-asset-handler0.5.0indirect
npm@cloudflare/unenv-preset2.16.1indirect
npm@cloudflare/workerd-darwin-641.20260511.1indirect
npm@cloudflare/workerd-darwin-arm641.20260511.1indirect
npm@cloudflare/workerd-linux-641.20260511.1indirect
npm@cloudflare/workerd-linux-arm641.20260511.1indirect
npm@cloudflare/workerd-windows-641.20260511.1indirect
npm@cspotcode/source-map-support0.8.1indirect
npm@docsearch/css4.6.3indirect
npm@docsearch/js4.6.3indirect
npm@docsearch/sidepanel-js4.6.3indirect
npm@emnapi/core1.4.5indirect
npm@emnapi/runtime1.10.0indirect
npm@emnapi/wasi-threads1.0.4indirect
npm@esbuild/aix-ppc640.27.3indirect
npm@esbuild/android-arm0.27.3indirect
npm@esbuild/android-arm640.27.3indirect
npm@esbuild/android-x640.27.3indirect
npm@esbuild/darwin-arm640.27.3indirect
npm@esbuild/darwin-x640.27.3indirect
npm@esbuild/freebsd-arm640.27.3indirect
npm@esbuild/freebsd-x640.27.3indirect
npm@esbuild/linux-arm0.27.3indirect
npm@esbuild/linux-arm640.27.3indirect
npm@esbuild/linux-ia320.27.3indirect
npm@esbuild/linux-loong640.27.3indirect
npm@esbuild/linux-mips64el0.27.3indirect
npm@esbuild/linux-ppc640.27.3indirect
npm@esbuild/linux-riscv640.27.3indirect
npm@esbuild/linux-s390x0.27.3indirect
npm@esbuild/linux-x640.27.3indirect
npm@esbuild/netbsd-arm640.27.3indirect
npm@esbuild/netbsd-x640.27.3indirect
npm@esbuild/openbsd-arm640.27.3indirect
npm@esbuild/openbsd-x640.27.3indirect
npm@esbuild/openharmony-arm640.27.3indirect
npm@esbuild/sunos-x640.27.3indirect
npm@esbuild/win32-arm640.27.3indirect
npm@esbuild/win32-ia320.27.3indirect
npm@esbuild/win32-x640.27.3indirect
npm@floating-ui/core1.7.3indirect
npm@floating-ui/dom1.1.1indirect
npm@floating-ui/utils0.2.10indirect
npm@fontsource-variable/space-grotesk5.2.10indirect
npm@fontsource-variable/space-grotesk^5.2.10indirect
npm@iconify-json/logos1.2.9indirect
npm@iconify-json/simple-icons1.2.86indirect
npm@iconify-json/vscode-icons1.2.29indirect
npm@iconify/types2.0.0indirect
npm@iconify/utils3.0.1indirect
npm@iconify/utils3.1.3indirect
npm@img/colour1.1.0indirect
npm@img/sharp-darwin-arm640.34.5indirect
npm@img/sharp-darwin-x640.34.5indirect
npm@img/sharp-libvips-darwin-arm641.2.4indirect
npm@img/sharp-libvips-darwin-x641.2.4indirect
npm@img/sharp-libvips-linux-arm1.2.4indirect
npm@img/sharp-libvips-linux-arm641.2.4indirect
npm@img/sharp-libvips-linux-ppc641.2.4indirect
npm@img/sharp-libvips-linux-riscv641.2.4indirect
npm@img/sharp-libvips-linux-s390x1.2.4indirect
npm@img/sharp-libvips-linux-x641.2.4indirect
npm@img/sharp-libvips-linuxmusl-arm641.2.4indirect
npm@img/sharp-libvips-linuxmusl-x641.2.4indirect
npm@img/sharp-linux-arm0.34.5indirect
npm@img/sharp-linux-arm640.34.5indirect
npm@img/sharp-linux-ppc640.34.5indirect
npm@img/sharp-linux-riscv640.34.5indirect
npm@img/sharp-linux-s390x0.34.5indirect
npm@img/sharp-linux-x640.34.5indirect
npm@img/sharp-linuxmusl-arm640.34.5indirect
npm@img/sharp-linuxmusl-x640.34.5indirect
npm@img/sharp-wasm320.34.5indirect
npm@img/sharp-win32-arm640.34.5indirect
npm@img/sharp-win32-ia320.34.5indirect
npm@img/sharp-win32-x640.34.5indirect
npm@inquirer/ansi2.0.3indirect
npm@inquirer/checkbox5.1.0indirect
npm@inquirer/confirm6.0.8indirect
npm@inquirer/core11.1.5indirect
npm@inquirer/editor5.0.8indirect
npm@inquirer/expand5.0.8indirect
npm@inquirer/external-editor2.0.3indirect
npm@inquirer/figures2.0.3indirect
npm@inquirer/input5.0.8indirect
npm@inquirer/number4.0.8indirect
npm@inquirer/password5.0.8indirect
npm@inquirer/rawlist5.2.4indirect
npm@inquirer/search4.1.4indirect
npm@inquirer/select5.1.0indirect
npm@inquirer/type4.0.3indirect
npm@isaacs/balanced-match4.0.1indirect
npm@isaacs/brace-expansion5.0.0indirect
npm@jridgewell/gen-mapping0.3.12indirect
npm@jridgewell/resolve-uri3.1.2indirect
npm@jridgewell/sourcemap-codec1.5.5indirect
npm@jridgewell/trace-mapping0.3.29indirect
npm@jridgewell/trace-mapping0.3.9indirect
npm@logtape/file2.2.2indirect
npm@logtape/filecatalog:indirect
npm@mermaid-js/mermaid-mindmap9.3.0indirect
npm@mermaid-js/parser1.2.0indirect
npm@napi-rs/wasm-runtime1.0.1indirect
npm@oxc-project/runtime0.77.3indirect
npm@oxc-project/types0.77.3indirect
npm@poppinss/colors4.1.6indirect
npm@poppinss/dumper0.6.5indirect
npm@poppinss/exception1.2.3indirect
npm@quansync/fs0.1.3indirect
npm@rolldown/binding-android-arm641.0.0-beta.29indirect
npm@rolldown/binding-darwin-arm641.0.0-beta.29indirect
npm@rolldown/binding-darwin-x641.0.0-beta.29indirect
npm@rolldown/binding-freebsd-x641.0.0-beta.29indirect
npm@rolldown/binding-linux-arm-gnueabihf1.0.0-beta.29indirect
npm@rolldown/binding-linux-arm64-gnu1.0.0-beta.29indirect
npm@rolldown/binding-linux-arm64-musl1.0.0-beta.29indirect
npm@rolldown/binding-linux-arm64-ohos1.0.0-beta.29indirect
npm@rolldown/binding-linux-x64-gnu1.0.0-beta.29indirect
npm@rolldown/binding-linux-x64-musl1.0.0-beta.29indirect
npm@rolldown/binding-wasm32-wasi1.0.0-beta.29indirect
npm@rolldown/binding-win32-arm64-msvc1.0.0-beta.29indirect
npm@rolldown/binding-win32-ia32-msvc1.0.0-beta.29indirect
npm@rolldown/binding-win32-x64-msvc1.0.0-beta.29indirect
npm@rolldown/pluginutils1.0.0-beta.29indirect
npm@rolldown/pluginutils1.0.1indirect
npm@rollup/rollup-android-arm-eabi4.46.3indirect
npm@rollup/rollup-android-arm644.46.3indirect
npm@rollup/rollup-darwin-arm644.46.3indirect
npm@rollup/rollup-darwin-x644.46.3indirect
npm@rollup/rollup-freebsd-arm644.46.3indirect
npm@rollup/rollup-freebsd-x644.46.3indirect
npm@rollup/rollup-linux-arm-gnueabihf4.46.3indirect
npm@rollup/rollup-linux-arm-musleabihf4.46.3indirect
npm@rollup/rollup-linux-arm64-gnu4.46.3indirect
npm@rollup/rollup-linux-arm64-musl4.46.3indirect
npm@rollup/rollup-linux-loongarch64-gnu4.46.3indirect
npm@rollup/rollup-linux-ppc64-gnu4.46.3indirect
npm@rollup/rollup-linux-riscv64-gnu4.46.3indirect
npm@rollup/rollup-linux-riscv64-musl4.46.3indirect
npm@rollup/rollup-linux-s390x-gnu4.46.3indirect
npm@rollup/rollup-linux-x64-gnu4.46.3indirect
npm@rollup/rollup-linux-x64-musl4.46.3indirect
npm@rollup/rollup-win32-arm64-msvc4.46.3indirect
npm@rollup/rollup-win32-ia32-msvc4.46.3indirect
npm@rollup/rollup-win32-x64-msvc4.46.3indirect
npm@shikijs/core3.20.0indirect
npm@shikijs/core3.23.0indirect
npm@shikijs/engine-javascript3.20.0indirect
npm@shikijs/engine-javascript3.23.0indirect
npm@shikijs/engine-oniguruma3.20.0indirect
npm@shikijs/engine-oniguruma3.23.0indirect
npm@shikijs/langs3.20.0indirect
npm@shikijs/langs3.23.0indirect
npm@shikijs/themes3.20.0indirect
npm@shikijs/themes3.23.0indirect
npm@shikijs/transformers3.23.0indirect
npm@shikijs/twoslash3.20.0indirect
npm@shikijs/types3.20.0indirect
npm@shikijs/types3.23.0indirect
npm@shikijs/vitepress-twoslash3.20.0indirect
npm@shikijs/vitepress-twoslash^3.20.0indirect
npm@shikijs/vscode-textmate10.0.2indirect
npm@sindresorhus/is7.2.0indirect
npm@speed-highlight/core1.2.15indirect
npm@standard-schema/spec1.1.0indirect
npm@standard-schema/speccatalog:indirect
npm@tybys/wasm-util0.10.0indirect
npm@types/d37.4.3indirect
npm@types/d3-array3.2.2indirect
npm@types/d3-axis3.0.6indirect
npm@types/d3-brush3.0.6indirect
npm@types/d3-chord3.0.6indirect
npm@types/d3-color3.1.3indirect
npm@types/d3-contour3.0.6indirect
npm@types/d3-delaunay6.0.4indirect
npm@types/d3-dispatch3.0.7indirect
npm@types/d3-drag3.0.7indirect
npm@types/d3-dsv3.0.7indirect
npm@types/d3-ease3.0.2indirect
npm@types/d3-fetch3.0.7indirect
npm@types/d3-force3.0.10indirect
npm@types/d3-format3.0.4indirect
npm@types/d3-geo3.1.0indirect
npm@types/d3-hierarchy3.1.7indirect
npm@types/d3-interpolate3.0.4indirect
npm@types/d3-path3.1.1indirect
npm@types/d3-polygon3.0.2indirect
npm@types/d3-quadtree3.0.6indirect
npm@types/d3-random3.0.3indirect
npm@types/d3-scale4.0.9indirect
npm@types/d3-scale-chromatic3.1.0indirect
npm@types/d3-selection3.0.11indirect
npm@types/d3-shape3.1.8indirect
npm@types/d3-time3.0.4indirect
npm@types/d3-time-format4.0.3indirect
npm@types/d3-timer3.0.2indirect
npm@types/d3-transition3.0.9indirect
npm@types/d3-zoom3.0.8indirect
npm@types/debug4.1.12indirect
npm@types/estree1.0.8indirect
npm@types/geojson7946.0.16indirect
npm@types/hast3.0.4indirect
npm@types/linkify-it5.0.0indirect
npm@types/markdown-it14.1.2indirect
npm@types/mdast4.0.4indirect
npm@types/mdurl2.0.0indirect
npm@types/ms2.1.0indirect
npm@types/node20.19.41indirect
npm@types/node24.12.4indirect
npm@types/node^20.19.9indirect
npm@types/nodecatalog:indirect
npm@types/trusted-types2.0.7indirect
npm@types/unist3.0.3indirect
npm@types/web-bluetooth0.0.21indirect
npm@typescript/vfs1.6.1indirect
npm@ungap/structured-clone1.3.0indirect
npm@upsetjs/venn.js2.0.0indirect
npm@vitejs/plugin-vue6.0.7indirect
npm@volar/language-core2.4.22indirect
npm@volar/source-map2.4.22indirect
npm@vue/compiler-core3.5.38indirect
npm@vue/compiler-dom3.5.38indirect
npm@vue/compiler-sfc3.5.38indirect
npm@vue/compiler-ssr3.5.38indirect
npm@vue/compiler-vue22.7.16indirect
npm@vue/devtools-api8.0.5indirect
npm@vue/devtools-kit8.0.5indirect
npm@vue/devtools-shared8.0.5indirect
npm@vue/language-core3.0.5indirect
npm@vue/reactivity3.5.38indirect
npm@vue/runtime-core3.5.38indirect
npm@vue/runtime-dom3.5.38indirect
npm@vue/server-renderer3.5.38indirect
npm@vue/shared3.5.38indirect
npm@vueuse/core14.3.0indirect
npm@vueuse/integrations14.3.0indirect
npm@vueuse/metadata14.3.0indirect
npm@vueuse/shared14.3.0indirect
npmabort-controller3.0.0indirect
npmacorn8.15.0indirect
npmalien-signals2.0.7indirect
npmansi-regex5.0.1indirect
npmansi-styles4.3.0indirect
npmansis4.1.0indirect
npmargparse1.0.10indirect
npmargparse2.0.1indirect
npmarkregex0.0.5indirect
npmarktype2.1.29indirect
npmarktype^2.1.29indirect
npmast-kit2.1.1indirect
npmasync-lock1.4.1indirect
npmavailable-typed-arrays1.0.7indirect
npmbail2.0.2indirect
npmbase64-js1.5.1indirect
npmbirpc2.9.0indirect
npmblake3-wasm2.1.5indirect
npmbuffer6.0.3indirect
npmbyte-size9.0.1indirect
npmcac6.7.14indirect
npmcall-bind1.0.8indirect
npmcall-bind-apply-helpers1.0.2indirect
npmcall-bound1.0.4indirect
npmccount2.0.1indirect
npmcharacter-entities2.0.2indirect
npmcharacter-entities-html42.1.0indirect
npmcharacter-entities-legacy3.0.0indirect
npmchardet2.1.1indirect
npmchokidar4.0.3indirect
npmclean-git-ref2.0.1indirect
npmcli-width4.1.0indirect
npmcliui8.0.1indirect
npmcolor-convert2.0.1indirect
npmcolor-name1.1.4indirect
npmcomma-separated-tokens2.0.3indirect
npmcommander7.2.0indirect
npmcommander8.3.0indirect
npmconfbox0.1.8indirect
npmconfbox0.2.2indirect
npmcookie1.1.1indirect
npmcopy-anything3.0.5indirect
npmcose-base1.0.3indirect
npmcose-base2.2.0indirect
npmcrc-321.2.2indirect
npmcsstype3.2.3indirect
npmcytoscape3.34.0indirect
npmcytoscape-cose-bilkent4.1.0indirect
npmcytoscape-fcose2.2.0indirect
npmd37.9.0indirect
npmd3-array2.12.1indirect
npmd3-array3.2.4indirect
npmd3-axis3.0.0indirect
npmd3-brush3.0.0indirect
npmd3-chord3.0.1indirect
npmd3-color3.1.0indirect
npmd3-contour4.0.2indirect
npmd3-delaunay6.0.4indirect
npmd3-dispatch3.0.1indirect
npmd3-drag3.0.0indirect
npmd3-dsv3.0.1indirect
npmd3-ease3.0.1indirect
npmd3-fetch3.0.1indirect
npmd3-force3.0.0indirect
npmd3-format3.1.2indirect
npmd3-geo3.1.1indirect
npmd3-hierarchy3.1.2indirect
npmd3-interpolate3.0.1indirect
npmd3-path1.0.9indirect
npmd3-path3.1.0indirect
npmd3-polygon3.0.1indirect
npmd3-quadtree3.0.1indirect
npmd3-random3.0.1indirect
npmd3-sankey0.12.3indirect
npmd3-scale4.0.2indirect
npmd3-scale-chromatic3.1.0indirect
npmd3-selection3.0.0indirect
npmd3-shape1.3.7indirect
npmd3-shape3.2.0indirect
npmd3-time3.1.0indirect
npmd3-time-format4.1.0indirect
npmd3-timer3.0.1indirect
npmd3-transition3.0.1indirect
npmd3-zoom3.0.0indirect
npmdagre-d3-es7.0.14indirect
npmdayjs1.11.21indirect
npmde-indent1.0.2indirect
npmdebug4.4.1indirect
npmdecode-named-character-reference1.2.0indirect
npmdecompress-response6.0.0indirect
npmdefine-data-property1.1.4indirect
npmdefu6.1.4indirect
npmdelaunator5.1.0indirect
npmdequal2.0.3indirect
npmdetect-libc2.1.2indirect
npmdevlop1.1.0indirect
npmdiff8.0.2indirect
npmdiff30.0.3indirect
npmdompurify3.4.11indirect
npmdts-resolver2.1.1indirect
npmdunder-proto1.0.1indirect
npmemoji-regex8.0.0indirect
npmempathic2.0.0indirect
npmentities4.5.0indirect
npmentities7.0.1indirect
npmerror-stack-parser-es1.0.5indirect
npmes-define-property1.0.1indirect
npmes-errors1.3.0indirect
npmes-git0.4.0indirect
npmes-git^0.4.0indirect
npmes-git-android-arm-eabi0.4.0indirect
npmes-git-android-arm640.4.0indirect
npmes-git-darwin-arm640.4.0indirect
npmes-git-darwin-x640.4.0indirect
npmes-git-linux-arm64-gnu0.4.0indirect
npmes-git-linux-arm64-musl0.4.0indirect
npmes-git-linux-x64-gnu0.4.0indirect
npmes-git-linux-x64-musl0.4.0indirect
npmes-git-win32-arm64-msvc0.4.0indirect
npmes-git-win32-x64-msvc0.4.0indirect
npmes-object-atoms1.1.1indirect
npmes-toolkit1.49.0indirect
npmesbuild0.27.3indirect
npmescalade3.2.0indirect
npmescape-string-regexp5.0.0indirect
npmesprima4.0.1indirect
npmestree-walker2.0.2indirect
npmevent-target-shim5.0.1indirect
npmevents3.3.0indirect
npmexsolve1.0.7indirect
npmextend3.0.2indirect
npmextend-shallow2.0.1indirect
npmfast-check4.7.0indirect
npmfast-checkcatalog:indirect
npmfast-string-truncated-width3.0.3indirect
npmfast-string-width3.0.2indirect
npmfast-wrap-ansi0.2.0indirect
npmfault2.0.1indirect
npmfdir6.5.0indirect
npmfloating-vue5.2.2indirect
npmfocus-trap8.2.1indirect
npmfor-each0.3.5indirect
npmformat0.2.2indirect
npmfsevents2.3.3indirect
npmfunction-bind1.1.2indirect
npmget-caller-file2.0.5indirect
npmget-intrinsic1.3.0indirect
npmget-proto1.0.1indirect
npmget-tsconfig4.10.1indirect
npmglobals15.15.0indirect
npmgopd1.2.0indirect
npmgray-matter4.0.3indirect
npmhachure-fill0.5.2indirect
npmhas-property-descriptors1.0.2indirect
npmhas-symbols1.1.0indirect
npmhas-tostringtag1.0.2indirect
npmhasown2.0.2indirect
npmhast-util-to-html9.0.5indirect
npmhast-util-whitespace3.0.0indirect
npmhe1.2.0indirect
npmhookable5.5.3indirect
npmhtml-void-elements3.0.0indirect
npmiconv-lite0.6.3indirect
npmiconv-lite0.7.2indirect
npmieee7541.2.1indirect
npmignore5.3.2indirect
npmimport-meta-resolve4.2.0indirect
npminherits2.0.4indirect
npminternmap1.0.1indirect
npminternmap2.0.3indirect
npmis-callable1.2.7indirect
npmis-extendable0.1.1indirect
npmis-fullwidth-code-point3.0.0indirect
npmis-plain-obj4.1.0indirect
npmis-typed-array1.1.15indirect
npmis-what4.1.16indirect
npmisarray2.0.5indirect
npmjiti2.5.1indirect
npmjs-yaml3.14.1indirect
npmjsbi4.3.2indirect
npmjsesc3.1.0indirect
npmkatex0.16.47indirect
npmkhroma2.1.0indirect
npmkind-of6.0.3indirect
npmkleur4.1.5indirect
npmkolorist1.8.0indirect
npmlayout-base1.0.2indirect
npmlayout-base2.0.1indirect
npmlinkify-it5.0.0indirect
npmlocal-pkg1.1.2indirect
npmlodash-es4.18.1indirect
npmlongest-streak3.1.0indirect
npmlz-string1.5.0indirect
npmmagic-string0.30.21indirect
npmmark.js8.11.1indirect
npmmarkdown-it14.1.0indirect
npmmarkdown-it-deflist3.0.0indirect
npmmarkdown-it-deflist^3.0.0indirect
npmmarkdown-it-footnote4.0.0indirect
npmmarkdown-it-footnote^4.0.0indirect
npmmarkdown-table3.0.4indirect
npmmarkdown-title1.0.2indirect
npmmarked16.4.2indirect
npmmath-intrinsics1.1.0indirect
npmmdast-util-find-and-replace3.0.2indirect
npmmdast-util-from-markdown2.0.2indirect
npmmdast-util-frontmatter2.0.1indirect
npmmdast-util-gfm3.1.0indirect
npmmdast-util-gfm-autolink-literal2.0.1indirect
npmmdast-util-gfm-footnote2.1.0indirect
npmmdast-util-gfm-strikethrough2.0.0indirect
npmmdast-util-gfm-table2.0.0indirect
npmmdast-util-gfm-task-list-item2.0.0indirect
npmmdast-util-phrasing4.1.0indirect
npmmdast-util-to-hast13.2.1indirect
npmmdast-util-to-markdown2.1.2indirect
npmmdast-util-to-string4.0.0indirect
npmmdurl2.0.0indirect
npmmermaid11.16.0indirect
npmmermaid^11.16.0indirect
npmmicromark4.0.2indirect
npmmicromark-core-commonmark2.0.3indirect
npmmicromark-extension-frontmatter2.0.0indirect
npmmicromark-factory-destination2.0.1indirect
npmmicromark-factory-label2.0.1indirect
npmmicromark-factory-space2.0.1indirect
npmmicromark-factory-title2.0.1indirect
npmmicromark-factory-whitespace2.0.1indirect
npmmicromark-util-character2.1.1indirect
npmmicromark-util-chunked2.0.1indirect
npmmicromark-util-classify-character2.0.1indirect
npmmicromark-util-combine-extensions2.0.1indirect
npmmicromark-util-decode-numeric-character-reference2.0.2indirect
npmmicromark-util-decode-string2.0.1indirect
npmmicromark-util-encode2.0.1indirect
npmmicromark-util-html-tag-name2.0.1indirect
npmmicromark-util-normalize-identifier2.0.1indirect
npmmicromark-util-resolve-all2.0.1indirect
npmmicromark-util-sanitize-uri2.0.1indirect
npmmicromark-util-subtokenize2.1.0indirect
npmmicromark-util-symbol2.0.1indirect
npmmicromark-util-types2.0.2indirect
npmmillify6.1.0indirect
npmmimic-response3.1.0indirect
npmminiflare4.20260511.0indirect
npmminimatch10.0.3indirect
npmminimist1.2.8indirect
npmminimisted2.0.1indirect
npmminisearch7.2.0indirect
npmmitt3.0.1indirect
npmmlly1.7.4indirect
npmms2.1.3indirect
npmmuggle-string0.4.1indirect
npmmute-stream3.0.0indirect
npmnanoid3.3.14indirect
npmnon-layered-tidy-tree-layout2.0.2indirect
npmohash2.0.11indirect
npmonce1.4.0indirect
npmoniguruma-parser0.12.1indirect
npmoniguruma-to-es4.3.4indirect
npmpackage-manager-detector1.3.0indirect
npmpako1.0.11indirect
npmpath-browserify1.0.1indirect
npmpath-data-parser0.1.0indirect
npmpath-to-regexp6.3.0indirect
npmpath-to-regexp8.2.0indirect
npmpathe2.0.3indirect
npmperfect-debounce2.0.0indirect
npmpicocolors1.1.1indirect
npmpicomatch4.0.3indirect
npmpify4.0.1indirect
npmpkg-types1.3.1indirect
npmpkg-types2.3.0indirect
npmpoints-on-curve0.2.0indirect
npmpoints-on-path0.2.1indirect
npmpossible-typed-array-names1.1.0indirect
npmpostcss8.5.15indirect
npmprocess0.11.10indirect
npmproperty-information7.1.0indirect
npmpunycode.js2.3.1indirect
npmpure-rand8.4.0indirect
npmquansync0.2.11indirect
npmreadable-stream4.7.0indirect
npmreaddirp4.1.2indirect
npmregex6.0.1indirect
npmregex-recursion6.0.2indirect
npmregex-utilities2.3.0indirect
npmremark15.0.1indirect
npmremark-frontmatter5.0.0indirect
npmremark-parse11.0.0indirect
npmremark-stringify11.0.0indirect
npmrequire-directory2.1.1indirect
npmresolve-pkg-maps1.0.0indirect
npmrfdc1.4.1indirect
npmrobust-predicates3.0.3indirect
npmrolldown1.0.0-beta.29indirect
npmrolldown-plugin-dts0.14.1indirect
npmrollup4.46.3indirect
npmroughjs4.6.6indirect
npmrw1.3.3indirect
npmsafe-buffer5.2.1indirect
npmsafer-buffer2.1.2indirect
npmsection-matter1.0.0indirect
npmsemver7.8.0indirect
npmset-function-length1.2.2indirect
npmsha.js2.4.12indirect
npmsharp0.34.5indirect
npmshiki3.20.0indirect
npmshiki3.23.0indirect
npmsignal-exit4.1.0indirect
npmsimple-concat1.0.1indirect
npmsimple-get4.0.1indirect
npmsisteransi1.0.5indirect
npmsource-map-js1.2.1indirect
npmspace-separated-tokens2.0.2indirect
npmspeakingurl14.0.1indirect
npmsprintf-js1.0.3indirect
npmstring-width4.2.3indirect
npmstring_decoder1.3.0indirect
npmstringify-entities4.0.4indirect
npmstrip-ansi6.0.1indirect
npmstrip-bom-string1.0.0indirect
npmstylis4.4.0indirect
npmsuperjson2.2.2indirect
npmsupports-color10.2.2indirect
npmtabbable6.5.0indirect
npmtinyexec1.0.1indirect
npmtinyglobby0.2.15indirect
npmto-buffer1.2.2indirect
npmtokenx1.1.0indirect
npmtrim-lines3.0.1indirect
npmtrough2.2.0indirect
npmts-dedent2.3.0indirect
npmtsdown0.13.0indirect
npmtsdowncatalog:indirect
npmtslib2.8.1indirect
npmtsx4.21.0indirect
npmtsxcatalog:indirect
npmtwoslash0.3.4indirect
npmtwoslash-protocol0.3.4indirect
npmtwoslash-vue0.3.4indirect
npmtyped-array-buffer1.0.3indirect
npmtypescript5.8.3indirect
npmtypescriptcatalog:indirect
npmuc.micro2.1.0indirect
npmufo1.6.1indirect
npmunconfig7.3.2indirect
npmundici7.24.8indirect
npmundici-types6.21.0indirect
npmundici-types7.16.0indirect
npmunenv2.0.0-rc.24indirect
npmunified11.0.5indirect
npmunist-util-is6.0.0indirect
npmunist-util-position5.0.0indirect
npmunist-util-remove4.0.0indirect
npmunist-util-stringify-position4.0.0indirect
npmunist-util-visit5.0.0indirect
npmunist-util-visit-parents6.0.1indirect
npmuuid14.0.1indirect
npmvalibot1.2.0indirect
npmvalibotcatalog:indirect
npmvfile6.0.3indirect
npmvfile-message4.0.3indirect
npmvite7.3.5indirect
npmvitepress2.0.0-alpha.17indirect
npmvitepress^2.0.0-alpha.17indirect
npmvitepress-plugin-group-icons1.6.3indirect
npmvitepress-plugin-group-icons^1.6.3indirect
npmvitepress-plugin-llms1.7.3indirect
npmvitepress-plugin-llms^1.7.3indirect
npmvitepress-plugin-mermaid2.0.17indirect
npmvitepress-plugin-mermaid^2.0.17indirect
npmvue3.5.38indirect
npmvue-resize2.0.0-alpha.1indirect
npmwhich-typed-array1.1.19indirect
npmworkerd1.20260511.1indirect
npmwrangler4.91.0indirect
npmwrangler^4indirect
npmwrap-ansi7.0.0indirect
npmwrappy1.0.2indirect
npmws8.18.0indirect
npmy18n5.0.8indirect
npmyaml2.8.2indirect
npmyaml^2.8.2indirect
npmyargs17.7.2indirect
npmyargs-parser21.1.1indirect
npmyouch4.1.0-beta.10indirect
npmyouch-core0.3.3indirect
npmzod4.1.12indirect
npmzodcatalog:indirect
npmzwitch2.0.4indirect
Dependency advisories 16

This repository publishes no package the index resolves, so its own dependency graph was assessed — 637 packages, which also include development and test pins that never ship: 16 carry known advisories, of which 1 are direct. 15 could not be assessed — no resolved version, an unsupported ecosystem, or beyond the reported package list.

PackageVersionRelationSeverityAdvisoriesFixed in
rollup4.46.3indirectcritical14.59.0
@isaacs/brace-expansion5.0.0indirecthigh15.0.1
defu6.1.4indirecthigh16.1.5
js-yaml3.14.1indirecthigh34.3.0
linkify-it5.0.0indirecthigh15.0.1
minimatch10.0.3indirecthigh310.2.3
path-to-regexp8.2.0indirecthigh28.4.0
picomatch4.0.3indirecthigh24.0.4
undici7.24.8indirecthigh78.5.0
ws8.18.0indirecthigh28.21.0
isomorphic-gitcatalog:directmoderate11.8.2
diff8.0.2indirectmoderate18.0.3
markdown-it14.1.0indirectmoderate214.2.0
yaml2.8.2indirectmoderate12.8.3
zodcatalog:indirectmoderate13.22.3
esbuild0.27.3indirectlow10.28.1

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": [
        "cli",
        "getopt",
        "parser-combinators",
        "typescript"
      ],
      "is_fork": false,
      "size_kb": 13484,
      "has_wiki": false,
      "homepage": "http://optique.dev/",
      "languages": {
        "TypeScript": 7680813
      },
      "pushed_at": "2026-07-21T05:40:46Z",
      "created_at": "2025-08-19T05:34:10Z",
      "owner_type": "User",
      "updated_at": "2026-07-21T14:56:17Z",
      "description": "Type-safe combinatorial CLI parser for TypeScript",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://hongminhee.org/",
      "name": "Hong Minhee (洪 民憙)",
      "type": "User",
      "login": "dahlia",
      "company": "@fedify-dev",
      "location": "Seoul, Republic of Korea",
      "followers": 1350,
      "avatar_url": "https://avatars.githubusercontent.com/u/12431?v=4",
      "created_at": "2008-06-03T13:54:07Z",
      "is_verified": null,
      "public_repos": 274,
      "account_age_days": 6622
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "1.2.0",
          "kind": "minor",
          "published_at": "2026-07-21T05:39:53Z"
        },
        {
          "tag": "1.1.1",
          "kind": "patch",
          "published_at": "2026-06-29T03:48:53Z"
        },
        {
          "tag": "1.1.0",
          "kind": "minor",
          "published_at": "2026-06-16T03:00:52Z"
        },
        {
          "tag": "1.0.3",
          "kind": "patch",
          "published_at": "2026-06-10T09:39:11Z"
        },
        {
          "tag": "1.0.2",
          "kind": "patch",
          "published_at": "2026-04-24T08:35:05Z"
        },
        {
          "tag": "1.0.1",
          "kind": "patch",
          "published_at": "2026-04-22T14:53:54Z"
        },
        {
          "tag": "1.0.0",
          "kind": "major",
          "published_at": "2026-04-14T14:40:04Z"
        },
        {
          "tag": "0.10.7",
          "kind": "patch",
          "published_at": "2026-03-03T22:31:33Z"
        },
        {
          "tag": "0.10.6",
          "kind": "patch",
          "published_at": "2026-02-19T22:03:07Z"
        },
        {
          "tag": "0.10.5",
          "kind": "patch",
          "published_at": "2026-02-19T18:20:01Z"
        },
        {
          "tag": "0.10.4",
          "kind": "patch",
          "published_at": "2026-02-19T08:15:07Z"
        },
        {
          "tag": "0.10.3",
          "kind": "patch",
          "published_at": "2026-02-18T09:15:52Z"
        },
        {
          "tag": "0.10.2",
          "kind": "patch",
          "published_at": "2026-02-17T16:49:54Z"
        },
        {
          "tag": "0.10.1",
          "kind": "patch",
          "published_at": "2026-02-16T20:03:46Z"
        },
        {
          "tag": "0.10.0",
          "kind": "minor",
          "published_at": "2026-02-15T13:23:47Z"
        },
        {
          "tag": "0.9.11",
          "kind": "patch",
          "published_at": "2026-02-19T18:17:27Z"
        },
        {
          "tag": "0.9.10",
          "kind": "patch",
          "published_at": "2026-02-19T08:11:36Z"
        },
        {
          "tag": "0.9.9",
          "kind": "patch",
          "published_at": "2026-02-18T09:09:54Z"
        },
        {
          "tag": "0.9.8",
          "kind": "patch",
          "published_at": "2026-02-17T16:44:26Z"
        },
        {
          "tag": "0.9.7",
          "kind": "patch",
          "published_at": "2026-02-16T20:01:12Z"
        },
        {
          "tag": "0.9.6",
          "kind": "patch",
          "published_at": "2026-02-14T11:48:53Z"
        },
        {
          "tag": "0.9.5",
          "kind": "patch",
          "published_at": "2026-02-13T09:32:56Z"
        },
        {
          "tag": "0.9.4",
          "kind": "patch",
          "published_at": "2026-02-12T11:51:47Z"
        },
        {
          "tag": "0.9.3",
          "kind": "patch",
          "published_at": "2026-02-12T10:07:46Z"
        },
        {
          "tag": "0.9.2",
          "kind": "patch",
          "published_at": "2026-01-30T05:49:40Z"
        },
        {
          "tag": "0.9.1",
          "kind": "patch",
          "published_at": "2026-01-19T12:49:58Z"
        },
        {
          "tag": "0.9.0",
          "kind": "minor",
          "published_at": "2026-01-05T16:43:51Z"
        },
        {
          "tag": "0.8.17",
          "kind": "patch",
          "published_at": "2026-02-19T18:09:59Z"
        },
        {
          "tag": "0.8.16",
          "kind": "patch",
          "published_at": "2026-02-19T08:08:50Z"
        },
        {
          "tag": "0.8.15",
          "kind": "patch",
          "published_at": "2026-02-18T08:50:15Z"
        },
        {
          "tag": "0.8.14",
          "kind": "patch",
          "published_at": "2026-02-17T16:42:11Z"
        },
        {
          "tag": "0.8.13",
          "kind": "patch",
          "published_at": "2026-02-16T19:58:58Z"
        },
        {
          "tag": "0.8.12",
          "kind": "patch",
          "published_at": "2026-02-14T11:41:25Z"
        },
        {
          "tag": "0.8.11",
          "kind": "patch",
          "published_at": "2026-02-13T09:24:08Z"
        },
        {
          "tag": "0.8.10",
          "kind": "patch",
          "published_at": "2026-02-12T11:46:17Z"
        },
        {
          "tag": "0.8.9",
          "kind": "patch",
          "published_at": "2026-02-12T10:00:37Z"
        },
        {
          "tag": "0.8.8",
          "kind": "patch",
          "published_at": "2026-01-19T12:42:39Z"
        },
        {
          "tag": "0.8.7",
          "kind": "patch",
          "published_at": "2026-01-05T09:53:22Z"
        },
        {
          "tag": "0.8.6",
          "kind": "patch",
          "published_at": "2026-01-01T05:54:19Z"
        },
        {
          "tag": "0.8.5",
          "kind": "patch",
          "published_at": "2025-12-30T08:43:48Z"
        },
        {
          "tag": "0.8.4",
          "kind": "patch",
          "published_at": "2025-12-30T06:34:07Z"
        },
        {
          "tag": "0.8.3",
          "kind": "patch",
          "published_at": "2025-12-29T15:57:45Z"
        },
        {
          "tag": "0.8.2",
          "kind": "patch",
          "published_at": "2025-12-21T05:14:06Z"
        },
        {
          "tag": "0.8.1",
          "kind": "patch",
          "published_at": "2025-12-16T13:14:17Z"
        },
        {
          "tag": "0.8.0",
          "kind": "minor",
          "published_at": "2025-12-09T04:23:39Z"
        },
        {
          "tag": "0.7.19",
          "kind": "patch",
          "published_at": "2026-02-19T18:06:55Z"
        },
        {
          "tag": "0.7.18",
          "kind": "patch",
          "published_at": "2026-02-19T08:05:26Z"
        },
        {
          "tag": "0.7.17",
          "kind": "patch",
          "published_at": "2026-02-18T08:39:16Z"
        },
        {
          "tag": "0.7.16",
          "kind": "patch",
          "published_at": "2026-02-17T16:36:44Z"
        },
        {
          "tag": "0.7.15",
          "kind": "patch",
          "published_at": "2026-02-16T19:57:39Z"
        },
        {
          "tag": "0.7.14",
          "kind": "patch",
          "published_at": "2026-02-14T11:40:02Z"
        },
        {
          "tag": "0.7.13",
          "kind": "patch",
          "published_at": "2026-02-13T09:19:18Z"
        },
        {
          "tag": "0.7.12",
          "kind": "patch",
          "published_at": "2026-02-12T11:44:14Z"
        },
        {
          "tag": "0.7.11",
          "kind": "patch",
          "published_at": "2026-02-12T09:55:51Z"
        },
        {
          "tag": "0.7.10",
          "kind": "patch",
          "published_at": "2026-01-19T12:39:29Z"
        },
        {
          "tag": "0.7.9",
          "kind": "patch",
          "published_at": "2026-01-05T09:51:27Z"
        },
        {
          "tag": "0.7.8",
          "kind": "patch",
          "published_at": "2026-01-01T05:46:50Z"
        },
        {
          "tag": "0.7.7",
          "kind": "patch",
          "published_at": "2025-12-30T08:39:00Z"
        },
        {
          "tag": "0.7.6",
          "kind": "patch",
          "published_at": "2025-12-30T06:28:58Z"
        },
        {
          "tag": "0.7.5",
          "kind": "patch",
          "published_at": "2025-12-29T15:55:41Z"
        },
        {
          "tag": "0.7.4",
          "kind": "patch",
          "published_at": "2025-12-21T05:11:32Z"
        },
        {
          "tag": "0.7.3",
          "kind": "patch",
          "published_at": "2025-12-16T13:09:36Z"
        },
        {
          "tag": "0.7.2",
          "kind": "patch",
          "published_at": "2025-12-02T10:47:10Z"
        },
        {
          "tag": "0.7.1",
          "kind": "patch",
          "published_at": "2025-12-01T17:02:30Z"
        },
        {
          "tag": "0.7.0",
          "kind": "minor",
          "published_at": "2025-11-25T14:46:39Z"
        },
        {
          "tag": "0.6.11",
          "kind": "patch",
          "published_at": "2026-01-05T09:49:13Z"
        },
        {
          "tag": "0.6.10",
          "kind": "patch",
          "published_at": "2026-01-01T05:41:54Z"
        },
        {
          "tag": "0.6.9",
          "kind": "patch",
          "published_at": "2025-12-30T08:32:43Z"
        },
        {
          "tag": "0.6.8",
          "kind": "patch",
          "published_at": "2025-12-30T06:25:56Z"
        },
        {
          "tag": "0.6.7",
          "kind": "patch",
          "published_at": "2025-12-29T15:53:16Z"
        },
        {
          "tag": "0.6.6",
          "kind": "patch",
          "published_at": "2025-12-21T05:08:32Z"
        },
        {
          "tag": "0.6.5",
          "kind": "patch",
          "published_at": "2025-12-02T10:41:44Z"
        },
        {
          "tag": "0.6.4",
          "kind": "patch",
          "published_at": "2025-12-01T16:57:35Z"
        },
        {
          "tag": "0.6.3",
          "kind": "patch",
          "published_at": "2025-11-25T12:27:28Z"
        },
        {
          "tag": "0.6.2",
          "kind": "patch",
          "published_at": "2025-10-27T08:56:57Z"
        },
        {
          "tag": "0.6.1",
          "kind": "patch",
          "published_at": "2025-10-08T10:07:45Z"
        },
        {
          "tag": "0.6.0",
          "kind": "minor",
          "published_at": "2025-10-02T10:32:27Z"
        },
        {
          "tag": "0.5.3",
          "kind": "patch",
          "published_at": "2025-10-27T08:52:22Z"
        },
        {
          "tag": "0.5.2",
          "kind": "patch",
          "published_at": "2025-10-08T10:04:55Z"
        },
        {
          "tag": "0.5.1",
          "kind": "patch",
          "published_at": "2025-09-26T04:43:22Z"
        },
        {
          "tag": "0.5.0",
          "kind": "minor",
          "published_at": "2025-09-23T07:40:08Z"
        },
        {
          "tag": "0.4.4",
          "kind": "patch",
          "published_at": "2025-09-18T02:49:36Z"
        },
        {
          "tag": "0.4.3",
          "kind": "patch",
          "published_at": "2025-09-16T07:54:55Z"
        },
        {
          "tag": "0.4.2",
          "kind": "patch",
          "published_at": "2025-09-09T15:04:47Z"
        },
        {
          "tag": "0.4.1",
          "kind": "patch",
          "published_at": "2025-09-08T06:45:28Z"
        },
        {
          "tag": "0.4.0",
          "kind": "minor",
          "published_at": "2025-09-05T15:18:38Z"
        },
        {
          "tag": "0.3.2",
          "kind": "patch",
          "published_at": "2025-09-09T15:02:23Z"
        },
        {
          "tag": "0.3.1",
          "kind": "patch",
          "published_at": "2025-09-08T06:42:30Z"
        },
        {
          "tag": "0.3.0",
          "kind": "minor",
          "published_at": "2025-08-29T12:14:15Z"
        },
        {
          "tag": "0.2.1",
          "kind": "patch",
          "published_at": "2025-09-09T14:59:54Z"
        },
        {
          "tag": "0.2.0",
          "kind": "minor",
          "published_at": "2025-08-22T00:52:41Z"
        },
        {
          "tag": "0.1.2",
          "kind": "patch",
          "published_at": "2025-09-09T14:57:40Z"
        },
        {
          "tag": "0.1.1",
          "kind": "patch",
          "published_at": "2025-08-21T05:55:41Z"
        },
        {
          "tag": "0.1.0",
          "kind": "minor",
          "published_at": "2025-08-21T02:31:17Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "4b4f49a4e93fe89710d0324444f8b5e69eddeee1",
          "body": "[ci skip]",
          "is_bot": false,
          "headline": "Version bump",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-21T05:40:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "61de61c0699bef2fdbf22f90911e9295ed2ac904",
          "body": "Also introduce Sacho, a changelog manager.\n\nhttps://sacho.dev/",
          "is_bot": false,
          "headline": "Release 1.2.0",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-21T05:39:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3840be9c2ab886298e0509911a60f396269b2818",
          "body": "Type lifecycle hook resources",
          "is_bot": false,
          "headline": "Merge pull request #876 from dahlia/hook-types",
          "author_name": "Hong Minhee (洪 民憙)",
          "author_login": "dahlia",
          "committed_at": "2026-07-20T08:14:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "36ffc4e162d1d06f7bdb2245232a57c891c9b26d",
          "body": "The program context is a fallback only for command hook scopes without their own beforeEach hook. Starting a scope with an empty context when beforeEach exists prevents a rejected command preflight from exposing the program resource to command onError.\n\nhttps://github.com/dahlia/optique/pull/876#discussion_r3612746267\n\nAssisted-by: Codex:gpt-5.6-sol",
          "is_bot": false,
          "headline": "Isolate failed command preflight context",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-20T08:02:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c7fe56fd29c16187b0e5c7cf3d4542c672861b0d",
          "body": "These APIs require structured option or definition objects, but arrays could\nreach later validation and produce misleading errors or even behave like an\nempty module map. Reject arrays and other non-objects at the boundary with the\nsame terse diagnostics used elsewhere in the repository.\n\nhttps://gi\n[…]\nique/pull/876#discussion_r3612731818\nhttps://github.com/dahlia/optique/pull/876#discussion_r3612731826\nhttps://github.com/dahlia/optique/pull/876#discussion_r3612731829\n\nAssisted-by: Codex:gpt-5.6-sol",
          "is_bot": false,
          "headline": "Reject arrays for object inputs",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-20T08:00:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "26079d6bdd72ad6796ace8b073f49162924ee147",
          "body": "Command-level afterEach and onError hooks run inside the program hook scope.\nWhen the command has no beforeEach hook of its own, reuse the program context\ninstead of replacing it with an empty object so those hooks observe the same\nresource as the handler.\n\nAdd regressions for both success and failure paths, and correct the cookbook's\nem dash spacing.\n\nhttps://github.com/dahlia/optique/pull/876#pullrequestreview-4732969481\n\nAssisted-by: Codex:gpt-5.6-sol",
          "is_bot": false,
          "headline": "Preserve program hook context",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-20T07:48:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f7f47e8be61c393aa9dcebfe2e320dace77fced5",
          "body": "Static commands without their own beforeEach hook receive the program-level\ncontext at runtime, so accepting an erased handler resource type could pair a\nhandler with a context it cannot safely consume. Preserve that relationship\nthrough runProgram's static command and command-entry paths while allo\n[…]\nry mismatches with compile-time\nregressions, and document how program and command resources interact.\n\nhttps://github.com/dahlia/optique/pull/876#discussion_r3612440534\n\nAssisted-by: Codex:gpt-5.6-sol",
          "is_bot": false,
          "headline": "Keep static hook resources type-safe",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-20T07:37:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0f3b5a2e7d40ec6d7914580e941b354b1a670956",
          "body": "Thread the caller-defined resource type through lifecycle hook contexts,\ncommand definitions, run options, and the internal dispatcher. Keep the\nresource optional while making producer and consumer mismatches visible\nto TypeScript.\n\nAdd compile-time coverage for inferred and explicit resources, and update\nthe lifecycle documentation and examples to avoid casts.\n\nFixes https://github.com/dahlia/optique/issues/875\nhttps://github.com/dahlia/optique/pull/876\n\nAssisted-by: Codex:gpt-5.6-sol",
          "is_bot": false,
          "headline": "Type lifecycle hook resources",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-20T06:36:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "04ec5386f698b21a03ac0bb909c96c119fcbc036",
          "body": "Arrange package sections and feature entries so related changes are easier\nto scan. Preserve package-specific help options and consolidate the\nLogTape formatter additions from the same pull request.\n\nAssisted-by: Codex:gpt-5.6-sol",
          "is_bot": false,
          "headline": "Group related 1.2.0 changelog entries",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-19T06:39:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6776ce1713106a302cb8649035b90a4093b8552f",
          "body": "Publish the bundled Optique skill through a Claude Code marketplace while\nkeeping repository-only workflow skills hidden from public installers.\n\nDocument both repository-based and npm-aligned installation, and link the\ninstallation page from the Guide navigation.\n\nhttps://github.com/dahlia/optique/issues/850\nhttps://github.com/dahlia/optique/pull/852\n\nAssisted-by: Codex:gpt-5.6-sol",
          "is_bot": false,
          "headline": "Support Agent Skill installation paths",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-16T14:23:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7836254a875bbf96687372b07bafd0a7294771a6",
          "body": "Support LogTape formatter selection",
          "is_bot": false,
          "headline": "Merge pull request #867 from dahlia/packages/logtape/formatters",
          "author_name": "Hong Minhee (洪 民憙)",
          "author_login": "dahlia",
          "committed_at": "2026-07-03T01:38:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "60a64f082607ac457174d504a7cf53ffe8030b07",
          "body": "Custom formatter callbacks can still return unexpected values at\nruntime, especially from plain JavaScript callers.  Normalize those\nvalues before spreading them into console methods so invalid returns do\nnot turn into console sink failures.\n\nhttps://github.com/dahlia/optique/pull/867#discussion_r3516570709\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Harden console formatter output",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T23:33:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6dcaa6541c132cb71d205d0731b576a59bb2c5c7",
          "body": "The shared formatter option helper is exported for use by the preset,\nso it should carry the same API documentation as the rest of the\npackage surface.\n\nhttps://github.com/dahlia/optique/pull/867#discussion_r3516550517\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Document LogTape formatter helper",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T23:15:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2563cc61eae53f1951ec2a88adf9c987677985e5",
          "body": "The formatter option parser now lives in one place, so the preset and\nlogOutput() cannot drift in option names, descriptions, or value parsing.\nThe console sink tests also share a small capture helper instead of\nrepeating manual console.log restore blocks.\n\nhttps://github.com/dahlia/optique/pull/867#discussion_r3516519287\nhttps://github.com/dahlia/optique/pull/867#discussion_r3516519292\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Share LogTape formatter helpers",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T23:01:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e7424813a1222a1051055f392afb17a689a935ad",
          "body": "Log output parsers now carry parsed or fixed LogTape text formatters\nthrough the LogOutput value, so createSink() can apply the selected\nformat to both console and file sinks.\n\nThe loggingOptions() preset exposes formatter at the top level because\nit configures the generated sink rather than only the output destination\noption.\n\nhttps://github.com/dahlia/optique/pull/867\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Wire LogTape formatter options",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T22:37:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0d01ded2d4810d8af61a283ad662d10d8bdf0816",
          "body": "Add textFormatter() for mapping jsonl, logfmt, color, and plain\nCLI values to LogTape's built-in text formatter functions.  Export the\nparser from @optique/logtape and cover parsing, suggestions, formatting,\nand option integration.\n\nDocument the new parser in the LogTape integration guide, package README,\nparser catalog, changelog, and Optique agent skill.\n\nhttps://github.com/dahlia/optique/pull/867\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Add LogTape text formatter parser",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T21:43:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8d42c41b15198507f0d525ebf38a9b18688704b",
          "body": "Allow createConsoleSink() to accept LogTape text and console\nformatters while preserving Optique's existing stream routing and\ndefault console output format.  Text formatter output follows LogTape's\nconsole sink behavior by trimming a trailing line ending before calling\nthe selected console method.\n\n[…]\nogfmtFormatter and refresh\nLogTape dependency locks so the documented formatter is available during\nTwoslash and package checks.\n\nhttps://github.com/dahlia/optique/pull/867\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Support LogTape console formatters",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T17:32:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "747f36a79d0fbf501b122074655db0b763493e58",
          "body": "Reversible value parser mapping",
          "is_bot": false,
          "headline": "Merge pull request #866 from dahlia/transform",
          "author_name": "Hong Minhee (洪 民憙)",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T17:30:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa56f91eba0c6db0809add5bf7584aed767ede92",
          "body": "The transformed sync fallback validator now checks the formatted value\nbefore replaying it through the inner parser, so malformed fallback shapes\ncannot slip through as non-string input.  It also routes the replay through\nwrapForMode so sync validation reports an accidental Promise return at the\nsam\n[…]\n/optique/pull/866#discussion_r3514843797\nhttps://github.com/dahlia/optique/pull/866#discussion_r3514843821\nhttps://github.com/dahlia/optique/pull/866#discussion_r3514874552\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Validate transformed sync fallbacks",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T17:11:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6a72f083187278edda82811c90e57589e4d993c4",
          "body": "The transformed value parser should keep deferred placeholder results\nalive when the placeholder cannot be mapped, since phase-two parsing still\nneeds to replay the real value later.  Direct dependency sources are now\nrejected instead of silently registering transformed dependency values\nagainst an \n[…]\n/optique/pull/866#discussion_r3514751118\nhttps://github.com/dahlia/optique/pull/866#discussion_r3514817857\nhttps://github.com/dahlia/optique/pull/866#discussion_r3514817863\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Tighten transformed value edge cases",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T17:01:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "be3862cebafa0a059f2e12c10be0b764fc58c768",
          "body": "The transformed parser should treat unmap() failures consistently whether the\nwrapped parser provides validate() directly or falls back to a round-trip\nvalidator.  Preserve sentinel fallback values when the inverse mapping cannot\nserialize them, while still letting inner validate() failures report normally.\n\nhttps://github.com/dahlia/optique/pull/866#discussion_r3514680323\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Preserve validated transform fallbacks",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T16:44:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7a578ce1e907861edc3c3034bc7795272d93f364",
          "body": "Sync fallback validation should distinguish failures while preparing the\nround-trip from failures while parsing the formatted value.  Preserve the\noriginal transformed fallback when unmap() or format() cannot produce a CLI\nspelling, while keeping malformed fallbacks that collapse to undefined rejected.\n\nhttps://github.com/dahlia/optique/pull/866#pullrequestreview-4619216701\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Preserve transformed fallback values",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T16:32:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a847eac51671879f20d244c4b04323c2de1c187b",
          "body": "Transformed placeholders can come from lazy or dependency-derived getters.\nRead the wrapped placeholder once inside the guarded path so a throwing getter\nis treated the same way as a throwing mapping: the transformed parser simply\nhas no placeholder.\n\nhttps://github.com/dahlia/optique/pull/866#discussion_r3514290576\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Guard transformed placeholders",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T15:50:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03f76ba15f00082884b3db88d74e17266ec5fdfa",
          "body": "Transformed derived value parsers need to preserve the receiver context of\nsuggestWithDependency.  Bind the delegated method before wrapping it through\nthe iterable mode boundary so custom derived parsers that use this keep\nworking after transform().\n\nhttps://github.com/dahlia/optique/pull/866#discussion_r3514121586\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Bind derived transform suggestions",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T15:31:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1dd4b70d50036956ea4c81b4bb75285c03c1b482",
          "body": "Transformed value parser validation should not accept malformed fallback\nvalues when the inverse mapping or the inner round trip cannot handle the\ninput.  Return a structured transform failure instead, and keep suggestions\nbehind the iterable mode boundary so sync wrappers reject async iterables\nwit\n[…]\n/optique/pull/866#discussion_r3514044124\nhttps://github.com/dahlia/optique/pull/866#discussion_r3514048802\nhttps://github.com/dahlia/optique/pull/866#discussion_r3514049152\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Reject malformed transform fallbacks",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T15:05:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "90bbb84be8d28ba5e4a470025effd70ddee200e8",
          "body": "Transform should keep parser boundaries intact when user mapping code\nthrows.  This commit turns parse-time mapping failures into structured\nvalue parser failures, and keeps fallback validation tolerant when an\ninverse mapping cannot claim the supplied value.\n\nIt also centralizes the async iterable probe in wrapIterableForMode so\nboth mode branches use the same checked value.\n\nhttps://github.com/dahlia/optique/pull/866#pullrequestreview-4618730163\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Guard transform mapping failures",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T15:03:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ddd68ea0fff7d8b0d060169a63e06cb65f8f1b6b",
          "body": "The TypeScript overloads describe object mappings, but JavaScript callers can\nstill pass null or primitive values at runtime. Reject those values with a\nTypeError before enumerating keys, so strings cannot become accidental indexed\nmappings and null does not fall through to the empty-mapping RangeError.\n\nhttps://github.com/dahlia/optique/pull/866#discussion_r3513995794\nhttps://github.com/dahlia/optique/pull/866#discussion_r3513995805\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Reject invalid biject mappings early",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T14:51:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a04840e1d6c6ddf9e38cd34538e3c4e66f7ade85",
          "body": "Fallback validation should not crash when the validation round trip cannot\nserialize a transformed value. Preserve the original transformed value when\nunmapping, formatting, or parsing throws, matching the existing fallback\nvalidation behavior elsewhere in the parser stack.\n\nAlso pin the duplicate-v\n[…]\nuctor-time error messages stay covered.\n\nhttps://github.com/dahlia/optique/pull/866#discussion_r3513969690\nhttps://github.com/dahlia/optique/pull/866#discussion_r3513969711\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Preserve transformed fallback validation",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T14:50:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "43dec86872dc57f31f597eecaf960d1b7b3affab",
          "body": "Transformed value parsers sit on top of existing parser contracts, so they\nneed to keep the same mode and metadata guardrails as other wrappers. Route\nwrapped parse results through the mode boundary, keep missing placeholders\nmissing, and leave transformed placeholders enumerable for dependency sour\n[…]\noptique/pull/866#discussion_r3513909409\nhttps://github.com/dahlia/optique/pull/866#discussion_r3513909418\nhttps://github.com/dahlia/optique/pull/866#issuecomment-4866983319\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Harden transformed value parser wrappers",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T14:47:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "77665cb5be912651e0c0623cae8b1c75020746e0",
          "body": "Value parsers need a first-class way to expose domain values while\nstill preserving CLI-facing spelling, formatting, fallback validation,\nand completion metadata. Add transform() for reversible value-parser\nmapping and biject() for one-to-one string-to-value dictionaries.\n\nThe biject() parser snapsh\n[…]\ncts\narrays, empty mappings, empty keys, and duplicate mapped values, and\nkeeps fallback validation tied to the mapped value set.\n\nhttps://github.com/dahlia/optique/pull/866\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Add reversible value parser mapping",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T14:26:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0ed97d69be14d3b62fdfaf32d7c0ba14c4093419",
          "body": "Add transform() for value parsers that can map parsed values to a\npublic type while using the inverse mapping for formatting and fallback\nvalidation.  The wrapper preserves parser mode, suggestions, dependency\nmetadata, and derived default snapshots.\n\nDocument the combinator in the value parser guide, catalog, agent skill,\nand changelog for the PR #866 branch.\n\nhttps://github.com/dahlia/optique/pull/866\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Add reversible value parser transforms",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-07-02T13:17:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7cd22796d1cf6033f5680f168368d83f11c6fbf5",
          "body": "Allow compact root command lists in help output",
          "is_bot": false,
          "headline": "Merge pull request #865 from dahlia/feature/command-list",
          "author_name": "Hong Minhee (洪 民憙)",
          "author_login": "dahlia",
          "committed_at": "2026-06-30T19:18:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0a42d85386d6fb56bc2eba634a130747e26da017",
          "body": "Skip the rest of a top-level command group once its root help entry has\nbeen selected, and strip synthetic command docs before storing the entry.\nThis keeps the commandList top-level path from doing a second lookup and\npost-processing pass.\n\nhttps://github.com/dahlia/optique/pull/865#discussion_r3501229086\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Avoid repeated root command lookups",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-30T19:13:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cfdf8d4c71fc4d9b517190d1aaee63a8c2b23577",
          "body": "Add a commandList option to the core, run, and discover help\nsurfaces so large command trees can keep root help focused on\nfirst-level command groups while preserving recursive listings by\ndefault.\n\nThe implementation also keeps aboveError help consistent for\nroot-level parse errors with non-empty argv, and documents the new\noption across the runner and discover guides.\n\nFixes https://github.com/dahlia/optique/issues/864\nhttps://github.com/dahlia/optique/pull/865\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Add compact command list help",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-30T18:56:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a0394b067d3f496ff74e4ef3f3bf0e16a1de28b2",
          "body": "The landing page listed every @optique/* package under the \"Batteries\nincluded\" section, whose lead is specifically about value parsers and\ncombinators. Most packages don't provide value parsers, so the grid sat\nawkwardly under that framing.\n\nPull the package grid out into its own ecosystem section,\n[…]\neuses the parser catalog's\nlabeled-row grammar so the two sections read as siblings, and the\npackage-sync guidance in AGENTS.md points at the new role groups.\n\nAssisted-by: Claude Code:claude-opus-4-8",
          "is_bot": false,
          "headline": "Move packages to their own ecosystem section",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-30T01:14:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c8c9ac4ace30f120b15ad96017f88f00d1b9d41e",
          "body": "Standard Schema value parser adapter",
          "is_bot": false,
          "headline": "Merge pull request #863 from dahlia/packages/standard-schema",
          "author_name": "Hong Minhee (洪 民憙)",
          "author_login": "dahlia",
          "committed_at": "2026-06-30T00:37:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f3b0373753ed3ac3bac23d67ba9a5aa4232510d1",
          "body": "The default Standard Schema formatter used String(value) directly in several branches. Null-prototype objects can throw there, so route those conversions through a small guarded helper while preserving the existing JSON formatting path for plain objects.\n\nThe regression test covers Object.create(nul\n[…]\n longer crash help/default formatting.\n\nhttps://github.com/dahlia/optique/pull/863#discussion_r3495305052\n\nhttps://github.com/dahlia/optique/pull/863#discussion_r3495305056\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Guard schema value formatting",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T23:53:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "063939ad6436f0eb3124845aaee2f182d49f864b",
          "body": "Validate Standard Schema inputs before constructing parsers so invalid schemas fail with a clear TypeError instead of a property-access crash.\n\nThis also keeps the options validation tests local to their fixture objects and wraps the landing-page parser section line flagged during review.\n\nhttps://g\n[…]\nptique/pull/863#discussion_r3494807152\n\nhttps://github.com/dahlia/optique/pull/863#discussion_r3494807166\n\nhttps://github.com/dahlia/optique/pull/863#discussion_r3494807175\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Harden Standard Schema review fixes",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T23:39:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b38c4f83c7c5b88783c19228ab4d9d3036412302",
          "body": "The landing parser catalog should show the schema adapter helpers that\nOptique ships directly, not only mention schema libraries in prose. The\ncatalog now lists the Standard Schema, Zod, and Valibot sync and async\nhelpers together, and the landing count reflects those parser entries.\n\nhttps://github.com/dahlia/optique/pull/863#discussion_r3494699005\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Catalog schema parsers on landing",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T21:22:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "347f5e8af6ed2aa5593d0d8e10ece4a714fff38d",
          "body": "Standard Schema parser options should come from a plain options object\nwith an own placeholder property. Otherwise inherited properties can make\nan invalid options value look complete, and class instances can bypass the\nshape check that callers expect.\n\nThe regression tests cover both non-plain options objects and inherited\nplaceholder values.\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Require plain schema options",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T21:08:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "99bce0589a328e7428588bc99837076dfb125863",
          "body": "The generic adapter should fail consistently when options are not a\nplain options object, and the sync helper should not leave rejected async\nvalidation results unobserved after reporting that the async helper is\nrequired.\n\nThe fallback validation message now follows the repository rule that\nuser-fa\n[…]\n/optique/pull/863#discussion_r3494616208\nhttps://github.com/dahlia/optique/pull/863#discussion_r3494631195\nhttps://github.com/dahlia/optique/pull/863#discussion_r3494631209\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Harden Standard Schema validation",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T20:55:03Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "52430745ce8b56d70a02c29ad33ef3de1890aa2f",
          "body": "Add @optique/standard-schema so Standard Schema-compatible validators\ncan be reused as Optique value parsers in sync and async parser modes.\nThe adapter keeps the portable path conservative, with explicit\nplaceholders, configurable metavars, formatting, and validation errors.\n\nDocument the integrati\n[…]\nthe new generic schema adapter alongside the richer Zod and\nValibot packages.\n\nFixes https://github.com/dahlia/optique/issues/862\nhttps://github.com/dahlia/optique/pull/863\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Add Standard Schema adapter",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T20:35:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "709d075c96527d95141d98cbf36c19f1e25897d9",
          "body": "The docs/compare/ pages were only reachable from the top nav and the\nend of why.md, so a visitor weighing Optique against a library they\nalready use had no path to them from the home page.\n\nAdd a CompareBand component before the closing call to action, plus a\nCompare button on that call to action.  \n[…]\name straight to its\npage, without reproducing the tables, which would turn the landing\npage's confident pitch into a defensive one.\n\nAssisted-by: Claude Code:claude-opus-4-8\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Surface CLI comparisons on the landing page",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T14:58:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "15f1cc9b6266b1c38b369ed88297ba9da7758051",
          "body": "Skip co-located test files during discovery",
          "is_bot": false,
          "headline": "Skip co-located test files during discovery (#861)",
          "author_name": "이호연",
          "author_login": "ho991217",
          "committed_at": "2026-06-29T14:34:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "86d0fd208e30461e22e9242319f0041c05c4b01d",
          "body": "The docs explained Optique on its own terms but never placed it side by\nside with the libraries developers already know, which is exactly what\nsomeone evaluating it wants.  This adds a balanced comparison section\nunder docs/compare/ covering nine libraries:\n\n- Commander.js, Yargs, Cliffy, Gunshi, Cl\n[…]\nd with a Codex review loop.\n\nThe \"Comparison\" group sits after Integrations in the nav and sidebar,\nand \"Why Optique?\" links to it.\n\nAssisted-by: Claude Code:claude-opus-4-8\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Compare Optique with other CLI libraries",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T14:12:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "313ee645d00030e45aae1b20252605ddc251b6e4",
          "body": "- Removed spaces around em dashes used mid-sentence\n- Converted headings to sentence case\n- Replaced backtick-wrapped package names with italics\n- Replaced backtick-wrapped file paths, file names, and extensions\n  with italics\n- Updated AGENTS.md style guide to reflect file path/name/extension\n  convention\n\n[ci skip]\n\nAssisted-by: OpenCode:deepseek-v4-flash",
          "is_bot": false,
          "headline": "Apply Markdown style conventions across documentation",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T05:23:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e2088561b5773e5912cb218422552ddb3105a07",
          "body": "Hide usage lines in full help output",
          "is_bot": false,
          "headline": "Merge pull request #860 from dahlia/feature/show-usage",
          "author_name": "Hong Minhee (洪 民憙)",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T05:00:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d3b3041fc0e5d895367622674835da7ba8e3b3d",
          "body": "Forward sectionOrder when rendering full help above parse errors, matching\nthe normal help path.  Add a regression test that orders grouped help\nsections through aboveError: \"help\" so this path stays covered.\n\nhttps://github.com/dahlia/optique/issues/856\nhttps://github.com/dahlia/optique/pull/860\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Preserve section order in error help",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T04:50:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ff9c6461a5619e5182b49bd00a04f3633bf52b07",
          "body": "Add showUsage to the core document formatter and runner options so\nlarge command menus can omit the generated Usage synopsis from full\nhelp pages.  Thread the option through @optique/run and @optique/discover\nwhile keeping usage-only error preambles unchanged.\n\nDocument the new option, update the Op\n[…]\nskill guidance, and\nrecord the public and exposed API surfaces in CHANGES.md.\n\nFixes https://github.com/dahlia/optique/issues/856\nhttps://github.com/dahlia/optique/pull/860\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Allow hiding help usage",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T04:17:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c9c5009825d4310c5c435d4c5dc1220488466d8c",
          "body": "Add fixed suppressions to generated command modules",
          "is_bot": false,
          "headline": "Merge pull request #858 from dahlia/fix-854",
          "author_name": "Hong Minhee (洪 民憙)",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T04:03:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9d37b9cc0b4fbe72f8d93029aaac4481f329b143",
          "body": "Optique 1.1.1",
          "is_bot": false,
          "headline": "Merge tag '1.1.1'",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T03:52:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b8d39082fdeb37bb16c68b2dc2396d4c9c45b1d5",
          "body": null,
          "is_bot": false,
          "headline": "Release 1.1.1",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T03:48:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a0bf2c8bfffc3a15b66bec8f8b69f60e505719b",
          "body": "Keep nested help scoped with completion enabled",
          "is_bot": false,
          "headline": "Merge pull request #859 from dahlia/bugfix/issue-855",
          "author_name": "Hong Minhee (洪 民憙)",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T03:47:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f4844f9b8d903fe26e4eda9ec280b6ded1d5ed1d",
          "body": "Place Biome file-level suppressions at the start of the generated header so\nBiome sees them before any other generated comments. Build the header from\nexplicit LF-joined lines to make the generated output independent from source\nfile line endings.\n\nhttps://github.com/dahlia/optique/pull/858#discussion_r3489159716\nhttps://github.com/dahlia/optique/pull/858#discussion_r3489159721\nhttps://github.com/dahlia/optique/pull/858#discussion_r3489166439\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Make generated header Biome-friendly",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T03:45:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6585ea20d233071669cc01bede3d5135cd0ff23f",
          "body": "Nested subcommand help should use the selected user command's\ndocumentation even when completion meta options are enabled.  Keep the\naugmented parser for validating help paths and root help, but use the\noriginal parser when rendering user subcommand docs so sibling commands and\nmeta usages do not leak into the scoped help page.\n\nFixes https://github.com/dahlia/optique/issues/855\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Scope nested help with completion",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T03:39:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "39785bdbbebdff49aefc5f27b0e03d2cdf7827f2",
          "body": "Generated optique-discover modules now include a fixed header with\nmachine-owned, lint, formatter, and TypeScript check suppression comments.\nThis keeps generated static module maps quiet without adding public CLI or\nAPI switches before the command has shipped.\n\nThe documentation now explains the fixed header and points Prettier and\nOxfmt users to formatter-level ignore configuration.\n\nFix https://github.com/dahlia/optique/issues/854\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Add generated module suppressions",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-29T03:36:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "399ee0569851d9e275479838fa822d4b6badec5e",
          "body": "The watch test now observes the intermediate file-set state after\nremoving one command file before removing the last one. This matches the\npolling watcher's actual contract and avoids relying on two filesystem\nchanges being coalesced in CI.\n\nFixes https://github.com/dahlia/optique/issues/853\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Stabilize discover watch test",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-28T01:57:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "420e278954aa563f9143093140f9ad7112926a79",
          "body": "Add official Optique agent skill",
          "is_bot": false,
          "headline": "Merge pull request #852 from dahlia/skill",
          "author_name": "Hong Minhee (洪 民憙)",
          "author_login": "dahlia",
          "committed_at": "2026-06-28T01:51:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "09f5a730262b6415b84da221548f0ad91de69194",
          "body": "The frontmatter assertion stays anchored to the start of SKILL.md but\nnow accepts CRLF line endings, so the test still passes on Windows\ncheckouts.\n\nhttps://github.com/dahlia/optique/pull/852#discussion_r3487116397\n\nAssisted-by: OpenCode:gpt-5.5",
          "is_bot": false,
          "headline": "Allow CRLF in skill frontmatter test",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-28T01:17:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "003646d030cc997b9c87879245796cc0e1ddcadf",
          "body": "The skill snippet test now accepts string-valued Deno exports while\nalso asserting that each Deno export is present in package.json.  This\nkeeps workspace import resolution tied to the published package surface\nwithout requiring built dist files during the focused test.\n\nThe frontmatter assertion no\n[…]\ntique/pull/852#discussion_r3486816071\nhttps://github.com/dahlia/optique/pull/852#discussion_r3486818550\nhttps://github.com/dahlia/optique/pull/852#discussion_r3486818553\n\nAssisted-by: OpenCode:gpt-5.5",
          "is_bot": false,
          "headline": "Harden skill test export checks",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-28T01:04:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4a8db163c59468e7f871f8f8ab2248609c35d958",
          "body": "Use file URL conversion and normalized virtual compiler paths so the\nskill snippet tests do not depend on POSIX pathname behavior. This keeps\nthe test harness usable on Windows as well as Unix-like runtimes.\n\nhttps://github.com/dahlia/optique/pull/852#discussion_r3486518324\nhttps://github.com/dahlia/optique/pull/852#discussion_r3486518325\n\nAssisted-by: OpenCode:gpt-5.5",
          "is_bot": false,
          "headline": "Make skill tests path-portable",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T21:24:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c3fb3a9554dd3e652a3006dfe2dd7297ae2569dd",
          "body": "Document that the official Optique Agent Skill needs updates alongside\nuser-facing documentation when features, parsers, API contracts, or common\npitfalls change.\n\nAssisted-by: OpenCode:gpt-5.5\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Keep agent guidance in sync",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T18:04:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bbf10758d701780063c7281acb4e7d2e857918d3",
          "body": "Ship the first-party Optique Agent Skill from @optique/core so coding\nagents can discover concise project guidance from the package metadata.\nKeep the skill examples type-checked and exclude the colocated test from\npublished skill assets.\n\nFixes https://github.com/dahlia/optique/issues/850\n\nAssisted-by: OpenCode:gpt-5.5\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Add official Optique agent skill",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T17:59:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cc03d22d392fe2ba4f26305e95de6c003dd6a1df",
          "body": "Lifecycle hooks for `runProgram()`",
          "is_bot": false,
          "headline": "Merge pull request #851 from dahlia/lifecycle-hooks",
          "author_name": "Hong Minhee (洪 民憙)",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T17:39:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0b30260eb2ffe78f142685e783d486479593de18",
          "body": "runHookScope() already normalizes a nullish beforeEach() result to an\nempty context, but the type still required a ProgramHookContext return,\nforcing side-effect-only hooks to write \"return {}\" or cast.  Widen the\nbeforeEach return type to also accept void and null (and the matching\nPromise), so a hook that threads no resource can simply omit its return.\n\nAssisted-by: Claude Code:claude-opus-4-8",
          "is_bot": false,
          "headline": "Allow beforeEach hooks to omit a return",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T16:12:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "45872e7dc5f8751e49d0750d60af9763d93bc95d",
          "body": "Two PR review comments noted the program-hooks example only handled\nthe success path:\n\n- The deploy command released its auth token in afterEach but not on\n  failure.  Add an onError that releases it too, so the example shows\n  try/finally-style teardown across both paths.\n- The program-level onErro\n[…]\n back to a default label.\n\nhttps://github.com/dahlia/optique/pull/851#discussion_r3486287302\nhttps://github.com/dahlia/optique/pull/851#discussion_r3486287306\n\nAssisted-by: Claude Code:claude-opus-4-8",
          "is_bot": false,
          "headline": "Release resources on the error path in hooks example",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T16:00:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "87de53a35d13f9b5e55c7bfdb59c2b21ea011990",
          "body": "Two PR review comments flagged ways malformed runtime values could\nslip past the new lifecycle-hook handling:\n\n- validateHooks() accepted arrays, because typeof [] is \"object\" and\n  the per-hook loop never reads array indices.  Reject arrays\n  explicitly with a distinct message.\n- A beforeEach() tha\n[…]\nesult to an empty object.\n\nhttps://github.com/dahlia/optique/pull/851#discussion_r3486283873\nhttps://github.com/dahlia/optique/pull/851#discussion_r3486283874\n\nAssisted-by: Claude Code:claude-opus-4-8",
          "is_bot": false,
          "headline": "Harden lifecycle hook handling against bad values",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T15:59:49Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a902c666c52cb8e738f0a8f59d6a7151f81beaae",
          "body": "Add a \"Lifecycle hooks\" section to the command discovery concept page and\na \"Program-level lifecycle hooks\" recipe to the cookbook, covering the\nhook contract, context threading, program-to-command ordering (as a\nMermaid flowchart), and the difference between a parse error and a\nhandler error.  Add a runnable examples/patterns/program-hooks.ts that\nmirrors the command-discovery example.\n\nAssisted-by: Claude Code:claude-opus-4-8\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Document discover lifecycle hooks",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T15:00:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5b48d21849145dc1865c951ae183041e768064e3",
          "body": "The lifecycle-hooks docs need a flow diagram, and Mermaid renders a\ncleaner, more maintainable diagram than hand-drawn ASCII art.\n\nWire withMermaid() around the VitePress config and add mermaid plus\nvitepress-plugin-mermaid to the docs dev dependencies.  The plugin's\npeer range predates VitePress 2, but it works with the alpha the docs\nuse (verified by a production build and a rendered diagram).\n\nAssisted-by: Claude Code:claude-opus-4-8",
          "is_bot": false,
          "headline": "Render docs diagrams with vitepress-plugin-mermaid",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T15:00:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5f9074525cc47975ca6af268210524cbdc8f5ade",
          "body": "runProgram() dispatched straight to a command's handler, leaving no\nsingle place for cross-cutting around-handler concerns such as log\nscopes, tracing spans, lazy resource setup, and failure reporting.\nTeams worked around this by duplicating try/finally in every handler or\nby shadowing defineCommand\n[…]\nhen no beforeEach runs, the handler is\ncalled with just the value, preserving the exact call shape of a hookless\nrunProgram() call.\n\nAssisted-by: Claude Code:claude-opus-4-8\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Add lifecycle hooks to @optique/discover",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T15:00:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1719f063c314f20ba00417ecc9b91e33bff6dfdc",
          "body": "Newcomers repeatedly hit the same misconceptions: or() treated as\n\"optional alternatives\", optional() versus withDefault(), free-order\n(priority-based) parsing, async contagion, and forgetting to register\nsource contexts.  Collect these into a single docs/pitfalls.md page\nthat states the correct men\n[…]\nfalls) under a new \"Guide\" section in both the nav and the sidebar,\nso the top level no longer carries four loose links.\n\n[ci skip]\n\nAssisted-by: Claude Code:claude-opus-4-8\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Add a common pitfalls guide to the docs",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T14:59:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "22b59099ec210bcec8db2694a63fddbcb9624e85",
          "body": "“Did you mean?” hints for `choice()` value typos",
          "is_bot": false,
          "headline": "Merge pull request #849 from dahlia/choice-did-you-mean",
          "author_name": "Hong Minhee (洪 民憙)",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T12:34:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "23a526b7fa4f0f7bb55971db7acc64465cbf0787",
          "body": "When suggest is an object ({ maxDistance?, maxSuggestions? }), the\nparser closure previously captured the caller's original reference.\nA caller who mutates the object after calling choice() could silently\nchange hint behavior or bypass the validation that ran at construction.\n\nSnapshot the two relev\n[…]\nitialized with,\nconsistent with how choices and errors.invalidChoice are already treated.\n\nhttps://github.com/dahlia/optique/pull/849#discussion_r3485978329\n\nAssisted-by: Claude Code:claude-sonnet-4-6",
          "is_bot": false,
          "headline": "Snapshot suggest object option at construction time",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T12:18:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "694ee20a569a1770fbc07ac619fded74f3922cdc",
          "body": "The suggestion hint renders values using the value() term, which formats\nthem with double quotes (e.g. \"dev\"), not backticks. Update the two\nexample outputs in the docs to match.\n\nhttps://github.com/dahlia/optique/pull/849#discussion_r3485961538\nhttps://github.com/dahlia/optique/pull/849#discussion_r3485961543\n\nAssisted-by: Claude Code:claude-sonnet-4-6",
          "is_bot": false,
          "headline": "Fix Did you mean? format in docs",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T12:06:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e16654a6a31485f06aa1b2dfc35217741b3c73a4",
          "body": "Extract appendValueSuggestions() from appendValueHint() as a separate\npublic helper that formats and appends a pre-filtered list of suggestion\nstrings.  appendValueHint() now delegates to it after calling findSimilar.\n\nThe multi-suggestion path was using text(\"\\n  \") to separate items, but\nformatMes\n[…]\n9#discussion_r3485945785\nhttps://github.com/dahlia/optique/pull/849#discussion_r3485945789\nhttps://github.com/dahlia/optique/pull/849#discussion_r3485949409\n\nAssisted-by: Claude Code:claude-sonnet-4-6",
          "is_bot": false,
          "headline": "Extract appendValueSuggestions, fix multi-hint rendering",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T11:54:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ff2594d8e429ba914f39779be976e5043c75d423",
          "body": "Floating-point values and negative numbers produce nonsensical results\nfor Levenshtein distance thresholds.  The validation now requires:\n\n- suggest.maxDistance: a non-negative integer (0 is allowed; it means\n  only exact matches)\n- suggest.maxSuggestions: a positive integer (0 would return nothing)\n[…]\nin the function\nform of formatStringChoiceError() for consistency with appendValueHint().\n\nhttps://github.com/dahlia/optique/pull/849#discussion_r3485913352\n\nAssisted-by: Claude Code:claude-sonnet-4-6",
          "is_bot": false,
          "headline": "Require integers for suggest.maxDistance/maxSuggestions",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T11:39:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "465989226470cab84093eeb3341389361bc7d53b",
          "body": "Two improvements to appendValueHint() in suggestion.ts:\n\n- Switch from optionName terms to value terms for the candidates in\n  the hint message.  optionName wraps in raw backticks without\n  escaping, so a choice like \"foo`bar\" would produce a broken\n  \"`foo`bar`\" output.  value terms use JSON.string\n[…]\nemantics\n  unambiguous.\n\nhttps://github.com/dahlia/optique/pull/849#discussion_r3485913351\nhttps://github.com/dahlia/optique/pull/849#discussion_r3485918614\n\nAssisted-by: Claude Code:claude-sonnet-4-6",
          "is_bot": false,
          "headline": "Use value terms for Did you mean? hints in appendValueHint()",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T11:38:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b3c70b3c1de4e9a402898d42822ea1524db92c6f",
          "body": "Per the docs convention, mid-sentence em dashes should not have\nsurrounding spaces.\n\nhttps://github.com/dahlia/optique/pull/849#discussion_r3485899086\n\nAssisted-by: Claude Code:claude-sonnet-4-6",
          "is_bot": false,
          "headline": "Remove spaces around em dashes in cookbook",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T11:17:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1aa50a37640318a70f0af635065f9f75ee467fbc",
          "body": "When base is empty, the unconditional lineBreak()/lineBreak() prefix\nrendered \"\\n\\nDid you mean ...\" instead of just the hint.  Now the\nseparators are only inserted when base is non-empty.\n\nAlso fix the close-candidate test to use a base message that does not\nalready contain the candidate string, so\n[…]\nng the empty-base path.\n\nhttps://github.com/dahlia/optique/pull/849#discussion_r3485899088\nhttps://github.com/dahlia/optique/pull/849#discussion_r3485899093\n\nAssisted-by: Claude Code:claude-sonnet-4-6",
          "is_bot": false,
          "headline": "Fix appendValueHint() with empty base message",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T11:17:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "377ece65b8f807b593945fb420ecd763095cb8d5",
          "body": "- Reject arrays passed as suggest (typeof [] === \"object\" was a\n  loophole); report \"array\" in the error type for clarity\n- Validate suggest.maxDistance and suggest.maxSuggestions are\n  finite numbers when the object form is used, so invalid values\n  like { maxSuggestions: 1n } throw at construction\n[…]\n9#discussion_r3485895188\nhttps://github.com/dahlia/optique/pull/849#discussion_r3485899096\nhttps://github.com/dahlia/optique/pull/849#discussion_r3485901383\n\nAssisted-by: Claude Code:claude-sonnet-4-6",
          "is_bot": false,
          "headline": "Harden suggest option validation in choice()",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T11:17:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4f7a5e894d0254099f65090b716cf9942dbf62d7",
          "body": "Assisted-by: Claude Code:claude-sonnet-4-6",
          "is_bot": false,
          "headline": "Add CHANGES.md entry for choice() suggest option",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T11:00:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8863eafc4e44f9d1e19ba05134326c2c34245b06",
          "body": "Invalid runtime values for suggest (e.g. true, \"nearset\", 0) previously\nfell through to the object-form branch, silently enabling nearest\nsuggestions instead of rejecting the bad input. This is inconsistent\nwith how nearby options like caseInsensitive are validated.\n\nNow throws TypeError at construction time when suggest is defined but\nis not \"nearest\", \"never\", a plain object, or a function. Tests added\nfor true, a misspelled string, and a number.\n\nAssisted-by: Claude Code:claude-sonnet-4-6",
          "is_bot": false,
          "headline": "Validate suggest option at choice() construction time",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T10:51:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cec0d853164273d92cb46d4bcfa78cab48c90cce",
          "body": "The suggest option was on ChoiceOptionsBase, which meant number choices\nalso inherited it via ChoiceOptionsNumber — but the number parser branch\nnever read or applied it, silently ignoring a documented option.\n\nMoving suggest to ChoiceOptionsString only, since:\n- The candidate set is always string[]\n[…]\n function form's\n  (input: string, choices: readonly string[]) signature.\n- Number choices have no meaningful string-distance semantics without\n  an explicit toString step.\n\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Move suggest option from ChoiceOptionsBase to ChoiceOptionsString",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T10:22:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c973886e95846fb5a3c2fa80ea012db8dbb9f3c1",
          "body": "Adds a `suggest` option to `choice()` and a shared `appendValueHint()`\nhelper in `suggestion.ts`, implementing issue #9.\n\nChanges:\n\n- `ChoiceOptionsBase.suggest`: new option accepting \"nearest\", \"never\"\n  (default), a `{ maxDistance?, maxSuggestions? }` object, or a\n  custom `(input, choices) => str\n[…]\nndidate sets.\n\n- `docs/concepts/valueparsers.md` updated with a \"Did you mean? hints\"\n  subsection and definition-list reference for all `suggest` variants.\n\nAssisted-by: Claude Code:claude-sonnet-4-6",
          "is_bot": false,
          "headline": "Add \"Did you mean?\" hints to choice() value parser",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T10:17:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d223bc0715c80eb7fd922e49047784daba8f22f6",
          "body": "Closes the gap described in issue 8: Optique's async completion\npath has been working (used throughout @optique/git) but was\nundocumented, leaving users to infer the pattern from source code.\n\nChanges:\n\n- packages/core/src/valueparser.ts: expand the JSDoc for\n  ValueParser.suggest() to describe the \n[…]\n async-validation.ts, using a stub tag\n  list in place of a real registry call, running via runAsync()\n  with completion: \"both\".\n\nAssisted-by: Claude Code:claude-sonnet-4-6\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Document and officialize async completion sources",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T06:03:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cab8d488a35141278e910aecc44ad355b3f99302",
          "body": "Closes the discoverability gap described in issue 4: the\nmerge(globals, or(...)) pattern was already a tested invariant in\nthe core package but had no named recipe in the documentation.\n\nChanges:\n\n- docs/cookbook.md: add \"Shared options across subcommands\" recipe\n  immediately after \"Subcommands wit\n[…]\nues/ to the global exclude list so that deno fmt\n  --check no longer scans local-only issue files that use the\n  project's setext-style Markdown convention.\n\nAssisted-by: Claude Code:claude-sonnet-4-6",
          "is_bot": false,
          "headline": "Document shared options across subcommands",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T05:16:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3e38d9b43a827508e21f667eec178e5e47b52e23",
          "body": "These files (.cursorrules, .windsurfrules, AGENT.md, GEMINI.md,\n.github/copilot-instructions.md) were stubs that duplicated\nguidance already covered in AGENTS.md.  Removing them reduces\nmaintenance surface and avoids confusion about which file is\nauthoritative.\n\n[ci skip]",
          "is_bot": false,
          "headline": "Remove per-agent instruction stub files",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T01:37:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "70c4e0175772689259a3138850d3c4d2304f93d1",
          "body": "Deferred handler-time values",
          "is_bot": false,
          "headline": "Merge pull request #848 from dahlia/deferred-values",
          "author_name": "Hong Minhee (洪 民憙)",
          "author_login": "dahlia",
          "committed_at": "2026-06-27T01:11:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "45b15d3c659c2cffba3f57fd045115cb6d0ce46a",
          "body": "Cloning optional()'s descriptors also copied\ndependencyMetadata.source.preservesSourceValue: true, so when\ndeferredValue() wrapped a dependency source the runtime would register\nthe produced DeferredValue function as the source value, and derived\nparsers would validate against a function instead of \n[…]\nches map(), which is the established value-transforming wrapper.\n\nhttps://github.com/dahlia/optique/pull/848#discussion_r3484009107\n\nAssisted-by: Claude Code:claude-opus-4-8\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Mark deferred dependency sources as transformed",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-26T22:55:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "88a40b64d011c6c68f8202f8a1469dd378bebece",
          "body": "The source reference said an explicitly produced undefined counts as\n\"specified\", but deferredValue() selects the fallback whenever the\nwrapped parser yields undefined. Describe the actual behavior and note\nthat source-bound values still count as \"specified\".\n\nhttps://github.com/dahlia/optique/pull/848#discussion_r3483741700\n\nAssisted-by: Claude Code:claude-opus-4-8\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Correct deferred undefined-source documentation",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-26T20:33:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f89276d5a28efa25b459f7830a24d5c58602095",
          "body": "The two-overload signature let a fallback with an optional context\nparameter, such as (ctx?: Ctx) => ..., match the zero-argument overload,\ntyping the parsed field as DeferredValue<T> so token(ctx) failed to\ncompile even though the runtime forwards the context.\n\nCollapse the standalone function and \n[…]\nle context yields a value callable with or without the\nargument.\n\nhttps://github.com/dahlia/optique/pull/848#discussion_r3483741690\n\nAssisted-by: Claude Code:claude-opus-4-8\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Fix deferredValue inference for optional context",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-26T20:27:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2e2903b81db0d965f992539c8cd4bc39122ecc38",
          "body": "Returning the mapped inner result directly meant a synchronous caller\ncould receive a Promise unnoticed when the wrapped parser is\nasynchronous. Route the completion through wrapForMode() so that\nmismatch is validated at runtime, matching the convention used by the\nother parser wrappers.\n\nhttps://github.com/dahlia/optique/pull/848#discussion_r3483727109\n\nAssisted-by: Claude Code:claude-opus-4-8",
          "is_bot": false,
          "headline": "Guard deferredValue completion with wrapForMode",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-26T20:25:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "763fcd3ed4540ac7d8fb5e31883afc83b3759f88",
          "body": "The repository style guide requires an @since tag on every exported\nAPI, including the method-style modifiers. The new .deferredValue()\nfluent method omitted it.\n\nhttps://github.com/dahlia/optique/pull/848#discussion_r3483521838\n\nAssisted-by: Claude Code:claude-opus-4-8",
          "is_bot": false,
          "headline": "Add @since tag to the deferredValue fluent method",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-26T19:39:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9234aeaddb8558e6003eb7b83f4f72bbcebeca2d",
          "body": "deferredValue() built its result with map(), whose object spread drops\nthe non-enumerable annotation markers that route bindEnv()/bindConfig()\nvalues. A source-bound value therefore looked absent and wrongly\nselected the fallback, even though the API advertises such values as\n\"specified\".\n\nBuild on \n[…]\nn tests covering env and CLI precedence\nthrough deferredValue().\n\nhttps://github.com/dahlia/optique/pull/848#discussion_r3483583058\n\nAssisted-by: Claude Code:claude-opus-4-8\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Preserve source-bound values through deferredValue",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-26T19:38:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9fc28f4477b180918bb25e801d4ae4274f3833fa",
          "body": "When deferredValue()'s fallback takes a context whose type already\nincludes undefined, the caller can omit it safely. The previous type\nstill required an explicit argument, so callers had to pass undefined\njust to satisfy the signature. Add a (ctx?: C) branch so the deferred\nvalue is callable with no arguments when undefined is assignable to C,\nwhile a non-nullable context stays required.\n\nhttps://github.com/dahlia/optique/pull/848#discussion_r3483439311\n\nAssisted-by: Claude Code:claude-opus-4-8",
          "is_bot": false,
          "headline": "Allow no-arg deferred call for nullable context",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-26T18:57:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7ac5924a6db16c45e2790d6ebfa36298a2937ea2",
          "body": "Document deferredValue() in the cookbook's \"Default value patterns\" section\nnext to derived defaults, and add a runnable\nexamples/patterns/deferred-values.ts showing an API token that is only\nresolved when the deployment branch needs it.  Both pass the resolved token\nto a deploy stand-in without logging it, so the example does not teach\nwriting secrets to stdout.\n\nhttps://github.com/dahlia/optique/issues/846\n\nAssisted-by: Claude Code:claude-opus-4-8\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Add deferred values cookbook recipe and example",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-26T18:30:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7678a60b8d22f87033555c58d62e4ce3f634de32",
          "body": "The DeferredValue source JSDoc said \"specified\" means a CLI value, but the\nbranch is actually keyed on whether the wrapped parser produced any value,\nincluding bindEnv()/bindConfig() sources.  Correct the wording and add\nregression tests: a value produced during completion (via constant(), the\nsame \n[…]\nspecified\", and deferredValue()\nforwards shouldDeferCompletion to the wrapped parser.\n\nhttps://github.com/dahlia/optique/issues/846\n\nAssisted-by: Claude Code:claude-opus-4-8\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Cover deferredValue() non-CLI source values",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-26T18:05:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a24ff88c51c63c8e2a20fd259eb41c260a6aadfc",
          "body": "Record the new deferredValue()/isDeferredValue() API and the\n.deferredValue() fluent method under @optique/core for the 1.2.0 release.\n\nhttps://github.com/dahlia/optique/issues/846\n\nAssisted-by: Claude Code:claude-opus-4-8",
          "is_bot": false,
          "headline": "Note deferredValue() in the changelog",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-26T17:56:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0c9e40d4a0be433fc75658ef011e67371ee94994",
          "body": "Add a deferredValue() parser section to the modifiers concept page, covering\nthe specified and fallback branches, the source property, handler-time\ncontext, memoization, and isDeferredValue().  Also list it in the landing\npage parser catalog's Modifiers group.\n\nhttps://github.com/dahlia/optique/issues/846\n\nAssisted-by: Claude Code:claude-opus-4-8\nAssisted-by: Codex:gpt-5.5",
          "is_bot": false,
          "headline": "Document the deferredValue() modifier",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-26T17:53:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "86b3b088422848a05e58ad620d0443f56052e7a6",
          "body": "Version 1.2.0 added method-style modifiers (map, optional, withDefault,\nmultiple, nonEmpty) alongside the standalone functions.  deferredValue()\nnow joins that surface so it can be chained on parsers returned by the\nbuilt-in factories, for example\noption(\"--token\", string()).deferredValue(...), instead of only being\navailable as a standalone wrapper.\n\nhttps://github.com/dahlia/optique/issues/846\n\nAssisted-by: Claude Code:claude-opus-4-8",
          "is_bot": false,
          "headline": "Add .deferredValue() fluent modifier method",
          "author_name": "Hong Minhee",
          "author_login": "dahlia",
          "committed_at": "2026-06-26T17:32:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 94,
      "commits_last_year": 3636,
      "latest_release_at": "2026-07-21T05:39:53Z",
      "latest_release_tag": "1.2.0",
      "releases_from_tags": true,
      "days_since_last_push": 0,
      "active_weeks_last_year": 45,
      "days_since_latest_release": 0,
      "mean_days_between_releases": 16.8
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 71,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@optique/env",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "CLI",
            "command-line",
            "commandline",
            "parser",
            "environment",
            "env"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@optique/env",
          "is_deprecated": false,
          "latest_version": "1.2.0",
          "repository_url": "https://github.com/dahlia/optique",
          "versions_count": 441,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 17173,
          "first_published_at": "2026-03-01T07:45:43.113000Z",
          "latest_published_at": "2026-07-21T05:45:13.477000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "@optique/git",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "CLI",
            "command-line",
            "commandline",
            "parser",
            "git",
            "git-reference",
            "branch",
            "tag",
            "commit"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@optique/git",
          "is_deprecated": false,
          "latest_version": "1.2.0",
          "repository_url": "https://github.com/dahlia/optique",
          "versions_count": 556,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 12037,
          "first_published_at": "2026-01-02T11:06:45.616000Z",
          "latest_published_at": "2026-07-21T05:45:28.185000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "@optique/man",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "CLI",
            "command-line",
            "commandline",
            "parser",
            "man",
            "manpage",
            "documentation",
            "roff",
            "groff"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@optique/man",
          "is_deprecated": false,
          "latest_version": "1.2.0",
          "repository_url": "https://github.com/dahlia/optique",
          "versions_count": 494,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 11115,
          "first_published_at": "2026-01-22T17:35:20.540000Z",
          "latest_published_at": "2026-07-21T05:46:21.953000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "@optique/run",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "CLI",
            "command-line",
            "commandline",
            "parser",
            "getopt",
            "optparse"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@optique/run",
          "is_deprecated": false,
          "latest_version": "1.2.0",
          "repository_url": "https://github.com/dahlia/optique",
          "versions_count": 748,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 103537,
          "first_published_at": "2025-08-19T05:37:33.748000Z",
          "latest_published_at": "2026-07-21T05:45:39.992000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "@optique/zod",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "CLI",
            "command-line",
            "commandline",
            "parser",
            "zod",
            "validation"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@optique/zod",
          "is_deprecated": false,
          "latest_version": "1.2.0",
          "repository_url": "https://github.com/dahlia/optique",
          "versions_count": 649,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 25807,
          "first_published_at": "2025-11-18T14:41:12.617000Z",
          "latest_published_at": "2026-07-21T05:46:03.846000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "@optique/core",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "CLI",
            "command-line",
            "commandline",
            "parser",
            "getopt",
            "optparse"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@optique/core",
          "is_deprecated": false,
          "latest_version": "1.2.0",
          "repository_url": "https://github.com/dahlia/optique",
          "versions_count": 755,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 126256,
          "first_published_at": "2025-08-19T05:37:25.911000Z",
          "latest_published_at": "2026-07-21T05:45:22.251000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "@optique/clack",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "CLI",
            "command-line",
            "commandline",
            "parser",
            "prompt",
            "interactive",
            "clack"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@optique/clack",
          "is_deprecated": false,
          "latest_version": "1.2.0",
          "repository_url": "https://github.com/dahlia/optique",
          "versions_count": 62,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 9486,
          "first_published_at": "2026-06-25T03:27:58.889000Z",
          "latest_published_at": "2026-07-21T05:46:33.016000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "@optique/config",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "CLI",
            "command-line",
            "commandline",
            "parser",
            "config",
            "configuration",
            "standard-schema",
            "validation"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@optique/config",
          "is_deprecated": false,
          "latest_version": "1.2.0",
          "repository_url": "https://github.com/dahlia/optique",
          "versions_count": 490,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 20167,
          "first_published_at": "2026-01-25T17:44:28.806000Z",
          "latest_published_at": "2026-07-21T05:45:07.456000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        }
      ]
    },
    "popularity": {
      "forks": 9,
      "stars": 713,
      "watchers": 4,
      "fork_history": {
        "days": [
          {
            "date": "2025-08-28",
            "count": 1
          },
          {
            "date": "2025-09-07",
            "count": 1
          },
          {
            "date": "2025-11-20",
            "count": 1
          },
          {
            "date": "2025-12-13",
            "count": 1
          },
          {
            "date": "2025-12-31",
            "count": 1
          },
          {
            "date": "2026-02-26",
            "count": 1
          },
          {
            "date": "2026-04-02",
            "count": 1
          },
          {
            "date": "2026-06-28",
            "count": 1
          },
          {
            "date": "2026-07-13",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 9,
        "total_forks": 9
      },
      "star_history": {
        "days": [
          {
            "date": "2025-08-19",
            "count": 8
          },
          {
            "date": "2025-08-20",
            "count": 3
          },
          {
            "date": "2025-08-21",
            "count": 25
          },
          {
            "date": "2025-08-22",
            "count": 30
          },
          {
            "date": "2025-08-23",
            "count": 25
          },
          {
            "date": "2025-08-24",
            "count": 14
          },
          {
            "date": "2025-08-25",
            "count": 8
          },
          {
            "date": "2025-08-26",
            "count": 5
          },
          {
            "date": "2025-08-27",
            "count": 8
          },
          {
            "date": "2025-08-28",
            "count": 27
          },
          {
            "date": "2025-08-29",
            "count": 5
          },
          {
            "date": "2025-08-30",
            "count": 4
          },
          {
            "date": "2025-08-31",
            "count": 2
          },
          {
            "date": "2025-09-01",
            "count": 1
          },
          {
            "date": "2025-09-02",
            "count": 2
          },
          {
            "date": "2025-09-03",
            "count": 6
          },
          {
            "date": "2025-09-04",
            "count": 2
          },
          {
            "date": "2025-09-05",
            "count": 3
          },
          {
            "date": "2025-09-06",
            "count": 30
          },
          {
            "date": "2025-09-07",
            "count": 61
          },
          {
            "date": "2025-09-08",
            "count": 22
          },
          {
            "date": "2025-09-09",
            "count": 4
          },
          {
            "date": "2025-09-10",
            "count": 3
          },
          {
            "date": "2025-09-11",
            "count": 13
          },
          {
            "date": "2025-09-12",
            "count": 41
          },
          {
            "date": "2025-09-13",
            "count": 17
          },
          {
            "date": "2025-09-14",
            "count": 11
          },
          {
            "date": "2025-09-15",
            "count": 10
          },
          {
            "date": "2025-09-16",
            "count": 8
          },
          {
            "date": "2025-09-17",
            "count": 6
          },
          {
            "date": "2025-09-18",
            "count": 3
          },
          {
            "date": "2025-09-19",
            "count": 5
          },
          {
            "date": "2025-09-20",
            "count": 1
          },
          {
            "date": "2025-09-21",
            "count": 3
          },
          {
            "date": "2025-09-22",
            "count": 2
          },
          {
            "date": "2025-09-23",
            "count": 2
          },
          {
            "date": "2025-09-24",
            "count": 3
          },
          {
            "date": "2025-09-25",
            "count": 3
          },
          {
            "date": "2025-09-26",
            "count": 2
          },
          {
            "date": "2025-09-27",
            "count": 1
          },
          {
            "date": "2025-09-29",
            "count": 1
          },
          {
            "date": "2025-09-30",
            "count": 1
          },
          {
            "date": "2025-10-01",
            "count": 1
          },
          {
            "date": "2025-10-04",
            "count": 2
          },
          {
            "date": "2025-10-05",
            "count": 4
          },
          {
            "date": "2025-10-06",
            "count": 2
          },
          {
            "date": "2025-10-07",
            "count": 1
          },
          {
            "date": "2025-10-09",
            "count": 2
          },
          {
            "date": "2025-10-13",
            "count": 1
          },
          {
            "date": "2025-10-14",
            "count": 2
          },
          {
            "date": "2025-10-15",
            "count": 3
          },
          {
            "date": "2025-10-18",
            "count": 3
          },
          {
            "date": "2025-10-19",
            "count": 2
          },
          {
            "date": "2025-10-21",
            "count": 4
          },
          {
            "date": "2025-10-25",
            "count": 2
          },
          {
            "date": "2025-10-26",
            "count": 2
          },
          {
            "date": "2025-10-29",
            "count": 1
          },
          {
            "date": "2025-10-31",
            "count": 1
          },
          {
            "date": "2025-11-02",
            "count": 1
          },
          {
            "date": "2025-11-10",
            "count": 2
          },
          {
            "date": "2025-11-11",
            "count": 1
          },
          {
            "date": "2025-11-12",
            "count": 1
          },
          {
            "date": "2025-11-15",
            "count": 1
          },
          {
            "date": "2025-11-17",
            "count": 1
          },
          {
            "date": "2025-11-20",
            "count": 1
          },
          {
            "date": "2025-11-24",
            "count": 1
          },
          {
            "date": "2025-11-25",
            "count": 2
          },
          {
            "date": "2025-11-27",
            "count": 1
          },
          {
            "date": "2025-11-28",
            "count": 1
          },
          {
            "date": "2025-11-29",
            "count": 1
          },
          {
            "date": "2025-11-30",
            "count": 1
          },
          {
            "date": "2025-12-06",
            "count": 1
          },
          {
            "date": "2025-12-07",
            "count": 2
          },
          {
            "date": "2025-12-08",
            "count": 1
          },
          {
            "date": "2025-12-09",
            "count": 8
          },
          {
            "date": "2025-12-10",
            "count": 2
          },
          {
            "date": "2025-12-11",
            "count": 1
          },
          {
            "date": "2025-12-12",
            "count": 1
          },
          {
            "date": "2025-12-13",
            "count": 2
          },
          {
            "date": "2025-12-14",
            "count": 5
          },
          {
            "date": "2025-12-15",
            "count": 9
          },
          {
            "date": "2025-12-16",
            "count": 1
          },
          {
            "date": "2025-12-17",
            "count": 3
          },
          {
            "date": "2025-12-18",
            "count": 2
          },
          {
            "date": "2025-12-19",
            "count": 5
          },
          {
            "date": "2025-12-21",
            "count": 3
          },
          {
            "date": "2025-12-22",
            "count": 1
          },
          {
            "date": "2025-12-23",
            "count": 2
          },
          {
            "date": "2025-12-25",
            "count": 1
          },
          {
            "date": "2025-12-26",
            "count": 1
          },
          {
            "date": "2025-12-28",
            "count": 1
          },
          {
            "date": "2025-12-29",
            "count": 1
          },
          {
            "date": "2026-01-02",
            "count": 5
          },
          {
            "date": "2026-01-03",
            "count": 2
          },
          {
            "date": "2026-01-04",
            "count": 1
          },
          {
            "date": "2026-01-05",
            "count": 1
          },
          {
            "date": "2026-01-06",
            "count": 1
          },
          {
            "date": "2026-01-07",
            "count": 1
          },
          {
            "date": "2026-01-08",
            "count": 1
          },
          {
            "date": "2026-01-09",
            "count": 1
          },
          {
            "date": "2026-01-10",
            "count": 2
          },
          {
            "date": "2026-01-12",
            "count": 1
          },
          {
            "date": "2026-01-13",
            "count": 2
          },
          {
            "date": "2026-01-14",
            "count": 3
          },
          {
            "date": "2026-01-15",
            "count": 1
          },
          {
            "date": "2026-01-16",
            "count": 5
          },
          {
            "date": "2026-01-17",
            "count": 3
          },
          {
            "date": "2026-01-18",
            "count": 2
          },
          {
            "date": "2026-01-19",
            "count": 1
          },
          {
            "date": "2026-01-20",
            "count": 2
          },
          {
            "date": "2026-01-23",
            "count": 2
          },
          {
            "date": "2026-01-27",
            "count": 1
          },
          {
            "date": "2026-02-04",
            "count": 2
          },
          {
            "date": "2026-02-09",
            "count": 2
          },
          {
            "date": "2026-02-13",
            "count": 1
          },
          {
            "date": "2026-02-15",
            "count": 1
          },
          {
            "date": "2026-02-16",
            "count": 6
          },
          {
            "date": "2026-02-18",
            "count": 1
          },
          {
            "date": "2026-02-23",
            "count": 1
          },
          {
            "date": "2026-02-24",
            "count": 2
          },
          {
            "date": "2026-02-25",
            "count": 2
          },
          {
            "date": "2026-03-01",
            "count": 1
          },
          {
            "date": "2026-03-11",
            "count": 1
          },
          {
            "date": "2026-03-12",
            "count": 1
          },
          {
            "date": "2026-03-13",
            "count": 1
          },
          {
            "date": "2026-03-16",
            "count": 4
          },
          {
            "date": "2026-03-17",
            "count": 2
          },
          {
            "date": "2026-03-21",
            "count": 1
          },
          {
            "date": "2026-03-23",
            "count": 1
          },
          {
            "date": "2026-03-27",
            "count": 1
          },
          {
            "date": "2026-03-28",
            "count": 1
          },
          {
            "date": "2026-04-01",
            "count": 1
          },
          {
            "date": "2026-04-06",
            "count": 1
          },
          {
            "date": "2026-04-09",
            "count": 1
          },
          {
            "date": "2026-04-12",
            "count": 2
          },
          {
            "date": "2026-04-13",
            "count": 2
          },
          {
            "date": "2026-04-14",
            "count": 4
          },
          {
            "date": "2026-04-15",
            "count": 5
          },
          {
            "date": "2026-04-16",
            "count": 2
          },
          {
            "date": "2026-04-17",
            "count": 4
          },
          {
            "date": "2026-04-18",
            "count": 1
          },
          {
            "date": "2026-04-19",
            "count": 2
          },
          {
            "date": "2026-04-20",
            "count": 1
          },
          {
            "date": "2026-04-21",
            "count": 2
          },
          {
            "date": "2026-04-23",
            "count": 10
          },
          {
            "date": "2026-04-24",
            "count": 15
          },
          {
            "date": "2026-04-25",
            "count": 3
          },
          {
            "date": "2026-04-26",
            "count": 2
          },
          {
            "date": "2026-04-27",
            "count": 1
          },
          {
            "date": "2026-04-28",
            "count": 4
          },
          {
            "date": "2026-05-04",
            "count": 3
          },
          {
            "date": "2026-05-07",
            "count": 3
          },
          {
            "date": "2026-05-08",
            "count": 1
          },
          {
            "date": "2026-05-09",
            "count": 1
          },
          {
            "date": "2026-05-10",
            "count": 2
          },
          {
            "date": "2026-05-11",
            "count": 1
          },
          {
            "date": "2026-05-12",
            "count": 2
          },
          {
            "date": "2026-05-14",
            "count": 1
          },
          {
            "date": "2026-05-15",
            "count": 2
          },
          {
            "date": "2026-05-16",
            "count": 1
          },
          {
            "date": "2026-05-18",
            "count": 1
          },
          {
            "date": "2026-05-22",
            "count": 2
          },
          {
            "date": "2026-05-24",
            "count": 1
          },
          {
            "date": "2026-05-25",
            "count": 1
          },
          {
            "date": "2026-05-26",
            "count": 1
          },
          {
            "date": "2026-05-30",
            "count": 1
          },
          {
            "date": "2026-05-31",
            "count": 1
          },
          {
            "date": "2026-06-07",
            "count": 2
          },
          {
            "date": "2026-06-08",
            "count": 1
          },
          {
            "date": "2026-06-09",
            "count": 1
          },
          {
            "date": "2026-06-14",
            "count": 1
          },
          {
            "date": "2026-06-16",
            "count": 1
          },
          {
            "date": "2026-06-17",
            "count": 1
          },
          {
            "date": "2026-06-20",
            "count": 1
          },
          {
            "date": "2026-06-25",
            "count": 1
          },
          {
            "date": "2026-06-26",
            "count": 1
          },
          {
            "date": "2026-06-29",
            "count": 1
          },
          {
            "date": "2026-07-01",
            "count": 1
          },
          {
            "date": "2026-07-04",
            "count": 2
          },
          {
            "date": "2026-07-05",
            "count": 1
          },
          {
            "date": "2026-07-06",
            "count": 1
          },
          {
            "date": "2026-07-09",
            "count": 1
          },
          {
            "date": "2026-07-12",
            "count": 1
          },
          {
            "date": "2026-07-14",
            "count": 1
          },
          {
            "date": "2026-07-18",
            "count": 1
          },
          {
            "date": "2026-07-21",
            "count": 3
          }
        ],
        "complete": true,
        "collected": 713,
        "total_stars": 713
      },
      "open_issues_and_prs": 7
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "mise.toml"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 707468,
      "source_files_sampled": 202,
      "oversized_source_files": 29,
      "agent_instruction_files": [
        "AGENTS.md",
        "CLAUDE.md",
        "examples/gitique/.cursorrules",
        "examples/gitique/.windsurfrules",
        "examples/gitique/AGENT.md",
        "examples/gitique/AGENTS.md",
        "examples/gitique/CLAUDE.md",
        "examples/gitique/GEMINI.md"
      ],
      "agent_instruction_max_bytes": 9590
    },
    "dependencies": {
      "manifests": [
        "docs/package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "rollup",
            "direct": false,
            "version": "4.46.3",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.1,
            "advisory_ids": [
              "GHSA-mw96-cpmx-2vgc"
            ],
            "fixed_version": "4.59.0",
            "advisory_count": 1,
            "oldest_advisory_days": 145
          },
          {
            "name": "@isaacs/brace-expansion",
            "direct": false,
            "version": "5.0.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-7h2j-956f-4vf2"
            ],
            "fixed_version": "5.0.1",
            "advisory_count": 1,
            "oldest_advisory_days": 167
          },
          {
            "name": "defu",
            "direct": false,
            "version": "6.1.4",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-737v-mqg7-c878"
            ],
            "fixed_version": "6.1.5",
            "advisory_count": 1,
            "oldest_advisory_days": 108
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "3.14.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-52cp-r559-cp3m",
              "GHSA-h67p-54hq-rp68",
              "GHSA-mh29-5h37-fv8m"
            ],
            "fixed_version": "4.3.0",
            "advisory_count": 3,
            "oldest_advisory_days": 249
          },
          {
            "name": "linkify-it",
            "direct": false,
            "version": "5.0.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-22p9-wv53-3rq4"
            ],
            "fixed_version": "5.0.1",
            "advisory_count": 1,
            "oldest_advisory_days": 24
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.0.3",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-23c5-xmqv-rm74",
              "GHSA-3ppc-4f35-3m26",
              "GHSA-7r86-cg39-jmmj"
            ],
            "fixed_version": "10.2.3",
            "advisory_count": 3,
            "oldest_advisory_days": 152
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "8.2.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-27v5-c462-wpq7",
              "GHSA-j3q9-mxjg-w52f"
            ],
            "fixed_version": "8.4.0",
            "advisory_count": 2,
            "oldest_advisory_days": 115
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.3",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3v7f-55p6-f55p",
              "GHSA-c2c7-rcm5-vvqj"
            ],
            "fixed_version": "4.0.4",
            "advisory_count": 2,
            "oldest_advisory_days": 117
          },
          {
            "name": "undici",
            "direct": false,
            "version": "7.24.8",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-35p6-xmwp-9g52",
              "GHSA-g8m3-5g58-fq7m",
              "GHSA-hm92-r4w5-c3mj",
              "GHSA-p88m-4jfj-68fv",
              "GHSA-pr7r-676h-xcf6",
              "GHSA-vmh5-mc38-953g",
              "GHSA-vxpw-j846-p89q"
            ],
            "fixed_version": "8.5.0",
            "advisory_count": 7,
            "oldest_advisory_days": 33
          },
          {
            "name": "ws",
            "direct": false,
            "version": "8.18.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-58qx-3vcg-4xpx",
              "GHSA-96hv-2xvq-fx4p"
            ],
            "fixed_version": "8.21.0",
            "advisory_count": 2,
            "oldest_advisory_days": 63
          },
          {
            "name": "isomorphic-git",
            "direct": true,
            "version": "catalog:",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-fgxq-p49f-qw99"
            ],
            "fixed_version": "1.8.2",
            "advisory_count": 1,
            "oldest_advisory_days": 1782
          },
          {
            "name": "diff",
            "direct": false,
            "version": "8.0.2",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-73rr-hh4g-fpgx"
            ],
            "fixed_version": "8.0.3",
            "advisory_count": 1,
            "oldest_advisory_days": 187
          },
          {
            "name": "markdown-it",
            "direct": false,
            "version": "14.1.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-38c4-r59v-3vqw",
              "GHSA-6v5v-wf23-fmfq"
            ],
            "fixed_version": "14.2.0",
            "advisory_count": 2,
            "oldest_advisory_days": 159
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "2.8.2",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 4.3,
            "advisory_ids": [
              "GHSA-48c2-rrv3-qjmp"
            ],
            "fixed_version": "2.8.3",
            "advisory_count": 1,
            "oldest_advisory_days": 117
          },
          {
            "name": "zod",
            "direct": false,
            "version": "catalog:",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-m95q-7qp3-xv42"
            ],
            "fixed_version": "3.22.3",
            "advisory_count": 1,
            "oldest_advisory_days": 1026
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.27.3",
            "severity": "low",
            "ecosystem": "npm",
            "cvss_score": 2.5,
            "advisory_ids": [
              "GHSA-g7r4-m6w7-qqqr"
            ],
            "fixed_version": "0.28.1",
            "advisory_count": 1,
            "oldest_advisory_days": 38
          }
        ],
        "collected": true,
        "truncated": false,
        "by_severity": {
          "low": 1,
          "high": 9,
          "critical": 1,
          "moderate": 5
        },
        "advisory_count": 30,
        "affected_count": 16,
        "assessed_count": 637,
        "assessed_package": null,
        "unassessed_count": 15,
        "direct_affected_count": 1
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@clack/prompts",
          "manifest": "packages/clack/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@optique/core",
          "manifest": "packages/clack/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@optique/prompt",
          "manifest": "packages/clack/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@optique/core",
          "manifest": "packages/config/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@optique/core",
          "manifest": "packages/derived-defaults/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@optique/core",
          "manifest": "packages/discover/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@optique/run",
          "manifest": "packages/discover/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@optique/core",
          "manifest": "packages/env/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@logtape/logtape",
          "manifest": "packages/git/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@optique/core",
          "manifest": "packages/git/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:"
        },
        {
          "name": "isomorphic-git",
          "manifest": "packages/git/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@inquirer/prompts",
          "manifest": "packages/inquirer/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@optique/core",
          "manifest": "packages/inquirer/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@optique/prompt",
          "manifest": "packages/inquirer/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@optique/core",
          "manifest": "packages/logtape/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:"
        },
        {
          "name": "@optique/core",
          "manifest": "packages/man/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:"
        },
        {
          "name": "@optique/run",
          "manifest": "packages/man/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:"
        },
        {
          "name": "@optique/core",
          "manifest": "packages/prompt/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@optique/core",
          "manifest": "packages/run/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@optique/core",
          "manifest": "packages/standard-schema/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:"
        },
        {
          "name": "@js-temporal/polyfill",
          "manifest": "packages/temporal/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.5.1"
        },
        {
          "name": "@optique/core",
          "manifest": "packages/temporal/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:"
        },
        {
          "name": "@optique/core",
          "manifest": "packages/valibot/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:"
        },
        {
          "name": "@optique/core",
          "manifest": "packages/zod/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@clack/prompts",
            "direct": true,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@clack/prompts",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/prompts",
            "direct": true,
            "version": "8.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/prompts",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@js-temporal/polyfill",
            "direct": true,
            "version": "0.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@js-temporal/polyfill",
            "direct": true,
            "version": "^0.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@logtape/logtape",
            "direct": true,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@logtape/logtape",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "isomorphic-git",
            "direct": true,
            "version": "1.36.1",
            "ecosystem": "npm"
          },
          {
            "name": "isomorphic-git",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@antfu/install-pkg",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@antfu/utils",
            "direct": false,
            "version": "9.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@ark/schema",
            "direct": false,
            "version": "0.56.0",
            "ecosystem": "npm"
          },
          {
            "name": "@ark/util",
            "direct": false,
            "version": "0.56.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@braintree/sanitize-url",
            "direct": false,
            "version": "6.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@braintree/sanitize-url",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@chevrotain/types",
            "direct": false,
            "version": "11.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@clack/core",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@cloudflare/kv-asset-handler",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@cloudflare/unenv-preset",
            "direct": false,
            "version": "2.16.1",
            "ecosystem": "npm"
          },
          {
            "name": "@cloudflare/workerd-darwin-64",
            "direct": false,
            "version": "1.20260511.1",
            "ecosystem": "npm"
          },
          {
            "name": "@cloudflare/workerd-darwin-arm64",
            "direct": false,
            "version": "1.20260511.1",
            "ecosystem": "npm"
          },
          {
            "name": "@cloudflare/workerd-linux-64",
            "direct": false,
            "version": "1.20260511.1",
            "ecosystem": "npm"
          },
          {
            "name": "@cloudflare/workerd-linux-arm64",
            "direct": false,
            "version": "1.20260511.1",
            "ecosystem": "npm"
          },
          {
            "name": "@cloudflare/workerd-windows-64",
            "direct": false,
            "version": "1.20260511.1",
            "ecosystem": "npm"
          },
          {
            "name": "@cspotcode/source-map-support",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "@docsearch/css",
            "direct": false,
            "version": "4.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "@docsearch/js",
            "direct": false,
            "version": "4.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "@docsearch/sidepanel-js",
            "direct": false,
            "version": "4.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/core",
            "direct": false,
            "version": "1.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/wasi-threads",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/core",
            "direct": false,
            "version": "1.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/dom",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/utils",
            "direct": false,
            "version": "0.2.10",
            "ecosystem": "npm"
          },
          {
            "name": "@fontsource-variable/space-grotesk",
            "direct": false,
            "version": "5.2.10",
            "ecosystem": "npm"
          },
          {
            "name": "@fontsource-variable/space-grotesk",
            "direct": false,
            "version": "^5.2.10",
            "ecosystem": "npm"
          },
          {
            "name": "@iconify-json/logos",
            "direct": false,
            "version": "1.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "@iconify-json/simple-icons",
            "direct": false,
            "version": "1.2.86",
            "ecosystem": "npm"
          },
          {
            "name": "@iconify-json/vscode-icons",
            "direct": false,
            "version": "1.2.29",
            "ecosystem": "npm"
          },
          {
            "name": "@iconify/types",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@iconify/utils",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@iconify/utils",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@img/colour",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-darwin-arm64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-darwin-x64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-darwin-arm64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-darwin-x64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-arm",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-arm64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-ppc64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-riscv64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-s390x",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-x64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linuxmusl-arm64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linuxmusl-x64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-arm",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-arm64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-ppc64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-riscv64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-s390x",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-x64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linuxmusl-arm64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linuxmusl-x64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-wasm32",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-win32-arm64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-win32-ia32",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-win32-x64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/ansi",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/checkbox",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/confirm",
            "direct": false,
            "version": "6.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/core",
            "direct": false,
            "version": "11.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/editor",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/expand",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/external-editor",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/figures",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/input",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/number",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/password",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/rawlist",
            "direct": false,
            "version": "5.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/search",
            "direct": false,
            "version": "4.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/select",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/type",
            "direct": false,
            "version": "4.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": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.12",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.29",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "@logtape/file",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@logtape/file",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@mermaid-js/mermaid-mindmap",
            "direct": false,
            "version": "9.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@mermaid-js/parser",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/wasm-runtime",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/runtime",
            "direct": false,
            "version": "0.77.3",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.77.3",
            "ecosystem": "npm"
          },
          {
            "name": "@poppinss/colors",
            "direct": false,
            "version": "4.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@poppinss/dumper",
            "direct": false,
            "version": "0.6.5",
            "ecosystem": "npm"
          },
          {
            "name": "@poppinss/exception",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@quansync/fs",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-android-arm64",
            "direct": false,
            "version": "1.0.0-beta.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-arm64",
            "direct": false,
            "version": "1.0.0-beta.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-x64",
            "direct": false,
            "version": "1.0.0-beta.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-freebsd-x64",
            "direct": false,
            "version": "1.0.0-beta.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.0.0-beta.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-gnu",
            "direct": false,
            "version": "1.0.0-beta.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-musl",
            "direct": false,
            "version": "1.0.0-beta.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-ohos",
            "direct": false,
            "version": "1.0.0-beta.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-gnu",
            "direct": false,
            "version": "1.0.0-beta.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-musl",
            "direct": false,
            "version": "1.0.0-beta.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-wasm32-wasi",
            "direct": false,
            "version": "1.0.0-beta.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-arm64-msvc",
            "direct": false,
            "version": "1.0.0-beta.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-ia32-msvc",
            "direct": false,
            "version": "1.0.0-beta.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-x64-msvc",
            "direct": false,
            "version": "1.0.0-beta.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.0-beta.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loongarch64-gnu",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-gnu",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/core",
            "direct": false,
            "version": "3.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/core",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/engine-javascript",
            "direct": false,
            "version": "3.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/engine-javascript",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/engine-oniguruma",
            "direct": false,
            "version": "3.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/engine-oniguruma",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/langs",
            "direct": false,
            "version": "3.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/langs",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/themes",
            "direct": false,
            "version": "3.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/themes",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/transformers",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/twoslash",
            "direct": false,
            "version": "3.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/types",
            "direct": false,
            "version": "3.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/types",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/vitepress-twoslash",
            "direct": false,
            "version": "3.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/vitepress-twoslash",
            "direct": false,
            "version": "^3.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/vscode-textmate",
            "direct": false,
            "version": "10.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@sindresorhus/is",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@speed-highlight/core",
            "direct": false,
            "version": "1.2.15",
            "ecosystem": "npm"
          },
          {
            "name": "@standard-schema/spec",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@standard-schema/spec",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@tybys/wasm-util",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3",
            "direct": false,
            "version": "7.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-array",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-axis",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-brush",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-chord",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-color",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-contour",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-delaunay",
            "direct": false,
            "version": "6.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-dispatch",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-drag",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-dsv",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-ease",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-fetch",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-force",
            "direct": false,
            "version": "3.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-format",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-geo",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-hierarchy",
            "direct": false,
            "version": "3.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-interpolate",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-path",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-polygon",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-quadtree",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-random",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-scale",
            "direct": false,
            "version": "4.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-scale-chromatic",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-selection",
            "direct": false,
            "version": "3.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-shape",
            "direct": false,
            "version": "3.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-time",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-time-format",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-timer",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-transition",
            "direct": false,
            "version": "3.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-zoom",
            "direct": false,
            "version": "3.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/debug",
            "direct": false,
            "version": "4.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/geojson",
            "direct": false,
            "version": "7946.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "@types/hast",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/linkify-it",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/markdown-it",
            "direct": false,
            "version": "14.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdast",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ms",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "20.19.41",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "24.12.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "^20.19.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@types/trusted-types",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/unist",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/web-bluetooth",
            "direct": false,
            "version": "0.0.21",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript/vfs",
            "direct": false,
            "version": "1.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "@ungap/structured-clone",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@upsetjs/venn.js",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-vue",
            "direct": false,
            "version": "6.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@volar/language-core",
            "direct": false,
            "version": "2.4.22",
            "ecosystem": "npm"
          },
          {
            "name": "@volar/source-map",
            "direct": false,
            "version": "2.4.22",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-core",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-dom",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-sfc",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-ssr",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-vue2",
            "direct": false,
            "version": "2.7.16",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-api",
            "direct": false,
            "version": "8.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-kit",
            "direct": false,
            "version": "8.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-shared",
            "direct": false,
            "version": "8.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/language-core",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/reactivity",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-core",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-dom",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/server-renderer",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/shared",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/core",
            "direct": false,
            "version": "14.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/integrations",
            "direct": false,
            "version": "14.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/metadata",
            "direct": false,
            "version": "14.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/shared",
            "direct": false,
            "version": "14.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "abort-controller",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "alien-signals",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansis",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "1.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "arkregex",
            "direct": false,
            "version": "0.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "arktype",
            "direct": false,
            "version": "2.1.29",
            "ecosystem": "npm"
          },
          {
            "name": "arktype",
            "direct": false,
            "version": "^2.1.29",
            "ecosystem": "npm"
          },
          {
            "name": "ast-kit",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "async-lock",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "available-typed-arrays",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "bail",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "base64-js",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "birpc",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "blake3-wasm",
            "direct": false,
            "version": "2.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "byte-size",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "cac",
            "direct": false,
            "version": "6.7.14",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind-apply-helpers",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "call-bound",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ccount",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities-html4",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities-legacy",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "chardet",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "clean-git-ref",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "cli-width",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "comma-separated-tokens",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "8.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "confbox",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "confbox",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "cookie",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "copy-anything",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "cose-base",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "cose-base",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "crc-32",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "csstype",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "cytoscape",
            "direct": false,
            "version": "3.34.0",
            "ecosystem": "npm"
          },
          {
            "name": "cytoscape-cose-bilkent",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cytoscape-fcose",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3",
            "direct": false,
            "version": "7.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-array",
            "direct": false,
            "version": "2.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-array",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "d3-axis",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-brush",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-chord",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-color",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-contour",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-delaunay",
            "direct": false,
            "version": "6.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "d3-dispatch",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-drag",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-dsv",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-ease",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-fetch",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-force",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-format",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-geo",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-hierarchy",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-interpolate",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-path",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "d3-path",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-polygon",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-quadtree",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-random",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-sankey",
            "direct": false,
            "version": "0.12.3",
            "ecosystem": "npm"
          },
          {
            "name": "d3-scale",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-scale-chromatic",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-selection",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-shape",
            "direct": false,
            "version": "1.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "d3-shape",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-time",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-time-format",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-timer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-transition",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-zoom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dagre-d3-es",
            "direct": false,
            "version": "7.0.14",
            "ecosystem": "npm"
          },
          {
            "name": "dayjs",
            "direct": false,
            "version": "1.11.21",
            "ecosystem": "npm"
          },
          {
            "name": "de-indent",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "decode-named-character-reference",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "decompress-response",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "define-data-property",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "defu",
            "direct": false,
            "version": "6.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "delaunator",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "dequal",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "devlop",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "diff3",
            "direct": false,
            "version": "0.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "dompurify",
            "direct": false,
            "version": "3.4.11",
            "ecosystem": "npm"
          },
          {
            "name": "dts-resolver",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "dunder-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "empathic",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "error-stack-parser-es",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "es-define-property",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-errors",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-git",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-git",
            "direct": false,
            "version": "^0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-git-android-arm-eabi",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-git-android-arm64",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-git-darwin-arm64",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-git-darwin-x64",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-git-linux-arm64-gnu",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-git-linux-arm64-musl",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-git-linux-x64-gnu",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-git-linux-x64-musl",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-git-win32-arm64-msvc",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-git-win32-x64-msvc",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-object-atoms",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-toolkit",
            "direct": false,
            "version": "1.49.0",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "esprima",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "event-target-shim",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "events",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "exsolve",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "extend",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "extend-shallow",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fast-check",
            "direct": false,
            "version": "4.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-check",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "fast-string-truncated-width",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-string-width",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "fast-wrap-ansi",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "fault",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "floating-vue",
            "direct": false,
            "version": "5.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "focus-trap",
            "direct": false,
            "version": "8.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "for-each",
            "direct": false,
            "version": "0.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "format",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-tsconfig",
            "direct": false,
            "version": "4.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "15.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "gray-matter",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "hachure-fill",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "has-property-descriptors",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-tostringtag",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-to-html",
            "direct": false,
            "version": "9.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-whitespace",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "he",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "hookable",
            "direct": false,
            "version": "5.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "html-void-elements",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "import-meta-resolve",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "internmap",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "internmap",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-callable",
            "direct": false,
            "version": "1.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "is-extendable",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-obj",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-typed-array",
            "direct": false,
            "version": "1.1.15",
            "ecosystem": "npm"
          },
          {
            "name": "is-what",
            "direct": false,
            "version": "4.1.16",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "jiti",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "3.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsbi",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "jsesc",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "katex",
            "direct": false,
            "version": "0.16.47",
            "ecosystem": "npm"
          },
          {
            "name": "khroma",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "kind-of",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "kleur",
            "direct": false,
            "version": "4.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "kolorist",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "layout-base",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "layout-base",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "linkify-it",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "local-pkg",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "lodash-es",
            "direct": false,
            "version": "4.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "longest-streak",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "lz-string",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "mark.js",
            "direct": false,
            "version": "8.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it",
            "direct": false,
            "version": "14.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-deflist",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-deflist",
            "direct": false,
            "version": "^3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-footnote",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-footnote",
            "direct": false,
            "version": "^4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-table",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-title",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "marked",
            "direct": false,
            "version": "16.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "math-intrinsics",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-find-and-replace",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-from-markdown",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-frontmatter",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-autolink-literal",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-footnote",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-strikethrough",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-table",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-task-list-item",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-phrasing",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-hast",
            "direct": false,
            "version": "13.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-markdown",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-string",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mermaid",
            "direct": false,
            "version": "11.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "mermaid",
            "direct": false,
            "version": "^11.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-core-commonmark",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-frontmatter",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-destination",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-label",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-space",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-title",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-whitespace",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-character",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-chunked",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-classify-character",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-combine-extensions",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-decode-numeric-character-reference",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-decode-string",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-encode",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-html-tag-name",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-normalize-identifier",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-resolve-all",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-sanitize-uri",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-subtokenize",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-symbol",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-types",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "millify",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-response",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "miniflare",
            "direct": false,
            "version": "4.20260511.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "minimisted",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minisearch",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "mitt",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mlly",
            "direct": false,
            "version": "1.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "muggle-string",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "mute-stream",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.14",
            "ecosystem": "npm"
          },
          {
            "name": "non-layered-tidy-tree-layout",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "ohash",
            "direct": false,
            "version": "2.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "oniguruma-parser",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "oniguruma-to-es",
            "direct": false,
            "version": "4.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "package-manager-detector",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "pako",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "path-browserify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-data-parser",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "6.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "8.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "perfect-debounce",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "pify",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-types",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-types",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "points-on-curve",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "points-on-path",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "possible-typed-array-names",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.15",
            "ecosystem": "npm"
          },
          {
            "name": "process",
            "direct": false,
            "version": "0.11.10",
            "ecosystem": "npm"
          },
          {
            "name": "property-information",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "punycode.js",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "pure-rand",
            "direct": false,
            "version": "8.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "quansync",
            "direct": false,
            "version": "0.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "4.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "regex-recursion",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "regex-utilities",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "remark",
            "direct": false,
            "version": "15.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "remark-frontmatter",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "remark-parse",
            "direct": false,
            "version": "11.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "remark-stringify",
            "direct": false,
            "version": "11.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-pkg-maps",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "rfdc",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "robust-predicates",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown",
            "direct": false,
            "version": "1.0.0-beta.29",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown-plugin-dts",
            "direct": false,
            "version": "0.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.46.3",
            "ecosystem": "npm"
          },
          {
            "name": "roughjs",
            "direct": false,
            "version": "4.6.6",
            "ecosystem": "npm"
          },
          {
            "name": "rw",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "section-matter",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "set-function-length",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "sha.js",
            "direct": false,
            "version": "2.4.12",
            "ecosystem": "npm"
          },
          {
            "name": "sharp",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "shiki",
            "direct": false,
            "version": "3.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "shiki",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "simple-concat",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "simple-get",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "sisteransi",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "space-separated-tokens",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "speakingurl",
            "direct": false,
            "version": "14.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "sprintf-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "stringify-entities",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom-string",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "stylis",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "superjson",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "10.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "tabbable",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.15",
            "ecosystem": "npm"
          },
          {
            "name": "to-buffer",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "tokenx",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "trim-lines",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "trough",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ts-dedent",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "tsdown",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "npm"
          },
          {
            "name": "tsdown",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsx",
            "direct": false,
            "version": "4.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "tsx",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "twoslash",
            "direct": false,
            "version": "0.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "twoslash-protocol",
            "direct": false,
            "version": "0.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "twoslash-vue",
            "direct": false,
            "version": "0.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "typed-array-buffer",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "uc.micro",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ufo",
            "direct": false,
            "version": "1.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "unconfig",
            "direct": false,
            "version": "7.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "undici",
            "direct": false,
            "version": "7.24.8",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "6.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "unenv",
            "direct": false,
            "version": "2.0.0-rc.24",
            "ecosystem": "npm"
          },
          {
            "name": "unified",
            "direct": false,
            "version": "11.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-is",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-position",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-remove",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-stringify-position",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit-parents",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "14.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "valibot",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "valibot",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "vfile",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "vfile-message",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "7.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "vitepress",
            "direct": false,
            "version": "2.0.0-alpha.17",
            "ecosystem": "npm"
          },
          {
            "name": "vitepress",
            "direct": false,
            "version": "^2.0.0-alpha.17",
            "ecosystem": "npm"
          },
          {
            "name": "vitepress-plugin-group-icons",
            "direct": false,
            "version": "1.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "vitepress-plugin-group-icons",
            "direct": false,
            "version": "^1.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "vitepress-plugin-llms",
            "direct": false,
            "version": "1.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "vitepress-plugin-llms",
            "direct": false,
            "version": "^1.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "vitepress-plugin-mermaid",
            "direct": false,
            "version": "2.0.17",
            "ecosystem": "npm"
          },
          {
            "name": "vitepress-plugin-mermaid",
            "direct": false,
            "version": "^2.0.17",
            "ecosystem": "npm"
          },
          {
            "name": "vue",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "vue-resize",
            "direct": false,
            "version": "2.0.0-alpha.1",
            "ecosystem": "npm"
          },
          {
            "name": "which-typed-array",
            "direct": false,
            "version": "1.1.19",
            "ecosystem": "npm"
          },
          {
            "name": "workerd",
            "direct": false,
            "version": "1.20260511.1",
            "ecosystem": "npm"
          },
          {
            "name": "wrangler",
            "direct": false,
            "version": "4.91.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrangler",
            "direct": false,
            "version": "^4",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": false,
            "version": "8.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "2.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "^2.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "17.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "21.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "youch",
            "direct": false,
            "version": "4.1.0-beta.10",
            "ecosystem": "npm"
          },
          {
            "name": "youch-core",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": false,
            "version": "4.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "zwitch",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 652,
        "direct_count": 10,
        "indirect_count": 642
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 305,
        "open_issues": 7,
        "closed_ratio": 0.987,
        "closed_issues": 536,
        "closed_unmerged_prs": 7
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "dahlia",
          "commits": 3630,
          "avatar_url": "https://avatars.githubusercontent.com/u/12431?v=4"
        },
        {
          "type": "User",
          "login": "benvan",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/387597?v=4"
        },
        {
          "type": "User",
          "login": "mjkoo",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/30420?v=4"
        },
        {
          "type": "User",
          "login": "saschabuehrle",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/47737812?v=4"
        },
        {
          "type": "User",
          "login": "claude",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/81847?v=4"
        },
        {
          "type": "User",
          "login": "ho991217",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/84632077?v=4"
        }
      ],
      "contributors_sampled": 6,
      "top_contributor_share": 0.998
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "main.yaml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "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": 4,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "3 out of 3 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/6 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 5 contributing companies or organizations",
            "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": 10,
            "reason": "project is 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": "30 commit(s) and 30 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": 10,
            "reason": "security policy file 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": "28 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "4b4f49a4e93fe89710d0324444f8b5e69eddeee1",
        "ran_at": "2026-07-21T15:52:19Z",
        "aggregate_score": 4.9,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": false
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/dahlia/optique",
    "host": "github.com",
    "name": "optique",
    "owner": "dahlia"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 73,
      "inputs": {
        "security": 54,
        "vitality": 92,
        "community": 70,
        "governance": 67,
        "engineering": 77
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 92,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 95,
            "inputs": {
              "commits_last_year": 3636,
              "human_commit_share": 1,
              "days_since_last_push": 0,
              "active_weeks_last_year": 45
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "45/52 weeks with commits",
                "points": 31.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 45
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "3636 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 3636
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 30 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": 88,
            "inputs": {
              "releases_count": 94,
              "latest_release_tag": "1.2.0",
              "releases_from_tags": true,
              "days_since_latest_release": 0,
              "mean_days_between_releases": 16.8
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "94 version tags (no GitHub releases)",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "version_tags_no_releases",
                    "params": {
                      "count": 94
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~16.8 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 16.8
                    }
                  }
                ],
                "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": 0,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 0 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "good",
        "name": "Community & Adoption",
        "value": 70,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 56,
            "inputs": {
              "forks": 9,
              "stars": 713,
              "watchers": 4,
              "growth_state": "organic",
              "growth_factor_pct": 100
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "713 stars",
                "points": 46.3,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 713
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "9 forks",
                "points": 7.5,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "4 watchers",
                "points": 2.7,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 70,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "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": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "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": "excellent",
            "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": 92,
            "inputs": {
              "packages": [
                "@optique/env",
                "@optique/git",
                "@optique/man",
                "@optique/run",
                "@optique/zod",
                "@optique/core",
                "@optique/clack",
                "@optique/config"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 325578
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "325,578 downloads/month across npm",
                "points": 73.5,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 325578,
                      "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": 67,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 27,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 6,
              "top_contributor_share": 0.998
            },
            "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 100% of commits",
                "points": 0,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "6 contributors",
                "points": 8.1,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 5 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "merged_prs": 305,
              "open_issues": 7,
              "closed_issues": 536,
              "issue_closed_ratio": 0.987,
              "closed_unmerged_prs": 7
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "99% of issues closed",
                "points": 46.1,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 99
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "305/312 decided PRs merged",
                "points": 37.4,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 305,
                      "decided": 312
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/6 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "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": 72,
            "inputs": {
              "followers": 1350,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "dahlia",
              "public_repos": 274,
              "account_age_days": 6622
            },
            "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": "1,350 followers of dahlia",
                "points": 22.5,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 1350,
                      "login": "dahlia"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "274 public repos, account ~18 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 274
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 18
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@optique/env",
                "@optique/git",
                "@optique/man",
                "@optique/run",
                "@optique/zod",
                "@optique/core",
                "@optique/clack",
                "@optique/config"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 0
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "8 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 8,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 0 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "755 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 755
                    }
                  }
                ],
                "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": "good",
        "name": "Engineering Quality",
        "value": 77,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 68,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "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": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "3 out of 3 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": 90,
            "inputs": {
              "topics": [
                "cli",
                "getopt",
                "parser-combinators",
                "typescript"
              ],
              "has_wiki": false,
              "homepage": "http://optique.dev/",
              "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": "http://optique.dev/",
                "points": 15,
                "status": "met",
                "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": "4 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 54,
        "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": 49,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 4.9
            },
            "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 is not maximal on development and all release branches",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "3 out of 3 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/6 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 5 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "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 fuzzed",
                "points": 5,
                "status": "met",
                "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": "30 commit(s) and 30 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 detected",
                "points": 5,
                "status": "met",
                "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": "28 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "good",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 637 resolved dependencies against OSV; 15 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 637
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 15
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 74,
            "inputs": {
              "source": "osv",
              "advisories": 30,
              "affected_packages": 16,
              "assessed_packages": 637,
              "unassessed_packages": 15,
              "affected_by_severity": "critical 1, high 9, moderate 5, low 1",
              "direct_affected_packages": 1
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "1 affected: isomorphic-git catalog: (moderate 5.3)",
                "points": 20.2,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 1,
                      "packages": "isomorphic-git catalog: (moderate 5.3)"
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "1 advisory-carrying package(s) unaddressed past 90 days; oldest published 1782 days ago",
                "points": 35.3,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 1,
                      "oldest": 1782
                    }
                  }
                ],
                "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": 637,
              "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": 5
            },
            "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": 70,
        "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.95,
              "agent_instruction_files": [
                "AGENTS.md",
                "CLAUDE.md",
                "examples/gitique/.cursorrules",
                "examples/gitique/.windsurfrules",
                "examples/gitique/AGENT.md",
                "examples/gitique/AGENTS.md",
                "examples/gitique/CLAUDE.md",
                "examples/gitique/GEMINI.md"
              ],
              "agent_instruction_max_bytes": 9590
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md, CLAUDE.md, examples/gitique/.cursorrules, examples/gitique/.windsurfrules, examples/gitique/AGENT.md, examples/gitique/AGENTS.md, examples/gitique/CLAUDE.md, examples/gitique/GEMINI.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.md, CLAUDE.md, examples/gitique/.cursorrules, examples/gitique/.windsurfrules, examples/gitique/AGENT.md, examples/gitique/AGENTS.md, examples/gitique/CLAUDE.md, examples/gitique/GEMINI.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": "95 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 95,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 61,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "pnpm-lock.yaml"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [
                "mise.toml"
              ],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "mise.toml",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "mise.toml"
                    }
                  }
                ],
                "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": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "TypeScript (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "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": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "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": 92,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 707468,
              "source_files_sampled": 202,
              "oversized_source_files": 29
            },
            "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": "29/202 source files over 60KB",
                "points": 47.1,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 202,
                      "oversized": 29
                    }
                  }
                ],
                "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": [
    "deps.dev does not index npm:@optique/env@1.2.0; advisories assessed against the repository dependency graph instead"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-21T15:52:36.591212Z",
  "schema_version": "0.23.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/d/dahlia/optique.svg",
  "full_name": "dahlia/optique",
  "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.23.0 — full methodology · metrics wiki.

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