Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Phase 4] StickyNoteNodeカスタムコンポーネントと.codegraph.jsonへの永続化

Open
#27 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
58/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
typescript
Domain
desktop, frontend

Research direction

Start with src/webview/components/nodes/StickyNoteNode.tsx and trace AnnotationStore, the SAVE_ANNOTATION message, and extension startup loading. Confirm how canvas context-menu creation, deletion, and node state are handled before connecting the new component. Done means a note can be added, edited, colored, deleted, persisted to workspaceRoot/.codegraph.json, and restored after restarting VS Code.

Written by the indexing model from the issue text.

Description

phase-4 whiteboard

概要

キャンバス上に付箋ノードを追加・編集・削除でき、.codegraph.json に永続化されるホワイトボード基本機能を実装する。(MVPスコープ外だが次の優先タスク)

タスク

  • src/webview/components/nodes/StickyNoteNode.tsx を実装
    • <textarea> によるMarkdown入力(auto-resize)
    • 色選択(yellow / blue / green / pink / orange)
    • ダブルクリックで編集モード、クリック外で確定
  • キャンバス右クリックメニュー「付箋を追加」でStickyNoteを生成
  • SAVE_ANNOTATION メッセージで拡張ホストに送信
  • AnnotationStore が workspaceRoot/.codegraph.json に書き出し
  • 拡張起動時に .codegraph.json を読み込んでアノテーションを復元
  • 削除: 付箋ノードのDeleteキーまたは右クリック→削除

完了基準

付箋を追加→VS Codeを再起動→付箋が復元される。

工数目安

2.5日(StickyNoteNode 1.5d + 永続化 1d)

依存

Phase 3完了

Dominant language
TypeScript
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from qnaiv/codegraph

All issues in qnaiv/codegraph

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.