Skip to content
Back to skills

Setup

BSecurity

Launch all services for the Retail-Agentic-Commerce project. Use when the user types setup, install, or asks to start, launch, or run the project stack.

  • 79 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 19, 2026
ai-agentspythonbashdockerapibackend

Works with

  • api
  • mcp

Security analysis

B84/100
  • mediumUses curl or wget to download content
  • criticalExfiltrates credentials via HTTP — exact pattern from Snyk ToxicSkills study

Pro shows the line behind each finding and how to fix it

Scanned September 19, 2026

npx -y skills add NVIDIA-AI-Blueprints/Retail-Agentic-Commerce --skill setup --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Setup?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Setup
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/nvidia-ai-blueprints-setup-retail-agentic-commerce/badge)](https://www.skillsdirectory.com/skills/nvidia-ai-blueprints-setup-retail-agentic-commerce)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: setup
description: Launch all services for the Retail-Agentic-Commerce project. Use when the user types setup, install, or asks to start, launch, or run the project stack.
---

# Setup

This skill sets up and launches the Retail-Agentic-Commerce project. It supports Docker deployment and local development.

## Ask First

Ask which deployment mode the user wants before proceeding unless they already specified one:

1. Docker, recommended default: runs everything in containers via Docker Compose.
2. Local development: runs infrastructure in Docker, but backend services, agents, and UIs run directly on the host.

If the user says "setup" or "install" without specifying a mode, ask them. Default to Docker only if the user explicitly says to use the default.

## Shared Prerequisites

Create `.env` from the template if it does not exist:

```bash
cp env.example .env
```

Do not overwrite an existing `.env`.

Validate that `NVIDIA_API_KEY` is set to a real key:

- Valid: starts with `nvapi-` and is not the placeholder.
- Invalid: missing, empty, or `nvapi-xxx`.

If the key is missing or placeholder, stop and tell the user to create a key at `https://build.nvidia.com/settings/api-keys` and set it in `.env`.

Confirm these public NIM endpoint defaults unless the user intentionally configured another host:

```env
NIM_LLM_BASE_URL=https://integrate.api.nvidia.com/v1
NIM_EMBED_BASE_URL=https://integrate.api.nvidia.com/v1
```

## Docker Deployment

Check prerequisites:

```bash
docker --version
docker compose version
docker info
```

Launch services:

```bash
docker network create acp-infra-network || true
docker compose -f docker-compose.infra.yml -f docker-compose.yml up --build -d
```

Check service status:

```bash
docker compose -f docker-compose.infra.yml -f docker-compose.yml ps
```

Verify core health endpoints:

```bash
curl -s http://localhost/api/health
curl -s http://localhost/psp/health
curl -s http://localhost/apps-sdk/health
```

Verify NAT agents from the merchant container because Docker agents are internal-only:

```bash
docker compose -f docker-compose.infra.yml -f docker-compose.yml exec merchant \
  python -c "
import urllib.request as u
for name, url in [
    ('promotion', 'http://promotion-agent:8002/health'),
    ('post-purchase', 'http://post-purchase-agent:8003/health'),
    ('recommendation', 'http://recommendation-agent:8004/health'),
    ('search', 'http://search-agent:8005/health'),
]:
    try:
        status = u.urlopen(url, timeout=5).status
        print(f'{name}: {status}')
    except Exception as e:
        print(f'{name}: FAILED ({e})')
"
```

Report these URLs when Docker setup succeeds:

```text
Demo UI: http://localhost
API Health: http://localhost/api/health
PSP Health: http://localhost/psp/health
Apps SDK Health: http://localhost/apps-sdk/health
API OpenAPI: http://localhost/api/openapi.json
PSP OpenAPI: http://localhost/psp/openapi.json
Apps SDK OpenAPI: http://localhost/apps-sdk/openapi.json
Phoenix Traces: http://localhost:6006
MinIO Console: http://localhost:9001
```

## Local Development

Run the automated setup script from the repo root:

```bash
./install.sh
```

Stop services with:

```bash
./stop.sh
```

The script validates prerequisites, creates `.env` from `env.example` if missing, validates `NVIDIA_API_KEY`, installs dependencies, starts services, and runs health checks.

Expected local URLs:

```text
Demo UI: http://localhost:3000
Merchant API: http://localhost:8000/docs
PSP: http://localhost:8001/docs
Apps SDK MCP: http://localhost:2091/docs
Phoenix Traces: http://localhost:6006
MinIO Console: http://localhost:9001
```

## Troubleshooting

- View local logs with `tail -f logs/<service>.log`.
- Check Docker logs with `docker compose -f docker-compose.infra.yml -f docker-compose.yml logs -f <service-name>`.
- Inspect port conflicts with `lsof -i :<port>`.
- For Docker reset, run `docker compose -f docker-compose.infra.yml -f docker-compose.yml down -v`, then launch again.

## Completion Criteria

Report the chosen mode, commands run, health check results, URLs, and any services that failed to start.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.