Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions docs-site/.github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Deploy React-Based Docs Site.

on:
push:
branches:
- main # on push to main trigger.
workflow_dispatch: # on actions trigger.

jobs:
build:
name: Build Docs
runs-on: ubuntu-latest

steps:
- name: Checkout Repo.
uses: actions/checkout@v4

- name: Setup Node.
uses: actions/setup-node@v4
with:
node-version: 24

- name: Install npm dependencies.
run: npm ci --ignore-scripts

- name: Build Docs.
run: npm run build

- name: Upload production-ready build files.
uses: actions/upload-artifact@v4
with:
name: production-files
path: ./dist

deploy:
name: Deploy Docs.
needs: build
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'

steps:
- name: Download next build ready artifacts.
uses: actions/download-artifact@v4
with:
name: production-files
path: ./dist

- name: Deploy to GitHub Pages.
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./dist
10 changes: 10 additions & 0 deletions docs-site/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.DS_Store
/node_modules/

# React Router
/.react-router/
/build/
/dist/

.env
tsconfig.tsbuildinfo
26 changes: 26 additions & 0 deletions docs-site/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# 🐍 IBMCloud README Static Docs Site - Makefile
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#
# Author: Maxim Shelepov
# Description: Builds/serves for production viewing or development.
# Usage: run `make docs`, `make docs-dev`, or `make help` to view available targets.
#
# help: 🛠️ IBMCloud Docs Site
#
# ──────────────────────────────────────────────────────────────────────────
# Project variables
PROJECT_NAME = ibm-cloud-docs
# =============================================================================
# 📖 DYNAMIC HELP
# =============================================================================
.PHONY: help
help:
@grep "^# help\:" Makefile | grep -v grep | sed 's/\# help\: //' | sed 's/\# help\://'

.PHONY: docs

docs:
bash scripts/build-serve.sh
docs-dev:
bash scripts/dev-run.sh
18 changes: 18 additions & 0 deletions docs-site/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Docs Site for IBM Repos 📖
A a single common repo documentation site using carbon (ibm design language) and mdx framework (markdown with react flavor).

**Solves pain points**
1. A single README is messy for use cases outside of a quick get started.
2. Markdown by itself does not provide easy extensibility and interactive customizability.
3. Lack of IBM design language, look, and feel.

**Deployment Instructions**<br/>
Add the repo name of your project where your docs will live:
- In the `"name"` json field for [`package.json`](./package.json).
- In the `base:` key value field for [`vite.config.ts`](./vite.config.ts).

**Future Improvements...**<br/>
If the use of the projects gets picked up, then
- Add SSR for even quicker doc page loads.
- A search feature.
- Bundle optimizations, saving info such as toc, maps, internal refs, to static files.
4 changes: 4 additions & 0 deletions docs-site/docs/agents/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"title": "Try Each Agent",
"draft": false
}
23 changes: 23 additions & 0 deletions docs-site/docs/agents/base-agent.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
title: 'Base Agent'
draft: false
---


# Base Agent
You can use the `/connect` command in `a2a-cli` to switch between the agents, view their cards, and send prompts to the agents.

To switch to the **Base agent** while running a2a-cli, type:

```bash
/connect http://localhost:8000/ibmcloud_base_agent
```

The **Base agent**'s 📇agent card should appear:
![Base agent Agent Card](../images/base_agent_card.png)

The base agent has some basic resource management capabilities built-in, like:

- Targeting an accounts, resource group, region, and cloud API endpoint.
- Listing resource groups
- Searching for resources using Lucene query syntax
28 changes: 28 additions & 0 deletions docs-site/docs/agents/ibm-cloud-account-admin-agent.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: 'Account Admin Agent'
draft: true
---

# IBM Cloud Account Admin Agent

Next switch to the **Account Admin agent**:

```bash
/connect http://localhost:8000/ibmcloud_account_admin_agent
```
![Account Admin's Agent Card](../images/account_admin_agent_card.png)

and ask

```text
What can you help me with?
```

You will see various management tasks for working with IBM Cloud accounts, users and IAM access policies and groups for users and services. Try listing the users in your account (your agent will need an API Key with Admin access for this, and most of the capabilities of this agent).

## 🕵🏼‍♂️ Serverless Computing Agent Example
An example specialized agent for Serverless computing using Code Engine is found in `ibmcloud_serverless_agent/agent.py`, which has:

- 🧠LLM connection - LiteLLM
- 🛠️IBMCloud MCP Server tool configuration for Code Engine-related tasks
- 🕵️Agent 📃instructions for Serverless computing on IBM Cloud.
3 changes: 3 additions & 0 deletions docs-site/docs/agents/ibm-cloud-automation-agent.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# IBM Cloud Automation Agent

No content here yet 🤷‍♂️.
21 changes: 21 additions & 0 deletions docs-site/docs/agents/ibm-cloud-guide-agent.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# IBM Cloud Guide Agent
Now, while still running `a2a-cli`, switch to the **IBM Cloud Guide agent**:

```bash
/connect http://localhost:8000/ibmcloud_serverless_agent
```

The **IBM Cloud Guide agent**'s 📇agent card will appear:
![Guide agent's Agent Card](../images/guide_agent_card.png)

The guide agent is connected via MCP to an assistant that has been trained on all official sources of IBM Cloud documentation.

Try to ask a question, like:

```text
Assist me with IBMCLOUD_TOPIC
```
Some example topics:

- understanding the different parts of a CRN
- setting up an account structure for an enterprise
17 changes: 17 additions & 0 deletions docs-site/docs/agents/ibm-cloud-serverless-computing-agent.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# IBM Cloud Serverless Computing Agent
To switch to the **Serverless Computing agent** while running a2a-cli, type:

```bash
/connect http://local:8000/ibmcloud_serverless_agent
```

The **Serverless Computing agent**'s 📇agent card will be displayed:
![Serverless Computing agent's Agent Card](../images/serverless_agent_card.png)

Ask:

```text
What can you help me with?
```

You will see various serverless computing tasks that the agent can assist you with. You'll want to start by listing the projects (code engine projects) that are currently available in your account, and create one if none already exist.
Loading