Issue #537 renamed every gitissue identifier to idd. Repositories set up
before the rename keep working: each reader falls back to the legacy name and
prints a ⚠ line that tells you to rename. This page lists what changed, what
keeps working, and how to move over.
This is a project doc for people. No skill reads it at run time.
- Config. With no
.idd.yml, the legacy.gitissue.ymlis read in its place and a⚠ legacy .gitissue.yml found — rename to .idd.ymlline is printed. When both files exist,.idd.ymlwins and the warning still prints. - Trusted policy and recipe on the base branch. The pre-commit scan's
--policy-refreads<ref>:.idd.ymland falls back to<ref>:.gitissue.ymlonly when the new file is absent at that ref. The verification recipe does the same with.idd-recipe.jsonand.gitissue-recipe.json. - Borrowed-skill teardown accepts either marker file and still refuses to delete a directory that carries neither.
- Markers. New issues and PRs get
idd:markers. Markers already on existing issues and PRs are still read, and both namespaces count together. A PR body with onegitissue:qaand oneidd:qamarker carries two markers, so its QA handoff reads as stale. - Run state. When
.idd/holds no run state,gi-state.pymoves a legacy.gitissue/run.lock,run-state.jsonandlast-run-report.mdinto.idd/once and prints one⚠ migratedline per file. A legacy lock whose owner is still running blocks the new run, and nothing is moved.
Upgrade every client before you rename the files. That means every plugin or
asm install, every teammate's machine, and every CI job that runs the skills.
An old client reads only .gitissue.yml, so after the rename it falls back to
default settings. If it runs the pre-commit scan, it also loses your
security: rules.
If you can't upgrade every client at once, keep both files for one release. Both-present is supported and the new name wins.
Shadowing. Adding .idd.yml next to .gitissue.yml replaces the legacy
file entirely, security: block included. Nothing is merged across the two
files. Copy every key you rely on before you add the new file.
- Upgrade the skills so that
init-iddreplacesinit-gitissue:- Plugin:
claude plugin marketplace update idd, thenclaude plugin update idd@idd. The update replaces the whole skill set, soinit-gitissuegoes away on its own. asm:asm install https://github.com/luongnv89/idd, thenasm uninstall init-gitissue. Reinstalling addsinit-iddbut leaves the old skill in place.npx skillsor a manual copy: installinit-iddthe same way, then delete the oldinit-gitissuefolder from your skills directory.
- Plugin:
- Rename the config:
git mv .gitissue.yml .idd.yml. Alternatively, run/init-idd. It treats a legacy-only.gitissue.ymlas the existing config, and merge writes.idd.ymlwith every key kept. Then rungit rm .gitissue.yml. - Rename the recipe, if you have one:
git mv .gitissue-recipe.json .idd-recipe.json. - Mirror your ignore lines. For every
.gitissue/<x>line in.gitignore, add.idd/<x>; for a whole-directory.gitissue/(or.gitissue) line, add.idd/(or.idd). Re-running/init-idddoes this for you and also adds.idd/cache/. It never adds a line twice. - Clear out
.gitissue/. Its files are machine-local. Onlyruns.jsonl(the run log) andrun-state.json(an unfinished auto-pilot run) are worth moving into.idd/. Everything else is regenerated, andgi-state.pymigrates run state for you. Delete the rest. - Delete
~/.cache/gitissue/. The model-suggestion cache rebuilds under~/.cache/idd/.
Once every client is upgraded, you can remove the legacy .gitissue/ lines
from .gitignore.
