Skip to main content

Profile

Manage profiles — create, register, switch, and remove.

raid profile <subcommand>

raid p is a shorthand alias for raid profile.

Subcommands

SubcommandDescription
raid profile createInteractive wizard to create a new profile
raid profile add <path|url>Register an existing profile file
raid profile listList all registered profiles
raid profile <name>Switch the active profile
raid profile remove <name>Remove a registered profile

Examples

Create a new profile interactively:

raid profile create

Add a profile from a local file:

raid profile add ./my-profile.yaml

Add a repo config (raid.yaml) as a single-repo profile — useful for projects that ship only a raid.yaml without a wrapping profile file. The profile is named after the raid.yaml's name field:

raid profile add ./raid.yaml
raid profile <name> # activate using the raid.yaml's name

Add a profile from a git repository — raid shallow-clones it and imports *.raid.yaml, *.raid.yml, and profile.json files found at the root. If none of those match, raid falls back to any plain .yaml / .yml / .json at the root, so a single-file gist (or scratch repo) with profile.yaml or myprofile.yml works without renaming:

raid profile add https://github.com/my-org/raid-profiles
raid profile add [email protected]:my-org/raid-profiles.git
raid profile add https://gist.github.com/<user>/<id> # gist with profile.yaml

Add a profile from a raw file URL (HTTP/HTTPS URL ending in .yaml, .yml, or .json) — handy for the gist "Raw" link, where the filename inside the gist doesn't matter:

raid profile add https://example.com/team-profile.yaml
raid profile add https://raw.githubusercontent.com/my-org/repo/main/team.raid.yaml
raid profile add https://gist.githubusercontent.com/<user>/<id>/raw/<sha>/profile.yaml

URL type detection. Raid picks the right strategy automatically:

URL formStrategy
git@… prefix or .git suffixGit clone
HTTP/HTTPS ending in .yaml / .yml / .jsonDirect download
Any other HTTP/HTTPS URLProbed with git ls-remote; cloned if it responds, otherwise downloaded

Profiles fetched from a URL are saved to ~/<name>.raid.yaml and registered automatically. If no active profile is set, the first imported profile becomes active.

List all profiles and see which is active:

raid profile list

Switch to a different profile:

raid profile my-team

Remove a profile:

raid profile remove my-team

JSON output

raid profile list accepts --json for scriptable, machine-readable output. The result is an array of objects with name, path, and a boolean active flag for the currently selected profile.

raid profile list --json
[
{ "name": "team", "path": "/Users/me/team.raid.yaml", "active": true },
{ "name": "personal", "path": "/Users/me/personal.raid.yaml", "active": false }
]

Profile files

A profile is a YAML file describing repositories, environments, install tasks, and custom commands. See Profile Configuration for the full format.