Skip to content

Move the RedSkills root from ~/.red-skills to ~/.red/skills #232

Description

@filipeforattini

Maintainer proposal. ~/.red-skills is the one RedDB state root that sits outside the ~/.red/ house.

What is already inside ~/.red/

Read from a provisioned machine:

~/.red/config.yaml
~/.red/redskilled/     the host-scoped execution daemon (bundles, credentials, projects, state)
~/.red/redcode/
~/.red/state/
~/.red/tmp/

And on the Windows side, the shared managed root is .../.red/dev/config. ~/.red-skills is the outlier, and it is the one people and tools most often have to name.

What the move touches

It is not a rename in one repo:

Repo References to .red-skills
red-dev (src/) ~154
red-skills ~35, including scripts/install.sh

Both write the tree, so a one-sided change splits the machine — see #229 for what happens when two writers disagree about one pointer. Existing machines also carry sets/, versions/, cache/, package-set.json and a live current that other things resolve through: the Claude marketplace is registered as a directory source at ~/.red-skills/current, PATH carries ~/.red-skills/current/plugins/*/bin, and the systemd unit for redskilled references bundles under ~/.red/redskilled/bundles.

What a real plan needs

  • A coordinated release across red-dev and red-skills; neither can land alone.
  • Migration of an existing ~/.red-skills, including re-registering the marketplace directory source and refreshing PATH entries, since a stale registration is exactly the Two owners write ~/.red-skills/current, and the standalone installer's target has no plugins/ #229 failure.
  • A period where both roots resolve, so a machine mid-upgrade is never broken.
  • A decision on whether ~/.red-skills becomes a symlink to the new root permanently or only through a deprecation window.

Suggested order

Land #229, #230 and #231 first. Those give the converge a single owner for the pointer, a check that the pointer matches the recorded set, and honest failure reporting — which is the machinery a path migration has to lean on. Migrating a pointer that two owners still fight over, with failures still swallowed, would break in new and quieter ways.

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

    enhancementNew feature or requestneeds-triageMaintainer needs to evaluate

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions