raff project command group manages projects — the access-control unit that owns every resource. See Team & Projects — Projects for the model.
Subcommand index
list
get
Default badge if applicable.
create
us-east if omitted. Project names must be unique per account.
update
delete
Default project cannot be deleted, ever — see Edit or delete a project for the rules.
Member subcommands
raff project member manages project-scoped members. The project is taken from --project-id (global flag), RAFF_PROJECT_ID, or the active profile — same precedence as every other project-scoped command. Account Owners have implicit access via their account-level role and don’t need to be added explicitly. Alias: raff project members.
member list
ID, EMAIL, STATUS, ROLE.
member get
member add
--role-id plus one of --target-user-id / --api-key-id (mutually exclusive). For brand-new users, send an account invitation first via raff invitation create-account, or invite directly to a project via raff invitation create-project.
member update
member remove
--force to skip the confirmation prompt. The member’s account-level access is unaffected.
Permission notes
| Command | Required permission |
|---|---|
list, get | account.projects.view (Owner, Admin, Member all have it) |
create | account.projects.create (Owner, Admin) |
update | account.projects.manage (Owner, Admin) |
delete | account.projects.delete (Owner only by default; Admin does NOT include this) |
member list, member get | project.members.view (project-scoped) |
member add, member update, member remove | project.members.manage (project-scoped — Project Admin) |
403 Forbidden, the key’s role doesn’t include the permission for that action.
Related
VM commands
Use —project-id to scope VM operations.
Roles, scopes, and the Owner
Why
delete may 403 even on Admin keys.Permissions matrix
Which role grants which
account.projects.* permission.