| 34 | const target = path.join(directory, file); |
| 35 | // Remove only the exact wrapper Citadel generated. Preserve user files and links. |
| 36 | const stat = fs.lstatSync(target); |
| 37 | if (stat.isFile() && !stat.isSymbolicLink() && fs.readFileSync(target, 'utf8') === generateDelegate(file)) { |
| 38 | fs.unlinkSync(target); |
| 39 | } |
| 40 | } |
| 41 | } |
| 42 | |
| 43 | const PLANNING_DIRS_BY_BUNDLE = Object.freeze({ |
| 44 | persistence: Object.freeze([ |
| 45 | '.planning', |
| 46 | '.planning/campaigns', |
| 47 | '.planning/campaigns/completed', |
| 48 | '.planning/discoveries', |
| 49 | '.planning/fleet', |
| 50 | '.planning/fleet/briefs', |
| 51 | '.planning/fleet/outputs', |
| 52 | '.planning/postmortems', |
| 53 | '.planning/research', |
| 54 | '.planning/screenshots', |