Help us improve
Share bugs, ideas, or general feedback.
npx claudepluginhub MH4GF/issync論点駆動開発のためのツール群
Share bugs, ideas, or general feedback.
CLI tool to sync text between GitHub Issue comments and local files, enabling AI-driven development workflows.
issync allows AI agents to maintain living documentation (like plan.md) in GitHub Issues as a single source of truth. Multiple local sessions (git worktrees, Devin, Claude Code, etc.) can read and write to the same document concurrently without git conflicts.
Core Features:
npm install -g @mh4gf/issync
Requirements:
repo scopeexport GITHUB_TOKEN=$(gh auth token) # Using GitHub CLI
# or
export GITHUB_TOKEN=ghp_your_token_here
# Link a GitHub Issue to a local file
issync init https://github.com/owner/repo/issues/123 --file docs/plan.md
# Create from template
issync init https://github.com/owner/repo/issues/123 --file docs/plan.md --template template.md
⚠️ IMPORTANT: Always start watch mode BEFORE editing files
issync watch
# With custom polling interval (default: 60s)
issync watch --interval 10
AI agents and editors can now read/edit the file normally. issync automatically syncs changes.
issync init <issue-url>Initialize sync for a GitHub Issue.
issync init https://github.com/owner/repo/issues/123 --file docs/plan.md
Options:
--file <path>: Local file path (default: .issync/docs/plan-{issue-number}.md)
.issync/docs/plan-123.md--template <path>: Create file from template if it doesn't existBehavior:
issync pullPull remote changes from GitHub Issue comment to local file.
issync pull
# Select specific sync target
issync pull --file docs/plan.md
issync pull --issue https://github.com/owner/repo/issues/123
Options:
--file <path>: Select sync target by local file path--issue <url>: Select sync target by issue URLissync pushPush local changes to GitHub Issue comment.
issync push
# Force push (skip optimistic lock check)
issync push --force
# Select specific sync target
issync push --file docs/plan.md
issync push --issue https://github.com/owner/repo/issues/123
Options:
--file <path>: Select sync target by local file path--issue <url>: Select sync target by issue URL--force: Skip optimistic lock check and force overwrite remote changes
git push --forceExample workflow with force:
# 1. Check remote content first
issync pull
# 2. Review the changes
cat docs/plan.md
# 3. If local is correct and you want to overwrite remote
issync push --force
issync openOpen the GitHub Issue in your browser for a synced file.
# Open issue (auto-select if only one sync)
issync open
# Select specific sync target
issync open --file docs/plan.md
issync open --issue https://github.com/owner/repo/issues/123
Options:
-f, --file <path>: Select sync target by local file path--issue <url>: Select sync target by issue URLBehavior:
openxdg-openstart--file or --issue optionissync watchStart watch mode (foreground process, press Ctrl+C to stop).
issync watch
# Custom polling interval (default: 30s)
issync watch --interval 10
# Select specific sync target
issync watch --file docs/plan.md
issync watch --issue https://github.com/owner/repo/issues/123
Options:
--interval <seconds>: Polling interval in seconds (default: 30, min: 1, max: 3600)--file <path>: Select sync target by local file path--issue <url>: Select sync target by issue URL