Managing Projects
Projects are the top-level container for everything in ProvaLab.io -- test cases, test plans, runs, and results all live inside a project. The CLI gives you quick access to create and manage projects without opening the web UI.
List all projects
tms projects list
Example output:
Projects
┌────┬────────────────────┬───────┬────────┬────────────────────┐
│ ID │ Name │ Key │ Status │ Created │
├────┼────────────────────┼───────┼────────┼────────────────────┤
│ 1 │ E-Commerce App │ ECOM │ active │ 2025-11-15 10:00 │
│ 2 │ Mobile Banking │ MBANK │ active │ 2025-12-01 14:30 │
│ 3 │ Internal Tools │ TOOLS │ active │ 2026-01-10 09:15 │
└────┴────────────────────┴───────┴────────┴────────────────────┘
Control how many projects are returned with --limit:
tms projects list --limit 50
Create a new project
tms projects create --name "My App" --key "MYAPP"
You can also provide a description:
tms projects create \
--name "Mobile Banking" \
--key "MBANK" \
--description "Android and iOS banking application"
Example output:
SUCCESS Project 'Mobile Banking' created successfully (ID: 4)
If you omit --name or --key, the CLI will prompt you for them interactively. This is handy when you are exploring but for scripts you should always pass the flags explicitly.
The key is a short, unique identifier used throughout ProvaLab.io to reference the project (similar to a Jira project key). It must be unique within your organization.
View project details
tms projects get 1
Example output:
Project Details:
ID: 1
Name: E-Commerce App
Key: ECOM
Description: Main e-commerce platform with web and mobile storefronts
Status: active
Created: 2025-11-15T10:00:00Z
Delete a project
tms projects delete 3
The CLI will ask for confirmation before deleting:
Are you sure you want to delete project 3? [y/n]: y
SUCCESS Project 3 deleted successfully
To skip the confirmation prompt (useful in scripts), pass --yes:
tms projects delete 3 --yes
Deleting a project removes all associated test cases, runs, and results. This cannot be undone. If you just want to hide a project from the active list, archive it from the web UI instead.
Using projects in other commands
Many CLI commands require a project ID or organization ID. Once you know your project ID from tms projects list, you can pass it to other commands:
# List API collections for a project
tms api collection list --project-id 1
# List load test scenarios for a project
tms load scenario list --project-id 1
# Detect flaky tests in a project
tms ai analyze flaky-tests --project-id 1 --days 30
You can edit ~/.tms/config.json to set default_project_id and default_organization_id so you do not need to pass them every time:
{
"api_url": "https://tms.yourcompany.com",
"api_key": "sk_live_abc123...",
"default_project_id": 1,
"default_organization_id": 1
}
Next steps
- Running Tests -- Execute test plans, API tests, and load tests from the CLI
- AI from the CLI -- Use AI to generate tests and analyze failures