Projects
Projects in WindKeep are containers for your secrets. Each project belongs to an organization and can have multiple secrets across different environments (development, staging, production).
Understanding Projects
Project Structure
- Name - Human-readable project name (e.g., "Backend API")
- Slug - URL-friendly identifier (e.g., "backend-api")
- Description - Optional description of the project
- Organization - The organization the project belongs to
- Secrets - Environment variables stored in the project
Active Project
Your active project is the default context for secret commands. When you run secret commands, they operate on your active project by default. This behavior can be overridden by specifying a different project slug via flags.
Command Reference
windkeep projects list
List all projects you have access to across all organizations.
Example:
windkeep projects list
Output:
ID NAME SLUG ORGANIZATION SECRETS
cm111aaa111 My Project my-project My Organization 5
cm222bbb222 API Service api-service Team Workspace 12
cm333ccc333 Frontend App frontend-app My Organization 8
windkeep projects create [NAME]
Create a new project in your active organization. The slug is automatically generated from the name.
Arguments:
NAME- The name of the project (required)
Flags:
-d, --description- Project description (optional)
Examples:
# Create a basic project
windkeep projects create "My Project"
# Creates project with slug: my-project
# Create with description
windkeep projects create "API Service" -d "Backend API for mobile app"
# Creates project with slug: api-service
# Create with multi-word name
windkeep projects create "E-Commerce Platform"
# Creates project with slug: e-commerce-platform
windkeep projects switch [PROJECT_SLUG]
Set a project as your active project for future commands.
Arguments:
PROJECT_SLUG- The slug of the project to switch to (optional - if not provided, shows interactive selector)
Example:
# Switch to a specific project by slug
windkeep projects switch api-service
# Or use interactive mode (no argument)
windkeep projects switch
Output:
✓ Switched to project 'API Service' (slug: api-service)
Tip: Use
windkeep projects listto see all available projects and their slugs.
windkeep projects update [PROJECT_SLUG]
Update a project's details. You can update the name, slug, or description.
Arguments:
PROJECT_SLUG- The slug of the project to update (required)
Flags:
-n, --name- New project name (optional)-s, --slug- New project slug (optional)-d, --description- New project description (optional)
Examples:
# Update project name
windkeep projects update my-project --name "Updated Project Name"
# Update slug
windkeep projects update my-project --slug new-project-slug
# Update description
windkeep projects update my-project --description "New project description"
# Update multiple fields at once
windkeep projects update my-project \
--name "API Service v2" \
--slug api-service-v2 \
--description "Updated backend API"
windkeep projects delete [PROJECT_SLUG]
Delete a project and all its secrets. This action cannot be undone.
Arguments:
PROJECT_SLUG- The slug of the project to delete (required)
Flags:
--confirm- Skip confirmation prompt (optional)
Example:
# With interactive confirmation
windkeep projects delete old-project
# Skip confirmation prompt
windkeep projects delete old-project --confirm
Common Workflows
Creating Your First Project
# Make sure you're in the right organization
windkeep whoami
# Create the project
windkeep projects create "My App" -d "My awesome application"
# Verify it was created
windkeep projects list
# Start adding secrets
windkeep secrets create DATABASE_URL --dev "postgres://localhost:5432/dev"
Organizing Multiple Projects
# Create projects for different environments
windkeep projects create "My App - Development" -d "Dev environment"
windkeep projects create "My App - Staging" -d "Staging environment"
windkeep projects create "My App - Production" -d "Production environment"
# Or create projects for different services
windkeep projects create "Backend API" -d "REST API service"
windkeep projects create "Frontend Web" -d "React web application"
windkeep projects create "Mobile App" -d "React Native mobile app"
Switching Between Projects
# List all projects
windkeep projects list
# Switch to backend project
windkeep projects switch backend-api
# Work with backend secrets
windkeep secrets list
windkeep run npm run dev
# Switch to frontend project
windkeep projects switch frontend-web
# Work with frontend secrets
windkeep secrets list
windkeep run npm start
Renaming a Project
# Update project name and slug
windkeep projects update my-project \
--name "New Project Name" \
--slug new-project-slug
# Verify the change
windkeep projects list
# Switch using the new slug
windkeep projects switch new-project-slug
Migrating Projects Between Organizations
Note: Projects cannot be moved between organizations via CLI. To migrate a project:
- Export secrets from the old project (via web dashboard or CLI)
- Create a new project in the target organization
- Import secrets to the new project
- Delete the old project when migration is complete
Example:
# In old organization
windkeep orgs switch cm123old
windkeep projects switch old-project
# Export secrets via web dashboard
# In new organization
windkeep orgs switch cm456new
windkeep projects create "Migrated Project"
# Import secrets via web dashboard
# Clean up old project
windkeep orgs switch cm123old
windkeep projects delete old-project --confirm
Related Documentation
- Organizations - Manage organizations and their projects
- Secrets Management - Manage secrets within projects
- Guides & Troubleshooting - Common workflows and troubleshooting