CLI: Organizations & Projects

Overview

Organizations are team workspaces. Projects are secret containers inside an organization. You can belong to multiple orgs — each with its own projects, members, and roles.

Context & Roles

Active organization determines where new projects are created. Active project is the default target for secret commands — use windkeep projects switch to change it, or pass -p on windkeep run and windkeep pull to override.

Each organization member has one of these roles:

  • OWNER: Full control over the org, its projects, and members.
  • ADMIN: Manage projects and secrets; cannot delete the organization.
  • MEMBER: View and use secrets in assigned projects.

Organizations: List

List every organization you belong to, along with your role and which one is currently active.

Example & Output:

windkeep orgs list
ID             NAME              ROLE    ACTIVE
cm123abc456    My Organization   OWNER
cm789def012    Team Workspace    ADMIN
cm456ghi789    Client Project    MEMBER

Organizations: Create

Create a new organization. You become the owner and it is set as your active org.

windkeep orgs create "My Company"

Arguments:

  • NAME: Organization name (required).

Organizations: Switch

Set the active organization for future commands. Switching orgs also clears your active project, since projects belong to a single organization.

Run windkeep orgs list to find organization IDs.

Example & Output:

windkeep orgs switch cm789def012
 Switched to organization 'Team Workspace'

Arguments:

  • ORG_ID: Target org ID (optional — omit to open an interactive selector).

Organizations: Update

Rename your active organization. Requires OWNER or ADMIN.

# Switch to the org you want to rename (if it is not already active)
windkeep orgs switch cm123abc456

# Update the name
windkeep orgs update "New Company Name"

Arguments:

  • NAME: New organization name (required).

Projects: List

List all projects in your active organization, including secret counts.

Example & Output:

windkeep projects list
ID             NAME           SLUG           SECRETS
cm111aaa111    My Project     my-project     5
cm222bbb222    API Service    api-service    12

Projects: Create

Create a project in your active organization. The slug is auto-generated from the name, and the new project becomes active.

windkeep projects create "My Project"

windkeep projects create "API Service" -d "Backend API"

Arguments:

  • NAME: Project name (required).

Flags:

  • -d, --description: Optional description.

Projects: Switch

Set the active project for secret commands and windkeep run. Only projects from the active organization are shown.

Run windkeep projects list to find project slugs.

Example & Output:

windkeep projects switch api-service
 Switched to project 'API Service' (slug: api-service)

Arguments:

  • PROJECT_SLUG: Target slug (optional — omit to open an interactive selector).

Projects: Update

Update a project's name, slug, or description. At least one flag is required.

windkeep projects update my-project \
  --name "API Service v2" \
  --slug api-service-v2 \
  --description "Updated backend API"

Arguments:

  • PROJECT_SLUG: Project to update (required).

Flags:

  • -n, --name: New name.
  • -s, --slug: New slug.
  • -d, --description: New description.

Projects: Delete

Permanently delete a project and all of its secrets. This cannot be undone.

windkeep projects delete old-project --confirm

Arguments:

  • PROJECT_SLUG: Project to delete (required).

Flags:

  • --confirm: Skip the confirmation prompt.

Common Workflows

# Bootstrap a new org and project
windkeep orgs create "My Startup"
windkeep whoami
windkeep projects create "Backend API"

# Switch between orgs and projects
windkeep orgs list
windkeep orgs switch cm789def012
windkeep projects list
windkeep projects switch my-project

# Work across orgs (each line sets context, then runs your app)
windkeep orgs switch cm123abc456 && windkeep projects switch personal-app && windkeep run npm run dev
windkeep orgs switch cm789def012 && windkeep projects switch work-api && windkeep run --env prod npm start

# Create a project and add your first secret
windkeep whoami
windkeep projects create "My App" -d "My application"
windkeep secrets create DATABASE_URL --dev "postgres://localhost:5432/dev"

Migrating Projects Between Orgs

Projects cannot be moved between organizations via the CLI. Use this sequence instead:

Example sequence:

# Switch to the source org and project
windkeep orgs switch cm123old
windkeep projects switch old-project

# Export secrets locally
windkeep pull .env.backup -e production

# Create the project in the target org
windkeep orgs switch cm456new
windkeep projects create "Migrated Project"

# Import secrets and clean up
windkeep push .env.backup -e production
windkeep orgs switch cm123old
windkeep projects delete old-project --confirm
  1. Export secrets from the old project (via the dashboard or windkeep pull).
  2. Create a new project in the target organization.
  3. Import secrets into the new project (via the dashboard or windkeep push).
  4. Delete the old project when you are done.