Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Duplication of dependencies

オープン
#47 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
typescript
領域
tooling

調査の方向性

issue にはソースファイルやテストが指定されていません。まず、起動時の設定読み込みと .opencode ディレクトリを作成するコードを追跡し、次に JFROG_DEBUG_LOGS と XDG ベースディレクトリのパスがどのように解決されるかを確認してください。無効なロギングではディレクトリが作成されず、有効なログでは要求された XDG の場所が使用され、繰り返し実行しても重複した依存関係が作成されなければ完了です。

索引モデルが issue の本文から書いたものです。

説明

Whether JFROG_DEBUG_LOGS is enabled or not upon 1st run it creates empty .opencode directory from within path where opencode was run. Despite existence of ~/.config/opencode. On 2nd run opencode detects there is .opencode directory present and populates it with duplicate node_modules which results in slower startups, and higher disk usage.

If DEBUG_LOGS is enabled it at least has some meaning that it puts event-log.txt into it however that isn't necessary. You should respect xdg base dir spec and put logs according to variable to opencodes path (for example ~/.local/share/opencode/log/jfrog-event.log).

I append logs but it isn't certain from them (at least to me) why is .opencode being created when no LOGS=false
1st run

timestamp=2026-09-02T11:56:18.837Z level=INFO run=e19a753c message="loading tui config" path=/home/daru/.config/opencode/tui.json
timestamp=2026-09-02T11:56:18.846Z level=INFO run=e19a753c message="applying tui config" path=/home/daru/.config/opencode/tui.json order=1
timestamp=2026-09-02T11:56:18.847Z level=INFO run=e19a753c message="loading tui config" path=/home/daru/.config/opencode/tui.json
timestamp=2026-09-02T11:56:18.850Z level=INFO run=e19a753c message="applying tui config" path=/home/daru/.config/opencode/tui.json order=2
timestamp=2026-09-02T11:56:20.396Z level=INFO run=0bff64d9 message="creating instance" directory=/home/daru/.config/opencode
timestamp=2026-09-02T11:56:20.398Z level=INFO run=0bff64d9 message=fromDirectory directory=/home/daru/.config/opencode
timestamp=2026-09-02T11:56:20.576Z level=INFO run=0bff64d9 message=bootstrapping directory=/home/daru/.config/opencode
timestamp=2026-09-02T11:56:20.587Z level=INFO run=0bff64d9 message=loading path=/home/daru/.config/opencode/config.json
timestamp=2026-09-02T11:56:20.588Z level=INFO run=0bff64d9 message=loading path=/home/daru/.config/opencode/opencode.json
timestamp=2026-09-02T11:56:20.588Z level=INFO run=0bff64d9 message=loading path=/home/daru/.config/opencode/opencode.jsonc
timestamp=2026-09-02T11:56:20.618Z level=INFO run=0bff64d9 message=loading path=/home/daru/.config/opencode/opencode.jsonc
timestamp=2026-09-02T11:56:20.812Z level=INFO run=0bff64d9 message="Model discovery plugin initialized" category=plugin
timestamp=2026-09-02T11:56:20.823Z level=DEBUG run=0bff64d9 message="Using config hook timeout" category=config timeoutMs=5000
timestamp=2026-09-02T11:56:21.089Z level=DEBUG run=0bff64d9 message="Timed out loading resolved providers" category=discovery
timestamp=2026-09-02T11:56:21.237Z level=WARN run=0bff64d9 message="Provider model discovery failed" category=discovery provider=hento baseURL=https://ai.hento.org endpoint=/v1/models
timestamp=2026-09-02T11:56:21.237Z level=INFO run=0bff64d9 message="Provider model discovery completed" category=discovery providerCount=1 modelCount=25
timestamp=2026-09-02T11:56:21.240Z level=INFO run=0bff64d9 message="enabled LSP servers" serverIds="astro, bash, biome, csharp, clangd, clojure-lsp, dart, deno, dockerfile, eslint, elixir-ls, fsharp, gleam, gopls, haskell-language-server, jdtls, julials, kotlin-ls, lua-ls, nixd, ocaml-lsp, oxlint, php intelephense, prisma, pyright, razor, ruby-lsp, rust, sourcekit-lsp, svelte, terraform, texlab, tinymist, typescript, vue, yaml-ls, zls"
timestamp=2026-09-02T11:56:21.242Z level=INFO run=0bff64d9 message=init
timestamp=2026-09-02T11:56:21.941Z level=INFO run=0bff64d9 message="watcher backend" directory=/home/daru/.config/opencode platform=linux backend=inotify
timestamp=2026-09-02T11:56:21.954Z level=INFO run=0bff64d9 message="project copy refresh started" projectID=f05bfbe824f971b17ef9a078fd746faec4ec945f
timestamp=2026-09-02T11:56:22.455Z level=INFO run=0bff64d9 message="project copy refresh done" projectID=f05bfbe824f971b17ef9a078fd746faec4ec945f updated=[] removed=[]
timestamp=2026-09-02T11:56:22.479Z level=INFO run=0bff64d9 message="booting location services" directory=/home/daru/.config/opencode workspaceID=undefined
timestamp=2026-09-02T11:56:23.876Z level=INFO run=0bff64d9 message="watcher backend" directory=/home/daru/.config/opencode platform=linux backend=inotify
timestamp=2026-09-02T11:56:23.886Z level=INFO run=0bff64d9 message="project copy refresh started" projectID=f05bfbe824f971b17ef9a078fd746faec4ec945f
timestamp=2026-09-02T11:56:24.735Z level=INFO run=0bff64d9 message="project copy refresh done" projectID=f05bfbe824f971b17ef9a078fd746faec4ec945f updated=[] removed=[]
timestamp=2026-09-02T11:56:24.748Z level=INFO run=0bff64d9 message="booting location services" directory=/home/daru/.config/opencode workspaceID=undefined
timestamp=2026-09-02T11:56:26.815Z level=WARN run=0bff64d9 message="duplicate skill name" name=cloudflare-email-service existing=/home/daru/.claude/skills/cloudflare-email-service/SKILL.md duplicate=/home/daru/.agents/skills/cloudflare-email-service/SKILL.md
timestamp=2026-09-02T11:56:26.816Z level=WARN run=0bff64d9 message="duplicate skill name" name=agents-sdk existing=/home/daru/.claude/skills/agents-sdk/SKILL.md duplicate=/home/daru/.agents/skills/agents-sdk/SKILL.md
timestamp=2026-09-02T11:56:26.816Z level=WARN run=0bff64d9 message="duplicate skill name" name=web-perf existing=/home/daru/.claude/skills/web-perf/SKILL.md duplicate=/home/daru/.agents/skills/web-perf/SKILL.md
timestamp=2026-09-02T11:56:26.816Z level=WARN run=0bff64d9 message="duplicate skill name" name=turnstile-spin existing=/home/daru/.claude/skills/turnstile-spin/SKILL.md duplicate=/home/daru/.agents/skills/turnstile-spin/SKILL.md
timestamp=2026-09-02T11:56:26.816Z level=WARN run=0bff64d9 message="duplicate skill name" name=sandbox-next existing=/home/daru/.claude/skills/sandbox-next/SKILL.md duplicate=/home/daru/.agents/skills/sandbox-next/SKILL.md
timestamp=2026-09-02T11:56:26.816Z level=WARN run=0bff64d9 message="duplicate skill name" name=wrangler existing=/home/daru/.claude/skills/wrangler/SKILL.md duplicate=/home/daru/.agents/skills/wrangler/SKILL.md
timestamp=2026-09-02T11:56:26.817Z level=WARN run=0bff64d9 message="duplicate skill name" name=cloudflare-one-migrations existing=/home/daru/.claude/skills/cloudflare-one-migrations/SKILL.md duplicate=/home/daru/.agents/skills/cloudflare-one-migrations/SKILL.md
timestamp=2026-09-02T11:56:26.817Z level=WARN run=0bff64d9 message="duplicate skill name" name=sandbox-migrate-to-next existing=/home/daru/.claude/skills/sandbox-migrate-to-next/SKILL.md duplicate=/home/daru/.agents/skills/sandbox-migrate-to-next/SKILL.md
timestamp=2026-09-02T11:56:26.817Z level=WARN run=0bff64d9 message="duplicate skill name" name=sandbox-stable existing=/home/daru/.claude/skills/sandbox-stable/SKILL.md duplicate=/home/daru/.agents/skills/sandbox-stable/SKILL.md
timestamp=2026-09-02T11:56:26.817Z level=WARN run=0bff64d9 message="duplicate skill name" name=durable-objects existing=/home/daru/.claude/skills/durable-objects/SKILL.md duplicate=/home/daru/.agents/skills/durable-objects/SKILL.md
timestamp=2026-09-02T11:56:26.817Z level=WARN run=0bff64d9 message="duplicate skill name" name=cloudflare-one existing=/home/daru/.claude/skills/cloudflare-one/SKILL.md duplicate=/home/daru/.agents/skills/cloudflare-one/SKILL.md
timestamp=2026-09-02T11:56:26.817Z level=WARN run=0bff64d9 message="duplicate skill name" name=workers-best-practices existing=/home/daru/.claude/skills/workers-best-practices/SKILL.md duplicate=/home/daru/.agents/skills/workers-best-practices/SKILL.md
timestamp=2026-09-02T11:56:26.817Z level=WARN run=0bff64d9 message="duplicate skill name" name=cloudflare existing=/home/daru/.claude/skills/cloudflare/SKILL.md duplicate=/home/daru/.agents/skills/cloudflare/SKILL.md
timestamp=2026-09-02T11:56:26.819Z level=INFO run=0bff64d9 message=init count=27

2nd run

timestamp=2026-09-02T11:57:47.868Z level=INFO run=b6840543 message="loading tui config" path=/home/daru/.config/opencode/tui.json
timestamp=2026-09-02T11:57:47.874Z level=INFO run=b6840543 message="applying tui config" path=/home/daru/.config/opencode/tui.json order=1
timestamp=2026-09-02T11:57:47.875Z level=INFO run=b6840543 message="loading tui config" path=/home/daru/.config/opencode/tui.json
timestamp=2026-09-02T11:57:47.877Z level=INFO run=b6840543 message="applying tui config" path=/home/daru/.config/opencode/tui.json order=2
timestamp=2026-09-02T11:57:49.010Z level=INFO run=89886042 message="creating instance" directory=/home/daru/.config/opencode
timestamp=2026-09-02T11:57:49.011Z level=INFO run=89886042 message=fromDirectory directory=/home/daru/.config/opencode
timestamp=2026-09-02T11:57:49.123Z level=INFO run=89886042 message=bootstrapping directory=/home/daru/.config/opencode
timestamp=2026-09-02T11:57:49.131Z level=INFO run=89886042 message=loading path=/home/daru/.config/opencode/config.json
timestamp=2026-09-02T11:57:49.131Z level=INFO run=89886042 message=loading path=/home/daru/.config/opencode/opencode.json
timestamp=2026-09-02T11:57:49.132Z level=INFO run=89886042 message=loading path=/home/daru/.config/opencode/opencode.jsonc
timestamp=2026-09-02T11:57:49.148Z level=INFO run=89886042 message=loading path=/home/daru/.config/opencode/opencode.jsonc
timestamp=2026-09-02T11:57:49.171Z level=DEBUG run=89886042 message="loading config from /home/daru/.config/opencode/.opencode/opencode.json"
timestamp=2026-09-02T11:57:49.172Z level=INFO run=89886042 message=loading path=/home/daru/.config/opencode/.opencode/opencode.json
timestamp=2026-09-02T11:57:49.172Z level=DEBUG run=89886042 message="loading config from /home/daru/.config/opencode/.opencode/opencode.jsonc"
timestamp=2026-09-02T11:57:49.172Z level=INFO run=89886042 message=loading path=/home/daru/.config/opencode/.opencode/opencode.jsonc
timestamp=2026-09-02T11:57:56.124Z level=INFO run=89886042 message="Model discovery plugin initialized" category=plugin
timestamp=2026-09-02T11:57:56.131Z level=DEBUG run=89886042 message="Using config hook timeout" category=config timeoutMs=5000
timestamp=2026-09-02T11:57:56.421Z level=DEBUG run=89886042 message="Timed out loading resolved providers" category=discovery
timestamp=2026-09-02T11:57:56.566Z level=WARN run=89886042 message="Provider model discovery failed" category=discovery provider=hento baseURL=https://ai.hento.org endpoint=/v1/models
timestamp=2026-09-02T11:57:56.566Z level=INFO run=89886042 message="Provider model discovery completed" category=discovery providerCount=1 modelCount=25
timestamp=2026-09-02T11:57:56.569Z level=INFO run=89886042 message="enabled LSP servers" serverIds="astro, bash, biome, csharp, clangd, clojure-lsp, dart, deno, dockerfile, eslint, elixir-ls, fsharp, gleam, gopls, haskell-language-server, jdtls, julials, kotlin-ls, lua-ls, nixd, ocaml-lsp, oxlint, php intelephense, prisma, pyright, razor, ruby-lsp, rust, sourcekit-lsp, svelte, terraform, texlab, tinymist, typescript, vue, yaml-ls, zls"
timestamp=2026-09-02T11:57:56.571Z level=INFO run=89886042 message=init
timestamp=2026-09-02T11:57:57.195Z level=INFO run=89886042 message="watcher backend" directory=/home/daru/.config/opencode platform=linux backend=inotify
timestamp=2026-09-02T11:57:57.204Z level=INFO run=89886042 message="project copy refresh started" projectID=f05bfbe824f971b17ef9a078fd746faec4ec945f
timestamp=2026-09-02T11:57:57.656Z level=INFO run=89886042 message="project copy refresh done" projectID=f05bfbe824f971b17ef9a078fd746faec4ec945f updated=[] removed=[]
timestamp=2026-09-02T11:57:57.667Z level=INFO run=89886042 message="booting location services" directory=/home/daru/.config/opencode workspaceID=undefined
timestamp=2026-09-02T11:57:58.680Z level=INFO run=89886042 message="watcher backend" directory=/home/daru/.config/opencode platform=linux backend=inotify
timestamp=2026-09-02T11:57:58.688Z level=INFO run=89886042 message="project copy refresh started" projectID=f05bfbe824f971b17ef9a078fd746faec4ec945f
timestamp=2026-09-02T11:57:59.317Z level=INFO run=89886042 message="project copy refresh done" projectID=f05bfbe824f971b17ef9a078fd746faec4ec945f updated=[] removed=[]
timestamp=2026-09-02T11:57:59.323Z level=INFO run=89886042 message="booting location services" directory=/home/daru/.config/opencode workspaceID=undefined
timestamp=2026-09-02T11:58:01.747Z level=WARN run=89886042 message="duplicate skill name" name=cloudflare-email-service existing=/home/daru/.claude/skills/cloudflare-email-service/SKILL.md duplicate=/home/daru/.agents/skills/cloudflare-email-service/SKILL.md
timestamp=2026-09-02T11:58:01.748Z level=WARN run=89886042 message="duplicate skill name" name=web-perf existing=/home/daru/.claude/skills/web-perf/SKILL.md duplicate=/home/daru/.agents/skills/web-perf/SKILL.md
timestamp=2026-09-02T11:58:01.749Z level=WARN run=89886042 message="duplicate skill name" name=durable-objects existing=/home/daru/.claude/skills/durable-objects/SKILL.md duplicate=/home/daru/.agents/skills/durable-objects/SKILL.md
timestamp=2026-09-02T11:58:01.750Z level=WARN run=89886042 message="duplicate skill name" name=sandbox-next existing=/home/daru/.claude/skills/sandbox-next/SKILL.md duplicate=/home/daru/.agents/skills/sandbox-next/SKILL.md
timestamp=2026-09-02T11:58:01.751Z level=WARN run=89886042 message="duplicate skill name" name=agents-sdk existing=/home/daru/.claude/skills/agents-sdk/SKILL.md duplicate=/home/daru/.agents/skills/agents-sdk/SKILL.md
timestamp=2026-09-02T11:58:01.752Z level=WARN run=89886042 message="duplicate skill name" name=cloudflare-one existing=/home/daru/.claude/skills/cloudflare-one/SKILL.md duplicate=/home/daru/.agents/skills/cloudflare-one/SKILL.md
timestamp=2026-09-02T11:58:01.752Z level=WARN run=89886042 message="duplicate skill name" name=sandbox-stable existing=/home/daru/.claude/skills/sandbox-stable/SKILL.md duplicate=/home/daru/.agents/skills/sandbox-stable/SKILL.md
timestamp=2026-09-02T11:58:01.752Z level=WARN run=89886042 message="duplicate skill name" name=cloudflare-one-migrations existing=/home/daru/.claude/skills/cloudflare-one-migrations/SKILL.md duplicate=/home/daru/.agents/skills/cloudflare-one-migrations/SKILL.md
timestamp=2026-09-02T11:58:01.753Z level=WARN run=89886042 message="duplicate skill name" name=turnstile-spin existing=/home/daru/.claude/skills/turnstile-spin/SKILL.md duplicate=/home/daru/.agents/skills/turnstile-spin/SKILL.md
timestamp=2026-09-02T11:58:01.753Z level=WARN run=89886042 message="duplicate skill name" name=wrangler existing=/home/daru/.claude/skills/wrangler/SKILL.md duplicate=/home/daru/.agents/skills/wrangler/SKILL.md
timestamp=2026-09-02T11:58:01.753Z level=WARN run=89886042 message="duplicate skill name" name=cloudflare existing=/home/daru/.claude/skills/cloudflare/SKILL.md duplicate=/home/daru/.agents/skills/cloudflare/SKILL.md
timestamp=2026-09-02T11:58:01.753Z level=WARN run=89886042 message="duplicate skill name" name=workers-best-practices existing=/home/daru/.claude/skills/workers-best-practices/SKILL.md duplicate=/home/daru/.agents/skills/workers-best-practices/SKILL.md
timestamp=2026-09-02T11:58:01.754Z level=WARN run=89886042 message="duplicate skill name" name=sandbox-migrate-to-next existing=/home/daru/.claude/skills/sandbox-migrate-to-next/SKILL.md duplicate=/home/daru/.agents/skills/sandbox-migrate-to-next/SKILL.md
timestamp=2026-09-02T11:58:01.757Z level=INFO run=89886042 message=init count=27

event-log when LOGS=true, there was no event-log when false

JfrogOpencodePlugin starting...
jf CLI on PATH: false
config.skills.paths=["/home/daru/.cache/opencode/packages/@jfrog/[email protected]/node_modules/@jfrog/opencode-jfrog-plugin/skills"]
mcp: jfrog remote MCP not registered (need JFROG_PLATFORM_URL; or JFROG_MCP_DISABLE=true)
主要言語
TypeScript
スター
1
フォーク
1
平均マージ
5日 13時間
マージ済み PR(30日)
3

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。