Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [
"git-worktree",
"git"
],
"is_fork": false,
"size_kb": 635,
"has_wiki": true,
"homepage": null,
"languages": {
"Go": 362083,
"Makefile": 760
},
"pushed_at": "2026-07-23T23:04:37Z",
"created_at": "2025-12-26T00:16:09Z",
"owner_type": "User",
"updated_at": "2026-07-20T14:26:16Z",
"description": "A Git subcommand that makes `git worktree` simple",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "Go",
"significant_languages": [
"Go"
]
},
"owner": {
"blog": "http://101000lab.org",
"name": "Ken’ichiro Oyama",
"type": "User",
"login": "k1LoW",
"company": "@tailor-inc / 101000LAB",
"location": "Fukuoka, JAPAN",
"followers": 749,
"avatar_url": "https://avatars.githubusercontent.com/u/57114?v=4",
"created_at": "2009-02-23T14:23:58Z",
"is_verified": null,
"public_repos": 372,
"account_age_days": 6360
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v0.29.0",
"kind": "minor",
"published_at": "2026-06-04T06:45:24Z"
},
{
"tag": "v0.28.0",
"kind": "minor",
"published_at": "2026-05-14T00:43:04Z"
},
{
"tag": "v0.27.0",
"kind": "minor",
"published_at": "2026-04-17T13:14:31Z"
},
{
"tag": "v0.26.2",
"kind": "patch",
"published_at": "2026-04-03T00:08:52Z"
},
{
"tag": "v0.26.1",
"kind": "patch",
"published_at": "2026-03-31T01:11:22Z"
},
{
"tag": "v0.26.0",
"kind": "minor",
"published_at": "2026-03-29T23:36:18Z"
},
{
"tag": "v0.25.0",
"kind": "minor",
"published_at": "2026-02-19T23:59:04Z"
},
{
"tag": "v0.24.0",
"kind": "minor",
"published_at": "2026-02-17T11:28:51Z"
},
{
"tag": "v0.23.0",
"kind": "minor",
"published_at": "2026-02-16T14:05:42Z"
},
{
"tag": "v0.22.0",
"kind": "minor",
"published_at": "2026-02-16T01:27:25Z"
},
{
"tag": "v0.21.1",
"kind": "patch",
"published_at": "2026-02-14T15:36:43Z"
},
{
"tag": "v0.21.0",
"kind": "minor",
"published_at": "2026-02-14T12:38:03Z"
},
{
"tag": "v0.20.0",
"kind": "minor",
"published_at": "2026-02-09T14:57:24Z"
},
{
"tag": "v0.19.1",
"kind": "patch",
"published_at": "2026-02-08T10:19:26Z"
},
{
"tag": "v0.19.0",
"kind": "minor",
"published_at": "2026-02-06T10:47:50Z"
},
{
"tag": "v0.18.1",
"kind": "patch",
"published_at": "2026-02-05T23:29:56Z"
},
{
"tag": "v0.18.0",
"kind": "minor",
"published_at": "2026-02-04T20:43:05Z"
},
{
"tag": "v0.17.0",
"kind": "minor",
"published_at": "2026-02-01T11:22:23Z"
},
{
"tag": "v0.16.1",
"kind": "patch",
"published_at": "2026-01-27T10:07:06Z"
},
{
"tag": "v0.16.0",
"kind": "minor",
"published_at": "2026-01-27T04:28:49Z"
},
{
"tag": "v0.15.1",
"kind": "patch",
"published_at": "2026-01-26T08:49:20Z"
},
{
"tag": "v0.15.0",
"kind": "minor",
"published_at": "2026-01-21T09:04:32Z"
},
{
"tag": "v0.14.2",
"kind": "patch",
"published_at": "2026-01-20T12:31:48Z"
},
{
"tag": "v0.14.1",
"kind": "patch",
"published_at": "2026-01-20T12:09:06Z"
},
{
"tag": "v0.14.0",
"kind": "minor",
"published_at": "2026-01-20T10:36:24Z"
},
{
"tag": "v0.13.1",
"kind": "patch",
"published_at": "2026-01-14T02:40:55Z"
},
{
"tag": "v0.13.0",
"kind": "minor",
"published_at": "2026-01-12T06:29:11Z"
},
{
"tag": "v0.12.1",
"kind": "patch",
"published_at": "2026-01-08T20:14:11Z"
},
{
"tag": "v0.12.0",
"kind": "minor",
"published_at": "2026-01-07T13:18:47Z"
},
{
"tag": "v0.11.0",
"kind": "minor",
"published_at": "2026-01-06T12:31:47Z"
},
{
"tag": "v0.10.0",
"kind": "minor",
"published_at": "2026-01-06T05:56:52Z"
},
{
"tag": "v0.9.1",
"kind": "patch",
"published_at": "2026-01-06T00:22:29Z"
},
{
"tag": "v0.9.0",
"kind": "minor",
"published_at": "2026-01-05T15:28:48Z"
},
{
"tag": "v0.8.2",
"kind": "patch",
"published_at": "2026-01-05T14:23:46Z"
},
{
"tag": "v0.8.1",
"kind": "patch",
"published_at": "2026-01-05T08:41:41Z"
},
{
"tag": "v0.8.0",
"kind": "minor",
"published_at": "2026-01-05T06:47:48Z"
},
{
"tag": "v0.7.0",
"kind": "minor",
"published_at": "2026-01-05T01:00:04Z"
},
{
"tag": "v0.6.0",
"kind": "minor",
"published_at": "2026-01-04T11:40:10Z"
},
{
"tag": "v0.5.2",
"kind": "patch",
"published_at": "2026-01-04T02:49:46Z"
},
{
"tag": "v0.5.1",
"kind": "patch",
"published_at": "2025-12-28T03:07:31Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2025-12-28T01:25:40Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2025-12-28T00:35:03Z"
},
{
"tag": "v0.3.0",
"kind": "minor",
"published_at": "2025-12-27T09:49:08Z"
},
{
"tag": "v0.2.3",
"kind": "patch",
"published_at": "2025-12-26T08:15:32Z"
},
{
"tag": "v0.2.2",
"kind": "patch",
"published_at": "2025-12-26T06:35:26Z"
},
{
"tag": "v0.2.1",
"kind": "patch",
"published_at": "2025-12-26T03:39:41Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2025-12-26T02:19:06Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2025-12-26T00:38:52Z"
}
],
"recent_commits": [
{
"oid": "54b3efff81b32b45c52384208efcbe74fefda99f",
"body": "…/net-0.55.0\n\nchore(deps): bump golang.org/x/net from 0.53.0 to 0.55.0",
"is_bot": false,
"headline": "Merge pull request #202 from k1LoW/dependabot/go_modules/golang.org/x…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-07-04T05:48:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "09e76691351f70964fa98d19a9379fb20060e4a8",
"body": "Bumps [golang.org/x/net](https://github.com/golang/net) from 0.53.0 to 0.55.0.\n- [Commits](https://github.com/golang/net/compare/v0.53.0...v0.55.0)\n\n---\nupdated-dependencies:\n- dependency-name: golang.org/x/net\n dependency-version: 0.55.0\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump golang.org/x/net from 0.53.0 to 0.55.0",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-03T17:17:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5336334ac69bb218587b648ebe5220b1b7c627dc",
"body": "…cies-2217aebe03\n\nchore(deps): bump actions/checkout from 6.0.3 to 7.0.0 in the dependencies group",
"is_bot": false,
"headline": "Merge pull request #199 from k1LoW/dependabot/github_actions/dependen…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-06-19T00:23:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "05f46f7d5d8b6f73aeefb1d18a21a63e27877b64",
"body": "Bumps the dependencies group with 1 update: [actions/checkout](https://github.com/actions/checkout).\n\n\nUpdates `actions/checkout` from 6.0.3 to 7.0.0\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](\n[…]\nut\n dependency-version: 7.0.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump actions/checkout in the dependencies group",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-06-18T23:04:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2f0855787d70df9cbdcbda756b469986c7c088fe",
"body": "…cies-ca4ffa9155\n\nchore(deps): bump the dependencies group with 2 updates",
"is_bot": false,
"headline": "Merge pull request #196 from k1LoW/dependabot/github_actions/dependen…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-06-05T01:05:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e4c7f680bebdf2034db0d10859fdb20ae6c50a9e",
"body": "Bumps the dependencies group with 2 updates: [actions/checkout](https://github.com/actions/checkout) and [Songmu/tagpr](https://github.com/songmu/tagpr).\n\n\nUpdates `actions/checkout` from 6.0.2 to 6.0.3\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/\n[…]\nr\n dependency-version: 1.20.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump the dependencies group with 2 updates",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-06-04T23:04:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c02d276e4f2097eae91607e384e5f5e5ebeea25b",
"body": "Release for v0.29.0",
"is_bot": false,
"headline": "Merge pull request #194 from k1LoW/tagpr-from-v0.28.0",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-06-04T06:43:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "654225f87a7806e5e45c09f475673514a332013a",
"body": null,
"is_bot": true,
"headline": "[tagpr] update CHANGELOG.md",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-06-04T05:29:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16876ec3b05930dd7933fc7c2e80ba45a749bb3b",
"body": null,
"is_bot": true,
"headline": "[tagpr] prepare for the next release",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-06-04T05:29:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3fe57313cc2ff1c77c70b3179838a0c1f8413e35",
"body": "feat: add `-m`/`-M` flag to rename a worktree's directory and branch",
"is_bot": false,
"headline": "Merge pull request #195 from k1LoW/feat/move-worktree",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-06-04T05:28:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "47e19baedd5618180348d3caa44f55ca0572da14",
"body": "Add two e2e subtests under TestE2E_MoveCurrentWorktree that pin the\nshell-integration semantics the maintainer specified in #184's comment\nthread:\n\n- nocd_create_still_cds_on_rename: with `wt.nocd=create`, renaming the\n current worktree must still cd to the new path because rename\n targets an exis\n[…]\nn. Covers bash/zsh/fish.\n- nocd_flag_suppresses_cd_on_rename: `--nocd` always wins over\n `-m`/`-M`, mirroring the wrapper precedence (nocd_flag is checked\n before rename_flag). Covers bash/zsh/fish.",
"is_bot": false,
"headline": "test(rename): cover wt.nocd interactions with -m per issue #184",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-06-04T04:32:15Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "57f73ea9bc31631e06c0f551a705954a71f19325",
"body": "`completeBranches` was suggesting refs (branches/tags) as the second\npositional argument under `-m`/`-M`, but in rename mode the second\narg is the *new name* (free text), not a ref. Suggesting refs would\nmislead users into picking an existing branch and then hitting the\n\"branch already exists (use -\n[…]\nath is skipped under rename.\n- After the first positional arg is already in place under rename,\n return `ShellCompDirectiveNoFileComp` so the shell does not fall\n back to filename completion either.",
"is_bot": false,
"headline": "fix(completion): exclude -m/-M from start-point suggestions",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-06-04T03:54:15Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3d3fa705ee19f013f11a73ce7211e4133b7c7956",
"body": "Two more Copilot findings:\n\n- `RenameBranch` now passes branch names after `--` so a name\n beginning with `-` (e.g. `-q`) is not parsed as an option by\n `git branch`. `CheckBranchNameFormat` would accept such names, so\n without `--` the rename would fail later with a confusing error.\n- The user-f\n[…]\n directory already matches the new\n name), it still said \"Renamed worktree to <path>\" with `<path>`\n unchanged. Add a dedicated branch-only message so the output\n accurately reflects what happened.",
"is_bot": false,
"headline": "fix(rename): use `--` for git branch and clarify branch-only message",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-06-04T03:44:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "502eb080a938b3c13ac5c910080fe96c048d3203",
"body": "Two Copilot edge-case findings on the basedir cleanup logic:\n\n- `isStrictDescendant` used `strings.HasPrefix(rel, \\\"..\\\")` to detect\n paths escaping the basedir, which also rejected legitimate child\n names beginning with two dots (e.g. `..cache`). Match only genuine\n parent traversals: `rel == \\\"\n[…]\n target's content matched would have been considered removable, and\n `os.RemoveAll` would follow the symlink semantics unpredictably.\n Treat any symlink in the directory as making it non-removable.",
"is_bot": false,
"headline": "fix(rename): tighten RemoveEmptyParents containment and symlink handling",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-06-04T03:37:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a310ea41f8f56b0d56936247f8883bbc48ccd35f",
"body": "The 1-arg form already blocked the main working tree via\nrc.IsLinkedWorktree(), but the 2-arg form would resolve through\nFindWorktreeByBranchOrDir to the main worktree (e.g. `git wt -m . new`\nor by passing its path) and then defer the error to `git worktree\nmove`, which produces an opaque message. A\n[…]\nth to MainRepoRoot and surfaces\nthe reason directly. E2E coverage added in\ntwo_arg_rejects_main_working_tree (covering both the `.` path query\nand the branch-name query with `--allow-delete-default`).",
"is_bot": false,
"headline": "fix(rename): reject main working tree explicitly in two-arg form",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-06-04T03:30:07Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4d6bd63f35b8523d447f24935294820b7b455996",
"body": "…fault)\n\nThe previous wording said `-m`/`-M` and \"without worktree\" deletion\nwere \"blocked entirely\", which contradicted the very next bullet that\ndocuments `--allow-delete-default` as an override. Restructure the\nnote to lead with the override flag and describe each case as\n\"refused by default\" instead.",
"is_bot": false,
"headline": "docs: clarify default-branch protection note (blocked → refused by de…",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-06-04T03:23:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5f4c3e790fe14e442a580d80c2dc4a907d4f4097",
"body": "Match the style of the other git helpers in this package so any\nexplanation git emits about a malformed ref reaches the user. git\ncheck-ref-format is silent today on the common failures, but the\nsuggestion costs nothing and future-proofs against new git output.",
"is_bot": false,
"headline": "fix(rename): forward check-ref-format stderr in CheckBranchNameFormat",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-06-04T03:18:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae729f241656dbc22fc1ec647dad9c5d628a7d1b",
"body": "Three Copilot-review findings on the previous fix:\n\n- `newPath` was built via `git.WorktreePathFor`, which re-expands\n `cfg.BaseDir` without resolving symlinks. On macOS that left\n `newPath` at `/var/...` while `oldPath` (and the resolved `baseDir`)\n was at `/private/var/...`, silently breaking t\n[…]\nmented \"absolute paths required\" but\n only `filepath.Clean`'d its inputs. A caller handing in a relative\n path could trigger deletions against cwd; enforce the precondition\n with an explicit error.",
"is_bot": false,
"headline": "fix(rename): resolve symlinks and basedir override on -m lookup",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-06-04T03:12:20Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6bf842a7a69cbdecd7a4c5d6d9256cd2d7ee307f",
"body": "Two Copilot-review findings on `-m`/`-M`:\n\n- `moveWorktree` was calling `git.LoadConfig(ctx)` directly, which\n bypasses the `--basedir` / `--copyignored` / etc. flag-based overrides\n that `loadConfig(ctx, cmd)` applies. As a result `git wt --basedir\n ... -m ...` would compute paths against the wr\n[…]\n). Add a `samePath` guard that skips the\n collision check and the directory move when paths match, and\n surface non-`ENOENT` `os.Stat` errors instead of silently treating\n them as \"does not exist\".",
"is_bot": false,
"headline": "fix(rename): honor flag overrides and allow branch-only rename",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-06-04T03:05:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "232eba182e633011bbde74480b19eff24f43fc79",
"body": "- Drop the unused `git.MainRepoRoot(ctx)` call in `moveWorktree`; its\n error path was firing without the value ever being read.\n- Harden `RemoveEmptyParents` against escaping basedir: the walk now\n refuses to start unless `startDir` is a strict descendant of\n `stopDir`, re-checks the relation aft\n[…]\nm\n work in `moveWorktree`. Previously an invalid new name like\n `foo..bar` would let `git worktree move` succeed and then leave the\n branch on the old name when `git branch -m` rejected the format.",
"is_bot": false,
"headline": "fix(rename): address self-review findings on `-m`/`-M`",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-06-04T02:42:57Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f2b5a880a4cc3d35de8b791c17203a1f38659239",
"body": "Closes #184\n\nRenaming a git-wt worktree previously required several manual steps:\n`git branch -m`, `git worktree move`, cleaning up empty parent directories\nleft behind when branch names contain `/`, and re-`cd`-ing if invoked from\ninside the renamed worktree. This adds a single-step rename that com\n[…]\n there. The wrappers\n now recognize `-m`/`-M` so `wt.nocd=create` still cds (rename targets an\n existing worktree at a new location, not a creation), matching the\n semantics agreed on in the issue.",
"is_bot": false,
"headline": "feat: add `-m`/`-M` flag to rename a worktree's directory and branch",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-06-04T01:41:49Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "243cb53d7c857cdc370a90143b33a171cdbe6799",
"body": "…-5943768018\n\nchore(deps): bump the dependencies group with 2 updates",
"is_bot": false,
"headline": "Merge pull request #192 from k1LoW/dependabot/go_modules/dependencies…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-05-26T23:00:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "03566853a6ecebdff2b9a8d0b66f1b5b4c77e8a3",
"body": "…cies-1e29c8beb4\n\nchore(deps): bump the dependencies group across 1 directory with 2 updates",
"is_bot": false,
"headline": "Merge pull request #193 from k1LoW/dependabot/github_actions/dependen…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-05-26T23:00:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e6aedec3ebe1d33cfa70176acca534232be22754",
"body": "…o-git/go-git/v5-5.19.1\n\nchore(deps): bump github.com/go-git/go-git/v5 from 5.19.0 to 5.19.1",
"is_bot": false,
"headline": "Merge pull request #191 from k1LoW/dependabot/go_modules/github.com/g…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-05-26T23:00:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "89ece655f8644d32b84b80787df61ac986e0cd92",
"body": "…dates\n\nBumps the dependencies group with 2 updates in the / directory: [Songmu/tagpr](https://github.com/songmu/tagpr) and [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action).\n\n\nUpdates `Songmu/tagpr` from 1.18.3 to 1.19.0\n- [Release notes](https://github.com/songmu/tagp\n[…]\non\n dependency-version: 7.2.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump the dependencies group across 1 directory with 2 up…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-21T23:08:43Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "cc69fac0e3c76fceed7faf181c540854b9fa0df6",
"body": "Bumps the dependencies group with 2 updates: [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) and [golang.org/x/sys](https://github.com/golang/sys).\n\n\nUpdates `github.com/go-git/go-git/v5` from 5.19.0 to 5.19.1\n- [Release notes](https://github.com/go-git/go-git/releases)\n- [Changelog]\n[…]\ns\n dependency-version: 0.45.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump the dependencies group with 2 updates",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-21T23:08:28Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "56f32d09d7a3b5671e982d997787361c4c85670c",
"body": "Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.19.0 to 5.19.1.\n- [Release notes](https://github.com/go-git/go-git/releases)\n- [Changelog](https://github.com/go-git/go-git/blob/main/HISTORY.md)\n- [Commits](https://github.com/go-git/go-git/compare/v5.19.0...v5.19.1)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/go-git/go-git/v5\n dependency-version: 5.19.1\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump github.com/go-git/go-git/v5 from 5.19.0 to 5.19.1",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-19T16:07:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f2143fb196b3e0560c94657c1b2a9ae09728a45e",
"body": "Release for v0.28.0",
"is_bot": false,
"headline": "Merge pull request #182 from k1LoW/tagpr-from-v0.27.0",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-05-14T00:41:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e02cd004a26f5b2aa3f0d652c4c5619a8ddbc8fe",
"body": null,
"is_bot": true,
"headline": "[tagpr] update CHANGELOG.md",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-05-14T00:37:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cac5c4fb3a46efce8bfec27f1dd7eb80e619624f",
"body": null,
"is_bot": true,
"headline": "[tagpr] prepare for the next release",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-05-14T00:37:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "806002a8219597d39010e153ed5f7e5d66fde549",
"body": "…-a1312ba7b7\n\nchore(deps): bump the dependencies group across 1 directory with 2 updates",
"is_bot": false,
"headline": "Merge pull request #189 from k1LoW/dependabot/go_modules/dependencies…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-05-14T00:36:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "924272bb710f2fc6b281136f3d5272c882a33942",
"body": "perf: batch branch commit-message lookups in shell completion",
"is_bot": false,
"headline": "Merge pull request #187 from tksm/perf/completion",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-05-14T00:36:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c9ff8875595b52c41c14ef10ae0c6271586f327",
"body": "…dates\n\nBumps the dependencies group with 2 updates in the / directory: [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) and [golang.org/x/sys](https://github.com/golang/sys).\n\n\nUpdates `github.com/go-git/go-git/v5` from 5.18.0 to 5.19.0\n- [Release notes](https://github.com/go-git/go-\n[…]\ns\n dependency-version: 0.44.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump the dependencies group across 1 directory with 2 up…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-14T00:18:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "acb9973528c0492baf07e2c3302f8017e6dae1d3",
"body": "…o-git/go-billy/v5-5.9.0\n\nchore(deps): bump github.com/go-git/go-billy/v5 from 5.8.0 to 5.9.0",
"is_bot": false,
"headline": "Merge pull request #188 from k1LoW/dependabot/go_modules/github.com/g…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-05-14T00:16:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b14c5106f34d04f4f3ba3c2693c7ac2729c59b01",
"body": "Bumps [github.com/go-git/go-billy/v5](https://github.com/go-git/go-billy) from 5.8.0 to 5.9.0.\n- [Release notes](https://github.com/go-git/go-billy/releases)\n- [Commits](https://github.com/go-git/go-billy/compare/v5.8.0...v5.9.0)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/go-git/go-billy/v5\n dependency-version: 5.9.0\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump github.com/go-git/go-billy/v5 from 5.8.0 to 5.9.0",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-13T22:22:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c6fd30e355e13f3980277cd235964a3aa854aa43",
"body": null,
"is_bot": false,
"headline": "perf: batch branch commit-message lookups in shell completion",
"author_name": "Takashi Kusumi",
"author_login": "tksm",
"committed_at": "2026-05-10T11:36:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7bab86441b6b5e0b69961e6f5b61ead12479929f",
"body": "…cies-ac5de35ba9\n\nchore(deps): bump the dependencies group across 1 directory with 4 updates",
"is_bot": false,
"headline": "Merge pull request #181 from k1LoW/dependabot/github_actions/dependen…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-04-30T23:20:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3a4c6f942431a9ead349dc45ca44915f29f98079",
"body": "…dates\n\nBumps the dependencies group with 4 updates in the / directory: [k1LoW/octocov-action](https://github.com/k1low/octocov-action), [Songmu/tagpr](https://github.com/songmu/tagpr), [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) and [aquasecurity/trivy-action](ht\n[…]\nn\n dependency-version: 0.36.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump the dependencies group across 1 directory with 4 up…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-30T23:08:40Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "93bab0c27d305f7bfbfa218a4118077d3d77786d",
"body": "Release for v0.27.0",
"is_bot": false,
"headline": "Merge pull request #175 from k1LoW/tagpr-from-v0.26.2",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-04-17T13:12:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6a9de3f6e970eb74cac5b52fbb3ded88646389e6",
"body": null,
"is_bot": true,
"headline": "[tagpr] update CHANGELOG.md",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-04-17T12:49:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "491ff9f20ca1b031ac52ab096fcc52b0121a420d",
"body": null,
"is_bot": true,
"headline": "[tagpr] prepare for the next release",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-04-17T12:49:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f98cae420f813e4dbda7647f28f9dd0ac94c929c",
"body": "…ting-branch-or-worktree\n\nfix: error when start-point is specified for existing branch or worktree",
"is_bot": false,
"headline": "Merge pull request #179 from k1LoW/fix/error-on-start-point-with-exis…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-04-17T12:48:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1479d0c5cb6b99121cc36049f4a33a6fe2992392",
"body": null,
"is_bot": false,
"headline": "fix: use wt.Branch instead of wtName in existing worktree error message",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-04-17T11:57:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cde713d0b5d658ffa06b9133c46cc2ec9f32d2a0",
"body": null,
"is_bot": false,
"headline": "fix: check error return value of runGitWt in tests",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-04-17T11:36:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d9e8a264b90b4eeab547a73cbc742e6cae4bb211",
"body": "Previously, start-point was silently ignored when the target branch or\nworktree already existed. This could be confusing for users who expect\nthe worktree to be created from a specific start point.\n\nNow git-wt returns a clear error in these cases:\n- Switching to an existing worktree with a start-point\n- Creating a worktree for an existing branch with a start-point",
"is_bot": false,
"headline": "fix: error when start-point is specified for existing branch or worktree",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-04-17T04:23:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "56955214ebdf987dd40b78797df6735ebd6e888e",
"body": "feat: add `-b`/`--branch` flag to specify branch name independently from worktree directory name",
"is_bot": false,
"headline": "Merge pull request #176 from glasser/branch-name-flag",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-04-17T01:53:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7fd2167b0633ff9956402bd53e333bf5a5e2996b",
"body": "…cies-8304623b7d\n\nchore(deps): bump Songmu/tagpr from 1.18.1 to 1.18.2 in the dependencies group",
"is_bot": false,
"headline": "Merge pull request #177 from k1LoW/dependabot/github_actions/dependen…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-04-17T00:10:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f9e21589e9e5ced53f7dd54ab553bfc38cc7473d",
"body": "…-d4b3b64db6\n\nchore(deps): bump github.com/go-git/go-git/v5 from 5.17.2 to 5.18.0 in the dependencies group",
"is_bot": false,
"headline": "Merge pull request #178 from k1LoW/dependabot/go_modules/dependencies…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-04-16T23:24:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31249a109367fee8032e2202627e30862acd416d",
"body": "Bumps the dependencies group with 1 update: [github.com/go-git/go-git/v5](https://github.com/go-git/go-git).\n\n\nUpdates `github.com/go-git/go-git/v5` from 5.17.2 to 5.18.0\n- [Release notes](https://github.com/go-git/go-git/releases)\n- [Commits](https://github.com/go-git/go-git/compare/v5.17.2...v5.18\n[…]\n5\n dependency-version: 5.18.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump github.com/go-git/go-git/v5 in the dependencies group",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-16T23:07:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c74389ea42d0ca96951d64114f3dcfd5450be747",
"body": "Bumps the dependencies group with 1 update: [Songmu/tagpr](https://github.com/songmu/tagpr).\n\n\nUpdates `Songmu/tagpr` from 1.18.1 to 1.18.2\n- [Release notes](https://github.com/songmu/tagpr/releases)\n- [Changelog](https://github.com/Songmu/tagpr/blob/main/CHANGELOG.md)\n- [Commits](https://github.com\n[…]\nr\n dependency-version: 1.18.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump Songmu/tagpr in the dependencies group",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-16T23:07:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7b1559336aefa5ff9defafbb749bc7ad4942ee60",
"body": "…rom worktree directory name\n\nCloses #172\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: add `-b`/`--branch` flag to specify branch name independently f…",
"author_name": "David Glasser",
"author_login": "glasser",
"committed_at": "2026-04-14T16:31:23Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "ff6264aa0da7c42ee4b12ad66d3819978b1a8805",
"body": "…cies-6575334f32\n\nchore(deps): bump Songmu/tagpr from 1.17.1 to 1.18.1 in the dependencies group",
"is_bot": false,
"headline": "Merge pull request #174 from k1LoW/dependabot/github_actions/dependen…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-04-09T23:33:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "36340fccf023e3d3c14f212b12baf1860ad7e2c5",
"body": "…-ec1cff6765\n\nchore(deps): bump golang.org/x/sys from 0.42.0 to 0.43.0 in the dependencies group",
"is_bot": false,
"headline": "Merge pull request #173 from k1LoW/dependabot/go_modules/dependencies…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-04-09T23:33:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "03f38de9ac7a6fd9a8a42d91458c30a6dcd42c03",
"body": "Bumps the dependencies group with 1 update: [Songmu/tagpr](https://github.com/songmu/tagpr).\n\n\nUpdates `Songmu/tagpr` from 1.17.1 to 1.18.1\n- [Release notes](https://github.com/songmu/tagpr/releases)\n- [Changelog](https://github.com/Songmu/tagpr/blob/main/CHANGELOG.md)\n- [Commits](https://github.com\n[…]\nr\n dependency-version: 1.18.1\n dependency-type: direct:production\n update-type: version-update:semver-minor\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump Songmu/tagpr in the dependencies group",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-09T23:07:15Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d70bad420aedca29e87f69da677afa7f2ef57abd",
"body": "Bumps the dependencies group with 1 update: [golang.org/x/sys](https://github.com/golang/sys).\n\n\nUpdates `golang.org/x/sys` from 0.42.0 to 0.43.0\n- [Commits](https://github.com/golang/sys/compare/v0.42.0...v0.43.0)\n\n---\nupdated-dependencies:\n- dependency-name: golang.org/x/sys\n dependency-version: 0.43.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump golang.org/x/sys in the dependencies group",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-09T23:07:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1abc1ec8f7e45b8634d38460514fa5eb94475598",
"body": "Release for v0.26.2",
"is_bot": false,
"headline": "Merge pull request #169 from k1LoW/tagpr-from-v0.26.1",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-04-03T00:07:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "142f26945d31aac5696a252d445e4f50a73ddd74",
"body": null,
"is_bot": true,
"headline": "[tagpr] update CHANGELOG.md",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-04-02T23:41:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "042c71753c7098f50e793a02e380bc777a432578",
"body": null,
"is_bot": true,
"headline": "[tagpr] prepare for the next release",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-04-02T23:41:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2b0850312a6dd48f46b9f20af06432aa8e08016e",
"body": "…cies-84ffaffffe",
"is_bot": false,
"headline": "Merge pull request #168 from k1LoW/dependabot/github_actions/dependen…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-04-02T23:40:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0f538ada641fc847e7233e23b5fd345f4efe8872",
"body": "…-1f3a4afa66",
"is_bot": false,
"headline": "Merge pull request #167 from k1LoW/dependabot/go_modules/dependencies…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-04-02T23:34:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d5dd175533162d6bbbb6a53b9c81efa693bfcd83",
"body": "Bumps the dependencies group with 1 update: [actions/setup-go](https://github.com/actions/setup-go).\n\n\nUpdates `actions/setup-go` from 6.3.0 to 6.4.0\n- [Release notes](https://github.com/actions/setup-go/releases)\n- [Commits](https://github.com/actions/setup-go/compare/4b73464bb391d4059bd26b0524d20d\n[…]\ngo\n dependency-version: 6.4.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump actions/setup-go in the dependencies group",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-02T23:06:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "19b672a27ca103592683a2d4ad757737b8e4fb97",
"body": "Bumps the dependencies group with 1 update: [github.com/go-git/go-git/v5](https://github.com/go-git/go-git).\n\n\nUpdates `github.com/go-git/go-git/v5` from 5.17.1 to 5.17.2\n- [Release notes](https://github.com/go-git/go-git/releases)\n- [Commits](https://github.com/go-git/go-git/compare/v5.17.1...v5.17\n[…]\n5\n dependency-version: 5.17.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump github.com/go-git/go-git/v5 in the dependencies group",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-02T23:06:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e3eb8ebd2c29dd35d4bf6a39f6a91a099cd47cbd",
"body": "Release for v0.26.1",
"is_bot": false,
"headline": "Merge pull request #166 from k1LoW/tagpr-from-v0.26.0",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-03-31T01:10:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e3197defaa9ce18428751d7b81c798264f03c0b2",
"body": null,
"is_bot": true,
"headline": "[tagpr] update CHANGELOG.md",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-03-31T00:53:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "203865bcae4839809b74631770f591ce48e96cc4",
"body": null,
"is_bot": true,
"headline": "[tagpr] prepare for the next release",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-03-31T00:53:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "464b9757ed0eb29946e7156c004aa452fee7120a",
"body": "…o-git/go-git/v5-5.17.1\n\nchore(deps): bump github.com/go-git/go-git/v5 from 5.17.0 to 5.17.1",
"is_bot": false,
"headline": "Merge pull request #165 from k1LoW/dependabot/go_modules/github.com/g…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-03-31T00:52:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f310890cb8b02a41e7db523a9fb69fd2ef258ef7",
"body": "Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.17.0 to 5.17.1.\n- [Release notes](https://github.com/go-git/go-git/releases)\n- [Commits](https://github.com/go-git/go-git/compare/v5.17.0...v5.17.1)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/go-git/go-git/v5\n dependency-version: 5.17.1\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump github.com/go-git/go-git/v5 from 5.17.0 to 5.17.1",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-31T00:46:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e31c89e4b5a45f5d07d77cbccaabef716e7812f9",
"body": null,
"is_bot": false,
"headline": "chore: bump Go version to 1.25.8 for gostyle compatibility",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-03-31T00:45:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0cbf7d0642620fa68adeb1b0aa5470eedd907639",
"body": null,
"is_bot": false,
"headline": "Merge pull request #154 from k1LoW/tagpr-from-v0.25.0",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-03-29T23:34:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b1bafe4e73d43effd32dd5598963054a6c9b3dc6",
"body": null,
"is_bot": true,
"headline": "[tagpr] update CHANGELOG.md",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-03-28T16:37:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d989bd23087e688f1255df02b51f342bcb04c142",
"body": null,
"is_bot": true,
"headline": "[tagpr] prepare for the next release",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-03-28T16:37:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ec04aca88b975e214111b7ffdd6eb3d7dbd29ed9",
"body": "feat: add `wt.symlink` config and `--symlink` flag",
"is_bot": false,
"headline": "Merge pull request #164 from ryoppippi/feat/symlink-copy",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-03-28T16:37:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0f5b115dab6ec4ea9c1145389a07f783af373206",
"body": "Add support for symlinking directories instead of copying when creating\nnew worktrees. This is useful for large directories like node_modules\nwhere sharing the same files across worktrees is acceptable and much\nfaster than copying.\n\nSymlink patterns use gitignore syntax and match top-level directori\n[…]\nconfig --add wt.symlink \"node_modules/\"\n git wt my-branch --symlink \"node_modules/\"\n\nNon-matching directories are still copied normally. Files at the root\nlevel are never symlinked, only directories.",
"is_bot": false,
"headline": "feat: add `wt.symlink` config and `--symlink` flag",
"author_name": "ryoppippi",
"author_login": "ryoppippi",
"committed_at": "2026-03-25T15:59:40Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ffa74f54056f99169b543acd05b00f47f5743f75",
"body": "…cies-ed0ef2bfb3\n\nchore(deps): bump reviewdog/action-golangci-lint from 2.8.0 to 2.10.0 in the dependencies group",
"is_bot": false,
"headline": "Merge pull request #161 from k1LoW/dependabot/github_actions/dependen…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-03-20T00:40:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "63300072d210d8e063d5e3da13761ee0fcce73c2",
"body": "Bumps the dependencies group with 1 update: [reviewdog/action-golangci-lint](https://github.com/reviewdog/action-golangci-lint).\n\n\nUpdates `reviewdog/action-golangci-lint` from 2.8.0 to 2.10.0\n- [Release notes](https://github.com/reviewdog/action-golangci-lint/releases)\n- [Commits](https://github.co\n[…]\nt\n dependency-version: 2.10.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump reviewdog/action-golangci-lint",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-19T23:06:32Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d2d4e82a36385bc8637ed552f473f6583bc96504",
"body": "…cies-34786f325a\n\nchore(deps): bump aquasecurity/trivy-action from 0.34.2 to 0.35.0 in the dependencies group",
"is_bot": false,
"headline": "Merge pull request #160 from k1LoW/dependabot/github_actions/dependen…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-03-13T01:00:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "893e484b7edf5ba497a6f96cd50491a80963dff7",
"body": "…-1d4a5beea5\n\nchore(deps): bump the dependencies group with 2 updates",
"is_bot": false,
"headline": "Merge pull request #159 from k1LoW/dependabot/go_modules/dependencies…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-03-13T01:00:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f9b1c66d9bc615e67494f869e46badd47541b4f1",
"body": "Bumps the dependencies group with 1 update: [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action).\n\n\nUpdates `aquasecurity/trivy-action` from 0.34.2 to 0.35.0\n- [Release notes](https://github.com/aquasecurity/trivy-action/releases)\n- [Commits](https://github.com/aquasecurity/triv\n[…]\nn\n dependency-version: 0.35.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump aquasecurity/trivy-action in the dependencies group",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-12T23:07:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0c4ab6ac5277ca7e2786159a37222caa08519734",
"body": "Bumps the dependencies group with 2 updates: [github.com/olekukonko/tablewriter](https://github.com/olekukonko/tablewriter) and [golang.org/x/sys](https://github.com/golang/sys).\n\n\nUpdates `github.com/olekukonko/tablewriter` from 1.1.3 to 1.1.4\n- [Release notes](https://github.com/olekukonko/tablewr\n[…]\ns\n dependency-version: 0.42.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump the dependencies group with 2 updates",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-12T23:07:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "81e99ef1872bb8e955e1ede57ccfc94d34cde642",
"body": "…cies-78cd6824c9\n\nchore(deps): bump aquasecurity/trivy-action from 0.34.1 to 0.34.2 in the dependencies group",
"is_bot": false,
"headline": "Merge pull request #158 from k1LoW/dependabot/github_actions/dependen…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-03-05T23:18:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c98ae88f653431499e530c81d515c497929ad535",
"body": "Bumps the dependencies group with 1 update: [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action).\n\n\nUpdates `aquasecurity/trivy-action` from 0.34.1 to 0.34.2\n- [Release notes](https://github.com/aquasecurity/trivy-action/releases)\n- [Commits](https://github.com/aquasecurity/triv\n[…]\nn\n dependency-version: 0.34.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump aquasecurity/trivy-action in the dependencies group",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-05T23:09:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "755d7bc6a7315e5cff5291056e420b139495c178",
"body": "…cies-c072029416\n\nchore(deps): bump the dependencies group with 4 updates",
"is_bot": false,
"headline": "Merge pull request #157 from k1LoW/dependabot/github_actions/dependen…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-02-27T02:48:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "398ca0681027ac4c5f1458f7b915a863cae8097c",
"body": "…-f1a4b26ae4\n\nchore(deps): bump github.com/go-git/go-git/v5 from 5.16.5 to 5.17.0 in the dependencies group",
"is_bot": false,
"headline": "Merge pull request #156 from k1LoW/dependabot/go_modules/dependencies…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-02-27T02:48:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5679ea6cc5d49bb64905c2b6e30bb238223d9768",
"body": "Bumps the dependencies group with 4 updates: [actions/setup-go](https://github.com/actions/setup-go), [Songmu/tagpr](https://github.com/songmu/tagpr), [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) and [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy\n[…]\nn\n dependency-version: 0.34.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump the dependencies group with 4 updates",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-02-26T23:07:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e71f1f3eded4600b69e952831a357fdf7821f6c3",
"body": "Bumps the dependencies group with 1 update: [github.com/go-git/go-git/v5](https://github.com/go-git/go-git).\n\n\nUpdates `github.com/go-git/go-git/v5` from 5.16.5 to 5.17.0\n- [Release notes](https://github.com/go-git/go-git/releases)\n- [Commits](https://github.com/go-git/go-git/compare/v5.16.5...v5.17\n[…]\n5\n dependency-version: 5.17.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump github.com/go-git/go-git/v5 in the dependencies group",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-02-26T23:07:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a112091d396eee78958d649bb99db5bb31b93d81",
"body": "refactor: extract test helpers in e2e/bare_test.go",
"is_bot": false,
"headline": "Merge pull request #153 from usadamasa/refactor-bare",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-02-24T00:41:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "357c092ba51ea4693952623f48de4d01a44eb00f",
"body": null,
"is_bot": false,
"headline": "refactor: bare_test.go",
"author_name": "usadamasa",
"author_login": "usadamasa",
"committed_at": "2026-02-21T05:03:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0d90205bc999f2d49009efc915ca2ebd21d0abe8",
"body": null,
"is_bot": false,
"headline": "refactor: remove unused func in repo_context",
"author_name": "usadamasa",
"author_login": "usadamasa",
"committed_at": "2026-02-21T04:40:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "09539fd42e0e4a121ef7d41b318747b62ad2a7fd",
"body": "Release for v0.25.0",
"is_bot": false,
"headline": "Merge pull request #152 from k1LoW/tagpr-from-v0.24.0",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-02-19T23:57:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2a95cc8ea476f981f18fd2604249e5ff41a63979",
"body": null,
"is_bot": true,
"headline": "[tagpr] update CHANGELOG.md",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-02-19T23:55:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e7dd9869933eaec0a4e83ab90023dd76d6cb486a",
"body": null,
"is_bot": true,
"headline": "[tagpr] prepare for the next release",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-02-19T23:55:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "56567b0cdf9be012b73cc18c7ae6baacc5ed478c",
"body": "Add exclude-test: true for errorstrings in .gostyle.yml and remove\nall //nostyle:errorstrings inline comments from test files.",
"is_bot": false,
"headline": "chore: exclude test files from gostyle errorstrings analyzer",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-02-19T23:54:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fdfc8a1a1b294824e1c50f1a5347f800b0f7b897",
"body": "- Move runGitWtWithStderr to helper_test.go for shared access\n- Replace manual git add/commit blocks with commitUnmergedChange helper in delete_test.go\n- Convert shell-variant subtests (bash/zsh/fish) to table-driven style in config_test.go\n- Apply gofmt formatting to basic_test.go",
"is_bot": false,
"headline": "refactor: improve e2e test consistency",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-02-19T23:47:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5776f945cadbfaf3c91cfb6a44649e86abd6dc63",
"body": "…characters",
"is_bot": false,
"headline": "fix: use rune-based truncation in truncateString to handle multibyte …",
"author_name": "k1LoW",
"author_login": "k1LoW",
"committed_at": "2026-02-19T23:36:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fb76d5276886d3545149370e76cce84e0ab9d8a1",
"body": "feat: support delete operation in bare repositories",
"is_bot": false,
"headline": "Merge pull request #150 from usadamasa/support-delete-in-bare",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-02-19T23:29:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7b677d05ae48b87a721d539871c0a0a8a6353f89",
"body": "…cies-0f2c95f107\n\nchore(deps): bump Songmu/tagpr from 1.15.0 to 1.17.0 in the dependencies group",
"is_bot": false,
"headline": "Merge pull request #151 from k1LoW/dependabot/github_actions/dependen…",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-02-19T23:23:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "df45361537a598b24688838a8d904016cd0cef1c",
"body": "Bumps the dependencies group with 1 update: [Songmu/tagpr](https://github.com/songmu/tagpr).\n\n\nUpdates `Songmu/tagpr` from 1.15.0 to 1.17.0\n- [Release notes](https://github.com/songmu/tagpr/releases)\n- [Changelog](https://github.com/Songmu/tagpr/blob/main/CHANGELOG.md)\n- [Commits](https://github.com\n[…]\nr\n dependency-version: 1.17.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump Songmu/tagpr in the dependencies group",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-02-19T23:08:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b00d8ba8e54a1421485a2ad177b2386ef92ff1c4",
"body": null,
"is_bot": false,
"headline": "feat: support delete operation in bare repositories",
"author_name": "usadamasa",
"author_login": "usadamasa",
"committed_at": "2026-02-19T12:37:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8721c99f67ec7319a493190a833eee917214c5f",
"body": null,
"is_bot": false,
"headline": "Merge pull request #149 from k1LoW/tagpr-from-v0.23.0",
"author_name": "Ken’ichiro Oyama",
"author_login": "k1LoW",
"committed_at": "2026-02-17T11:27:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fc358f41c865fb33677ff4207a6569c85e7f5aa6",
"body": null,
"is_bot": true,
"headline": "[tagpr] update CHANGELOG.md",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-02-17T10:58:09Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 48,
"commits_last_year": 442,
"latest_release_at": "2026-06-04T06:45:24Z",
"latest_release_tag": "v0.29.0",
"releases_from_tags": false,
"days_since_last_push": 1,
"active_weeks_last_year": 27,
"days_since_latest_release": 50,
"mean_days_between_releases": 12
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 42,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "github.com/k1LoW/git-wt",
"exists": true,
"license": null,
"keywords": [],
"ecosystem": "go",
"matches_repo": true,
"registry_url": "https://pkg.go.dev/github.com/k1LoW/git-wt",
"is_deprecated": false,
"latest_version": "v0.29.0",
"repository_url": "https://github.com/k1LoW/git-wt",
"versions_count": 48,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-06-04T06:43:52Z",
"latest_version_yanked": null,
"days_since_latest_publish": 50
}
]
},
"popularity": {
"forks": 22,
"stars": 546,
"watchers": 1,
"fork_history": {
"days": [
{
"date": "2025-12-27",
"count": 1
},
{
"date": "2025-12-30",
"count": 1
},
{
"date": "2025-12-31",
"count": 2
},
{
"date": "2026-01-04",
"count": 2
},
{
"date": "2026-01-08",
"count": 1
},
{
"date": "2026-01-20",
"count": 1
},
{
"date": "2026-01-21",
"count": 1
},
{
"date": "2026-01-25",
"count": 1
},
{
"date": "2026-02-03",
"count": 1
},
{
"date": "2026-02-11",
"count": 1
},
{
"date": "2026-02-12",
"count": 1
},
{
"date": "2026-02-20",
"count": 1
},
{
"date": "2026-03-09",
"count": 1
},
{
"date": "2026-03-18",
"count": 1
},
{
"date": "2026-03-24",
"count": 1
},
{
"date": "2026-04-07",
"count": 1
},
{
"date": "2026-04-18",
"count": 1
},
{
"date": "2026-05-10",
"count": 1
},
{
"date": "2026-06-24",
"count": 1
},
{
"date": "2026-06-25",
"count": 1
}
],
"complete": true,
"collected": 22,
"total_forks": 22
},
"star_history": null,
"open_issues_and_prs": 10
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [
"Makefile"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"go.mod"
],
"largest_source_bytes": 46378,
"source_files_sampled": 28,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"go.mod"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "golang.org/x/net",
"direct": false,
"version": "v0.55.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5942"
],
"fixed_version": "0.56.0",
"advisory_count": 1,
"oldest_advisory_days": 10
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"unknown": 1
},
"advisory_count": 1,
"affected_count": 1,
"assessed_count": 22,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"go"
],
"dependencies": [
{
"name": "github.com/go-git/go-git/v5",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v5.19.1"
},
{
"name": "github.com/k1LoW/exec",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.5.0"
},
{
"name": "github.com/olekukonko/tablewriter",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.1.4"
},
{
"name": "github.com/spf13/cobra",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.10.2"
},
{
"name": "golang.org/x/sys",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.45.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "github.com/go-git/go-git/v5",
"direct": true,
"version": "v5.19.1",
"ecosystem": "go"
},
{
"name": "github.com/k1low/exec",
"direct": true,
"version": "v0.5.0",
"ecosystem": "go"
},
{
"name": "github.com/olekukonko/tablewriter",
"direct": true,
"version": "v1.1.4",
"ecosystem": "go"
},
{
"name": "github.com/spf13/cobra",
"direct": true,
"version": "v1.10.2",
"ecosystem": "go"
},
{
"name": "golang.org/x/sys",
"direct": true,
"version": "v0.45.0",
"ecosystem": "go"
},
{
"name": "github.com/cespare/xxhash/v2",
"direct": false,
"version": "v2.3.0",
"ecosystem": "go"
},
{
"name": "github.com/clipperhouse/displaywidth",
"direct": false,
"version": "v0.10.0",
"ecosystem": "go"
},
{
"name": "github.com/clipperhouse/uax29/v2",
"direct": false,
"version": "v2.6.0",
"ecosystem": "go"
},
{
"name": "github.com/fatih/color",
"direct": false,
"version": "v1.18.0",
"ecosystem": "go"
},
{
"name": "github.com/go-git/gcfg",
"direct": false,
"version": "v1.5.1-0.20230307220236-3a3c6141e376",
"ecosystem": "go"
},
{
"name": "github.com/go-git/go-billy/v5",
"direct": false,
"version": "v5.9.0",
"ecosystem": "go"
},
{
"name": "github.com/inconshreveable/mousetrap",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/jbenet/go-context",
"direct": false,
"version": "v0.0.0-20150711004518-d14ea06fba99",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-colorable",
"direct": false,
"version": "v0.1.14",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-isatty",
"direct": false,
"version": "v0.0.20",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-runewidth",
"direct": false,
"version": "v0.0.19",
"ecosystem": "go"
},
{
"name": "github.com/olekukonko/cat",
"direct": false,
"version": "v0.0.0-20250911104152-50322a0618f6",
"ecosystem": "go"
},
{
"name": "github.com/olekukonko/errors",
"direct": false,
"version": "v1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/olekukonko/ll",
"direct": false,
"version": "v0.1.6",
"ecosystem": "go"
},
{
"name": "github.com/spf13/pflag",
"direct": false,
"version": "v1.0.10",
"ecosystem": "go"
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "v0.55.0",
"ecosystem": "go"
},
{
"name": "gopkg.in/warnings.v0",
"direct": false,
"version": "v0.1.2",
"ecosystem": "go"
}
],
"collected": true,
"truncated": false,
"total_count": 22,
"direct_count": 5,
"indirect_count": 17
}
},
"maintainership": {
"issues": {
"open_prs": 5,
"merged_prs": 157,
"open_issues": 5,
"closed_ratio": 0.828,
"closed_issues": 24,
"closed_unmerged_prs": 14
},
"bus_factor": 1,
"bot_contributors": 2,
"top_contributors": [
{
"type": "User",
"login": "k1LoW",
"commits": 253,
"avatar_url": "https://avatars.githubusercontent.com/u/57114?v=4"
},
{
"type": "User",
"login": "dgrant",
"commits": 20,
"avatar_url": "https://avatars.githubusercontent.com/u/58302?v=4"
},
{
"type": "User",
"login": "usadamasa",
"commits": 12,
"avatar_url": "https://avatars.githubusercontent.com/u/513226?v=4"
},
{
"type": "User",
"login": "ryoppippi",
"commits": 6,
"avatar_url": "https://avatars.githubusercontent.com/u/1560508?v=4"
},
{
"type": "User",
"login": "osamu2001",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/19066?v=4"
},
{
"type": "User",
"login": "yoichi",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/107537?v=4"
},
{
"type": "User",
"login": "Songmu",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/177122?v=4"
},
{
"type": "User",
"login": "glasser",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/16724?v=4"
},
{
"type": "User",
"login": "shishi",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/341746?v=4"
},
{
"type": "User",
"login": "tksm",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/9250296?v=4"
}
],
"contributors_sampled": 12,
"top_contributor_share": 0.832
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yml",
"tagpr.yml",
"trivy.yml"
],
"has_docs_dir": false,
"linter_configs": [
".golangci.yml"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"go.sum"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 7,
"reason": "7 out of 9 merged PRs checked by a CI test -- score normalized to 7",
"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/1 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 14 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": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 10,
"reason": "all dependencies are pinned",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 0,
"reason": "Project has not signed or included provenance with any releases.",
"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": 9,
"reason": "1 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "54b3efff81b32b45c52384208efcbe74fefda99f",
"ran_at": "2026-07-24T23:49:52Z",
"aggregate_score": 5.3,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-23T23:04:40Z",
"oldest_open_prs": [
{
"number": 162,
"created_at": "2026-03-24T07:57:21Z",
"last_comment_at": "2026-03-29T05:05:59Z",
"last_comment_author": "Nymphium"
},
{
"number": 163,
"created_at": "2026-03-25T15:41:29Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 197,
"created_at": "2026-06-05T01:05:47Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 198,
"created_at": "2026-06-11T23:04:09Z",
"last_comment_at": "2026-07-04T05:51:37Z",
"last_comment_author": "github-actions"
},
{
"number": 205,
"created_at": "2026-07-23T23:04:37Z",
"last_comment_at": "2026-07-23T23:06:12Z",
"last_comment_author": "github-actions"
}
],
"last_merged_pr_at": "2026-07-04T05:48:23Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 122,
"created_at": "2026-02-08T10:15:42Z",
"last_comment_at": "2026-05-19T16:15:07Z",
"last_comment_author": "davinkevin"
},
{
"number": 155,
"created_at": "2026-02-26T01:27:19Z",
"last_comment_at": "2026-05-06T07:29:38Z",
"last_comment_author": "ras0q"
},
{
"number": 170,
"created_at": "2026-04-07T15:33:07Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 185,
"created_at": "2026-05-07T20:32:32Z",
"last_comment_at": "2026-05-14T06:47:12Z",
"last_comment_author": "tnagatomi"
},
{
"number": 203,
"created_at": "2026-07-10T09:42:57Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/k1LoW/git-wt",
"host": "github.com",
"name": "git-wt",
"owner": "k1LoW"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 69,
"inputs": {
"security": 62,
"vitality": 86,
"community": 53,
"governance": 67,
"engineering": 71
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 86,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 83,
"inputs": {
"commits_last_year": 442,
"human_commit_share": 0.62,
"days_since_last_push": 1,
"active_weeks_last_year": 27
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 1 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 1
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "27/52 weeks with commits",
"points": 18.7,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 27
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "442 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 442
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"releases_count": 48,
"latest_release_tag": "v0.29.0",
"releases_from_tags": false,
"days_since_latest_release": 50,
"mean_days_between_releases": 12
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "48 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 48
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 50 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 50
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~12 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 12
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"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": 20,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 20 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 20
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 53,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"forks": 22,
"stars": 546,
"watchers": 1,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "546 stars",
"points": 44.4,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 546
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "22 forks",
"points": 11,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 22
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "1 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 1
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": false,
"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": 0,
"status": "missed",
"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
}
]
}
],
"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": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 36,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 12,
"top_contributor_share": 0.832
},
"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 83% of commits",
"points": 3.8,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 83
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "12 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 12
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 14 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 74,
"inputs": {
"merged_prs": 157,
"open_issues": 5,
"closed_issues": 24,
"issue_closed_ratio": 0.828,
"closed_unmerged_prs": 14
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "83% of issues closed",
"points": 38.7,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 83
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "157/171 decided PRs merged",
"points": 35.1,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 157,
"decided": 171
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/1 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": 70,
"inputs": {
"followers": 749,
"owner_type": "User",
"is_verified": null,
"owner_login": "k1LoW",
"public_repos": 372,
"account_age_days": 6360
},
"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": "749 followers of k1LoW",
"points": 20.7,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 749,
"login": "k1LoW"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "372 public repos, account ~17 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 372
}
},
{
"code": "account_age_years",
"params": {
"years": 17
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"github.com/k1LoW/git-wt"
],
"ecosystems": "go",
"any_deprecated": false,
"min_days_since_publish": 50
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on go",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "go"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 50 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 50
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "48 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 48
}
}
],
"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": 71,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 78,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "3 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 3
}
}
],
"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": ".golangci.yml",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".golangci.yml"
}
}
],
"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": "7 out of 9 merged PRs checked by a CI test -- score normalized to 7",
"points": 14,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"topics": [
"git-worktree",
"git"
],
"has_wiki": true,
"homepage": null,
"has_readme": true,
"has_docs_dir": false,
"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": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "2 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 2
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 62,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": null,
"notes": [],
"value": 53,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 18,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 0,
"scorecard_aggregate": 5.3
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "7 out of 9 merged PRs checked by a CI test -- score normalized to 7",
"points": 1.8,
"status": "partial",
"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/1 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 14 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": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "all dependencies are pinned",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"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": "1 existing vulnerabilities detected",
"points": 6.8,
"status": "partial",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 22 resolved dependencies against OSV. 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",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 22
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 1,
"affected_packages": 1,
"assessed_packages": 22,
"unassessed_packages": 0,
"affected_by_severity": "unknown 1",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "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": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"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": 22,
"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": 25
},
"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": 75,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 1,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"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": "62 of 62 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 62,
"sampled": 62
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "excellent",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum"
],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [
"Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0.01,
"toolchain_manifests": [
"go.mod"
],
"dependency_bot_commit_share": 0.23
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Makefile"
}
}
],
"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": ".golangci.yml",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".golangci.yml"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Go (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"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": "1 of the last 100 commits agent-authored or agent-credited",
"points": 2,
"status": "partial",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 1,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "23 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 23,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "all dependencies are pinned",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "Go",
"largest_source_bytes": 46378,
"source_files_sampled": 28,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Go (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/28 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 28,
"oversized": 0
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-24T23:50:14.100227Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/k/k1LoW/git-wt.svg",
"full_name": "k1LoW/git-wt",
"license_state": "standard",
"license_spdx": "MIT"
}