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.
Catalog options
Section titled “Catalog options”ACP ships two catalog examples:
| Team | Project | Use it for |
|---|---|---|
| Product swarm | vteam-product-swarm | Cross-functional product delivery work with product, engineering, design, research, and writing roles. |
| Codebase maintainers | codebase-maintainers | Internal 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.
Apply a catalog team
Section titled “Apply a catalog team”Log in to ACP with acpctl, then apply one catalog directory to its matching
project.
acpctl apply -k examples/vteam-catalog/product-swarm \ --project vteam-product-swarmacpctl apply -k examples/vteam-catalog/codebase-maintainers \ --project codebase-maintainersThe 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.
Gateway and namespace behavior
Section titled “Gateway and namespace behavior”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: Projectname: vteam-product-swarmkind: Gatewayname: openshell-gatewayserver_dns_names: - openshell-gateway.vteam-product-swarm.svc.cluster.localThe control plane resolves the project namespace as vteam-product-swarm and
creates the gateway Kubernetes resources there.
Verify
Section titled “Verify”After applying a catalog team, check the ACP records:
# Product swarmacpctl get project vteam-product-swarmacpctl agent list --project vteam-product-swarmacpctl provider list --project vteam-product-swarm
# Codebase maintainersacpctl get project codebase-maintainersacpctl agent list --project codebase-maintainersacpctl provider list --project codebase-maintainersOn a local Kind cluster, also check the project namespaces:
kubectl get namespace vteam-product-swarmkubectl get statefulset openshell-gateway -n vteam-product-swarm
kubectl get namespace codebase-maintainerskubectl get statefulset openshell-gateway -n codebase-maintainersFor a hand-run local reload flow, use the vTeam Catalog quickstart.