feat: repo config in .paradev/, .superset/ still read (SUPER-2984, SUPER-2986)
Merged
SA
2d ago+707+707+012345678901234567890123456789-398-398-012345678901234567890123456789
Finishes the user-facing side of the .superset → .paradev move (Linear SUPER-2984, SUPER-2986), after #9157 and #9158 moved the app home. Nobody has to change anything: repos configured in .superset/ keep working, and everything new says and uses .paradev.
Repo config folder
resolveProjectConfigDir(@superset/shared/project-config/dir) decides by the main config first:.paradev/if it hasconfig.tomlorconfig.json, else.superset/if it does; only then by the other config files (local overlays,ports.json,setup/teardown/run/start.sh); else.paradev/for new config. A strayports.jsonor local overlay in.paradev/therefore never hides a repo's.superset/config.toml, and a folder is never judged by existing alone, because pdev keeps its ownsettings.json,agents/andprompts/in<repo>/.paradev/.- Every reader and writer goes through it: host-service's TOML and v1 loaders,
<key>.shfallbacks, ports, the config editors and their.git/info/excludeentry, the desktop's v1 config, the copy into new worktrees, and the cloud's GitHub reads (.paradev/first, then.superset/). A repo configured in.superset/keeps being edited there, so a repo never ends up with config in both. - Files the app writes for agents (attachments and task prompts) go to
.paradev/attachments/, and every writer drops a self-ignoring.gitignorethere, so they never show up as repo changes. The transcript still recognizes.superset/attachments/so older messages keep rendering. An older desktop talking to an updated cloud box will show new attachments as plain tags until it updates. - The v1 worktree copy fills in missing config files when the worktree already has a
.paradev/(pdev's tracked files), and never copies attachments or task prompts.
Copy
- App strings (translated in every locale), CLI help, the setup-script prompts, the
setup,environmentandbrowserskills (plugin 0.3.3). - Docs: home paths are
~/.paradev, config is.paradev/with a note that.superset/still works, and two FAQ entries: where~/.supersetwent (including when the move is retried), and keeping or moving a repo's.superset/(merge into an existing.paradev/, update./.superset/paths). - READMEs and the compare pages. This repo's own
.superset/stays.
Verified
tscclean; tests: shared 1534, trpc 832, cli 474, agent-setup 434, host-service 2711, desktop 9037, all passing. New tests cover the folder rule (pdev-only.paradev/ignored,.paradev/preferred once it holds config), the config editor keeping a.superset/repo in place, the cloud reads, and old attachment paths.- In the dev desktop app (scratch
HOME): a project with a committed.superset/config.tomland a pdev-only.paradev/settings.jsonran its setup from.superset/in a new workspace; a new project's setup saved from Settings landed in.paradev/config.jsonand ran in a new workspace.