Skip to content

vTeam Lab

The vTeam lab shows how to model a coordinated group of agents with current ACP resources. Each lab team uses a Project as the workspace, Agent records as team members, shared Provider records for runtime integrations, and a project-scoped Gateway for OpenShell sandbox execution.

If you use hosted ACP, your platform administrators provide Vertex AI access. You only need to provide personal or team integration credentials, such as GitHub and Jira, for examples that use those providers.

ACP ships two catalog examples:

TeamProjectUse it for
Product swarmvteam-product-swarmCross-functional product delivery work with product, engineering, design, research, and writing roles.
Codebase maintainerscodebase-maintainersInternal codebase upkeep across implementation, runtime readiness, CI, security, docs, and release gates.

The manifests live in examples/vteam-catalog.

For local Kind clusters, make kind-up includes vteam-product-swarm and codebase-maintainers in the default OPENSHELL_TENANTS list, so those namespaces are ready for the lab.

Log in to ACP with acpctl, then apply one catalog directory to its matching project.

Terminal window
acpctl apply -k examples/vteam-catalog/product-swarm \
--project vteam-product-swarm
Terminal window
acpctl apply -k examples/vteam-catalog/codebase-maintainers \
--project codebase-maintainers

The apply step creates or updates ACP records. Provider credentials become runtime requirements when a session starts.

See examples/README.md for the full examples inventory, including starter tenant examples and the shared gateway field reference.

Each catalog team declares an OpenShell Gateway named openshell-gateway. ACP deploys that gateway into the project namespace, not into a namespace named after the gateway.

For example, the product-swarm catalog uses:

kind: Project
name: vteam-product-swarm
kind: Gateway
name: openshell-gateway
server_dns_names:
- openshell-gateway.vteam-product-swarm.svc.cluster.local

The control plane resolves the project namespace as vteam-product-swarm and creates the gateway Kubernetes resources there.

After applying a catalog team, check the ACP records:

Terminal window
# Product swarm
acpctl get project vteam-product-swarm
acpctl agent list --project vteam-product-swarm
acpctl provider list --project vteam-product-swarm
# Codebase maintainers
acpctl get project codebase-maintainers
acpctl agent list --project codebase-maintainers
acpctl provider list --project codebase-maintainers

On a local Kind cluster, also check the project namespaces:

Terminal window
kubectl get namespace vteam-product-swarm
kubectl get statefulset openshell-gateway -n vteam-product-swarm
kubectl get namespace codebase-maintainers
kubectl get statefulset openshell-gateway -n codebase-maintainers

For a hand-run local reload flow, use the vTeam Catalog quickstart.