Skip to main content

envshed project

Manage projects in an organization. The project command groups all project lifecycle operations into a single namespace.

Note: The projects command is a hidden alias for project list and continues to work for backward compatibility.

Subcommands

SubcommandDescription
project listList all projects in an organization
project createCreate a new project
project updateUpdate a project's name or description
project deleteDelete a project

envshed project list

List all projects in an organization.

envshed project list [options]
OptionDescriptionRequired
-o, --org <slug>Organization slugYes (or via config)
--output <format>Output format: jsonNo

Example:

$ envshed project list -o my-org
Name Slug Description
─────────────────────────────────────
Web App web-app Main web application
API api Backend API service

JSON output:

$ envshed project list -o my-org --output json
[
{ "id": "...", "name": "Web App", "slug": "web-app", "description": "Main web application" },
{ "id": "...", "name": "API", "slug": "api", "description": "Backend API service" }
]

envshed project create

Create a new project in an organization.

envshed project create --name <name> [options]
OptionDescriptionRequired
-n, --name <name>Project nameYes
-d, --description <text>Project descriptionNo
-o, --org <slug>Organization slugYes (or via config)
--output <format>Output format: jsonNo

Example:

$ envshed project create --name "My New App" -o my-org
✓ Project 'My New App' created (slug: my-new-app)

With description:

$ envshed project create --name "My New App" -d "Production web app" -o my-org
✓ Project 'My New App' created (slug: my-new-app)

JSON output:

$ envshed project create --name "My New App" -o my-org --output json
{
"project": {
"name": "My New App",
"slug": "my-new-app"
}
}

Note: Creating a project automatically generates three environments: development, staging, and production.


envshed project update

Update a project's name or description.

envshed project update <slug> [options]
OptionDescriptionRequired
<slug>Project slug to updateYes
-n, --name <name>New project nameNo (at least one of --name or --description)
-d, --description <text>New project descriptionNo (at least one of --name or --description)
-o, --org <slug>Organization slugYes (or via config)
--output <format>Output format: jsonNo

Example:

$ envshed project update web-app --name "Web App v2" -o my-org
✓ Project 'Web App v2' updated (slug: web-app-v-2)

Update description only:

$ envshed project update web-app -d "Updated description" -o my-org
✓ Project 'Web App' updated (slug: web-app)

JSON output:

$ envshed project update web-app --name "Web App v2" -o my-org --output json
{
"project": {
"name": "Web App v2",
"slug": "web-app-v-2"
}
}

Note: Updating the project name will also update its slug.


envshed project delete

Delete a project permanently. This action is irreversible.

envshed project delete <slug> [options]
OptionDescriptionRequired
<slug>Project slug to deleteYes
-o, --org <slug>Organization slugYes (or via config)
-y, --yesSkip confirmation promptNo
--output <format>Output format: jsonNo

Example (with confirmation):

$ envshed project delete web-app -o my-org
? Are you sure you want to delete project 'web-app'? This cannot be undone. (y/N) y
✓ Project 'web-app' deleted

Skip confirmation with --yes:

$ envshed project delete web-app -o my-org --yes
✓ Project 'web-app' deleted

JSON output:

$ envshed project delete web-app -o my-org --yes --output json
{
"ok": true
}

Warning: Deleting a project will permanently remove all associated environments, secrets, and audit logs. This cannot be undone.