Skip to content

Rename user-facing .onevcat.json settings files to a neutral name #751

Description

@onevcat

Background

The fork stores its own data separately from upstream's settings.json so upstream syncs never conflict:

  • ~/.prowl/global.onevcat.jsonUserGlobalSettings: custom commands, agent profiles, didSeedAgentProfiles, and since R2a disabledWorkflowIDs / workflowBindings
  • ~/.prowl/repo/<repo>/prowl.onevcat.json — per-repo custom commands, disabledGlobalCommandIDs, agent-profile memory

The .onevcat. infix dates from the fork's personal-customization era (76046bc, February 2026, originally supacode.onevcat.json at the repo root; renamed during the rebrand). Prowl now ships public releases (GitHub Releases, Sparkle appcast, Prowl-Site), and the data in these files is core feature state, not personal customization — a file named after one person in every user's ~/.prowl/ is wrong.

Proposal

Keep the split-from-upstream design; only rename:

  • global.onevcat.jsonglobal.user.json
  • prowl.onevcat.jsonprowl.user.json

(final names open to bikeshedding)

Migration

Same shape as the supacode.onevcat.jsonprowl.onevcat.json legacy migration (ea9259f / rebrand): read falls back to the old filename when the new one is absent; first save writes the new name. Keep the fallback for at least one release cycle.

Scope

  • supacode/Support/SupacodePaths.swift (userGlobalSettingsURL, repo settings paths, legacy fallbacks)
  • Tests for the migration fallback
  • docs/reference/settings-fields.md on-disk locations table (+ any other docs naming the files)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions