Skip to content
Merged
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
6 changes: 3 additions & 3 deletions .claude/skills/orchestrate/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,15 +60,15 @@ What was provided?

### Route logic

1. **`/orchestrate <repo-path>`** -- If the path points to a git repository, derive the target name from the directory basename. Check `/tmp/kagenti/orchestrate/<target>/` for existing state. If no scan report exists, invoke `orchestrate:scan`. If scan exists but no plan, invoke `orchestrate:plan`. If both exist, determine the next incomplete phase and invoke it.
1. **`/orchestrate <repo-path>`** -- If the path points to a git repository, derive the target name from the directory basename. Check `/tmp/rossoctl/orchestrate/<target>/` for existing state. If no scan report exists, invoke `orchestrate:scan`. If scan exists but no plan, invoke `orchestrate:plan`. If both exist, determine the next incomplete phase and invoke it.

2. **`/orchestrate <phase>`** -- Validate that `scan-report.md` and `plan.md` exist for the current target. If missing, instruct the user to run `/orchestrate <repo-path>` first. Otherwise invoke the requested phase skill directly (e.g., `orchestrate:precommit`).

3. **`/orchestrate status`** -- List all directories under `/tmp/kagenti/orchestrate/`, read each target's `phase-status.md`, and display a summary table showing target name, current phase, and completion percentage.
3. **`/orchestrate status`** -- List all directories under `/tmp/rossoctl/orchestrate/`, read each target's `phase-status.md`, and display a summary table showing target name, current phase, and completion percentage.

## Phase Status Tracking

All orchestration state is persisted under `/tmp/kagenti/orchestrate/<target>/`:
All orchestration state is persisted under `/tmp/rossoctl/orchestrate/<target>/`:

| File | Purpose |
|------|---------|
Expand Down
6 changes: 3 additions & 3 deletions .claude/skills/orchestrate:ci/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ management, and supply chain hardening.

## Prerequisites

- Plan exists at `/tmp/kagenti/orchestrate/<target>/plan.md`
- Scan report at `/tmp/kagenti/orchestrate/<target>/scan-report.md`
- Plan exists at `/tmp/rossoctl/orchestrate/<target>/plan.md`
- Scan report at `/tmp/rossoctl/orchestrate/<target>/scan-report.md`
- Target repo in `.repos/<target>/`

## Read Scan Report First
Expand Down Expand Up @@ -391,7 +391,7 @@ gh pr create --repo org/repo --title "Add comprehensive CI workflows" --body "Ph

## Update Phase Status

Set ci to `complete` in `/tmp/kagenti/orchestrate/<target>/phase-status.md`.
Set ci to `complete` in `/tmp/rossoctl/orchestrate/<target>/phase-status.md`.

## Related Skills

Expand Down
6 changes: 3 additions & 3 deletions .claude/skills/orchestrate:plan/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ is Phase 1 β€” interactive brainstorming with the developer, no PRs.
Scan report must exist:

```bash
cat /tmp/kagenti/orchestrate/<target>/scan-report.md
cat /tmp/rossoctl/orchestrate/<target>/scan-report.md
```

## Planning Process
Expand Down Expand Up @@ -78,7 +78,7 @@ Target 600-700 lines per PR. For each phase:

## Plan Output

Save to `/tmp/kagenti/orchestrate/<target>/plan.md`:
Save to `/tmp/rossoctl/orchestrate/<target>/plan.md`:

```markdown
# Enhancement Plan: <target>
Expand Down Expand Up @@ -124,7 +124,7 @@ Save to `/tmp/kagenti/orchestrate/<target>/plan.md`:
Initialize phase tracking:

```bash
cat > /tmp/kagenti/orchestrate/<target>/phase-status.md << 'EOF'
cat > /tmp/rossoctl/orchestrate/<target>/phase-status.md << 'EOF'
# Phase Status: <target>

| Phase | Status | PR | Date |
Expand Down
4 changes: 2 additions & 2 deletions .claude/skills/orchestrate:precommit/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ produces PR #1 β€” the foundation that validates all subsequent PRs.

## Prerequisites

- Plan exists at `/tmp/kagenti/orchestrate/<target>/plan.md`
- Plan exists at `/tmp/rossoctl/orchestrate/<target>/plan.md`
- Target repo cloned in `.repos/<target>/`

## Step 1: Detect Language
Expand Down Expand Up @@ -207,7 +207,7 @@ gh pr create --repo org/repo --title "Add pre-commit hooks and code quality base

## Update Phase Status

Update `/tmp/kagenti/orchestrate/<target>/phase-status.md`:
Update `/tmp/rossoctl/orchestrate/<target>/phase-status.md`:
- Set precommit to `complete`
- Record PR number and date

Expand Down
2 changes: 1 addition & 1 deletion .claude/skills/orchestrate:replicate/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ making it fully self-sufficient. This is Phase 6.

After copying, adapt the skills:

1. **Remove source-specific references** β€” strip kagenti-specific paths or
1. **Remove source-specific references** β€” strip rossoctl-specific paths or
assumptions that don't apply
2. **Verify frontmatter** β€” every `name:` field must match its directory name
3. **Update Related Skills** β€” only reference skills that exist in the copied set
Expand Down
4 changes: 2 additions & 2 deletions .claude/skills/orchestrate:review/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ submits reviews after user approval.

## Prerequisites

- `scan-report.md` and `plan.md` exist in `/tmp/kagenti/orchestrate/<target>/`
- `scan-report.md` and `plan.md` exist in `/tmp/rossoctl/orchestrate/<target>/`
- Phases 2-6 are complete (or at least the phases that were planned)
- PRs are open on the target repo

Expand Down Expand Up @@ -210,7 +210,7 @@ Update `phase-status.md` when complete:

```bash
# Update phase-status.md
sed -i '' 's/| review .*/| review | complete | -- | YYYY-MM-DD |/' /tmp/kagenti/orchestrate/<target>/phase-status.md
sed -i '' 's/| review .*/| review | complete | -- | YYYY-MM-DD |/' /tmp/rossoctl/orchestrate/<target>/phase-status.md
```

## Related Skills
Expand Down
4 changes: 2 additions & 2 deletions .claude/skills/orchestrate:scan/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -309,10 +309,10 @@ git -C .repos/<target> remote -v

## Output Format

Save scan report to `/tmp/kagenti/orchestrate/<target>/scan-report.md`:
Save scan report to `/tmp/rossoctl/orchestrate/<target>/scan-report.md`:

```bash
mkdir -p /tmp/kagenti/orchestrate/<target>
mkdir -p /tmp/rossoctl/orchestrate/<target>
```

Report template:
Expand Down
4 changes: 2 additions & 2 deletions .claude/skills/skills:scan/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,10 +165,10 @@ Rate each skill 1-5:

### Phase 6: Generate Report

Save to `/tmp/kagenti/skills-scan/`:
Save to `/tmp/rossoctl/skills-scan/`:

```bash
mkdir -p /tmp/kagenti/skills-scan
mkdir -p /tmp/rossoctl/skills-scan
```

Output a structured report:
Expand Down
2 changes: 1 addition & 1 deletion .claude/skills/skills:validate/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ If a command is NOT covered, add the pattern to `.claude/settings.json` in the `
When validating multiple skills:

```
TaskCreate: "kagenti | skills | <category> | Verify | Validate <skill-name>"
TaskCreate: "rossoctl | skills | <category> | Verify | Validate <skill-name>"
```

## Related Skills
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pr-verifier.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# PR Verifier β€” caller workflow
#
# Invokes the org-level reusable PR title verifier defined in
# kagenti/.github to enforce PR title prefix conventions (Feat,
# rossoctl/.github to enforce PR title prefix conventions (Feat,
# Fix, Docs, etc.) on every pull request. Pinned to a SHA for
# supply-chain hygiene; bump intentionally when upstream changes.

Expand All @@ -15,4 +15,4 @@ permissions: {}

jobs:
verify-pr-title:
uses: kagenti/.github/.github/workflows/pr-verifier-required.yml@4e535f2436d167295d39d488ce5c44b5a2d49792
uses: rossoctl/.github/.github/workflows/pr-verifier-required.yml@4e535f2436d167295d39d488ce5c44b5a2d49792
6 changes: 3 additions & 3 deletions .github/workflows/project.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Kagenti Project Automation
name: Rossoctl Project Automation

on:
issues:
Expand All @@ -11,14 +11,14 @@ permissions:

jobs:
add:
name: Add item to Kagenti Project
name: Add item to Rossoctl Project

permissions:
issues: write
pull-requests: write
contents: read

# Pinned to @main intentionally: org-internal workflows propagate updates automatically.
uses: kagenti/.github/.github/workflows/add-to-project.yml@main
uses: rossoctl/.github/.github/workflows/add-to-project.yml@main
secrets: inherit

6 changes: 3 additions & 3 deletions .github/workflows/self-assign.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Issue Self-Assign
#
# Thin caller for the org-wide reusable self-assign workflow.
# Configuration and defaults are managed centrally in kagenti/.github.
# Configuration and defaults are managed centrally in rossoctl/.github.
#
# Reference: https://github.com/kagenti/.github/blob/main/.github/workflows/self-assign-reusable.yml
# Reference: https://github.com/rossoctl/.github/blob/main/.github/workflows/self-assign-reusable.yml
#
name: Issue self-assign

Expand All @@ -17,6 +17,6 @@ permissions:

jobs:
self-assign:
uses: kagenti/.github/.github/workflows/self-assign-reusable.yml@main
uses: rossoctl/.github/.github/workflows/self-assign-reusable.yml@main
secrets:
ISSUE_ASSIGN_TOKEN: ${{ secrets.ISSUE_ASSIGN_TOKEN }}
6 changes: 3 additions & 3 deletions .github/workflows/stale.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Stale Issue and PR Management
#
# Thin caller for the org-wide reusable stale workflow.
# Configuration and defaults are managed centrally in kagenti/.github.
# Configuration and defaults are managed centrally in rossoctl/.github.
#
# Reference: https://github.com/kagenti/.github/blob/main/.github/workflows/stale.yaml
# Reference: https://github.com/rossoctl/.github/blob/main/.github/workflows/stale.yaml
#
name: Close Stale Issues and PRs

Expand All @@ -18,4 +18,4 @@ permissions:

jobs:
stale:
uses: kagenti/.github/.github/workflows/stale.yaml@main
uses: rossoctl/.github/.github/workflows/stale.yaml@main
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This file provides guidance for AI assistants working with this repository.

## Overview

Community examples of AI agents (A2A protocol) and MCP tools for the Kagenti platform.
Community examples of AI agents (A2A protocol) and MCP tools for the Rossoctl platform.
Each agent/tool is a self-contained Python project with its own `pyproject.toml` and `Dockerfile`.

## Repository Structure
Expand Down
14 changes: 7 additions & 7 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Default owners for everything
* @kagenti/maintainers
* @rossoctl/maintainers

# CI and platform tooling
.github/ @kagenti/platform
Makefile @kagenti/platform
.github/ @rossoctl/platform
Makefile @rossoctl/platform

# A2A agents
a2a/ @kagenti/agents
a2a/ @rossoctl/agents

# MCP tools
mcp/ @kagenti/agents
mcp/ @rossoctl/agents

# Documentation
docs/ @kagenti/maintainers
*.md @kagenti/maintainers
docs/ @rossoctl/maintainers
*.md @rossoctl/maintainers
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# Contributing to this project

Greetings! We are grateful for your interest in joining the Kagenti community and making a positive impact. Whether you're raising issues, enhancing documentation, fixing bugs, or developing new features, your contributions are essential to our success.
Greetings! We are grateful for your interest in joining the Rossoctl community and making a positive impact. Whether you're raising issues, enhancing documentation, fixing bugs, or developing new features, your contributions are essential to our success.

To get started, kindly read through this document and familiarize yourself with our code of conduct.

We can't wait to collaborate with you!

## Contributing Code

Please follow the [Contribution guide](https://github.com/kagenti/kagenti/blob/main/CONTRIBUTING.md#contributing-to-this-project) as found in the Kagenti Repository for instructions on how to contribute to our repositories.
Please follow the [Contribution guide](https://github.com/rossoctl/rossoctl/blob/main/CONTRIBUTING.md#contributing-to-this-project) as found in the Rossoctl Repository for instructions on how to contribute to our repositories.

### Developer's Guide

Please follow our [Developer's Guide](https://github.com/kagenti/kagenti/blob/main/docs/dev-guide.md#developers-guide), as found in the Kagenti Repository, where you can find comprehensive instructions for common development operations.
Please follow our [Developer's Guide](https://github.com/rossoctl/rossoctl/blob/main/docs/dev-guide.md#developers-guide), as found in the Rossoctl Repository, where you can find comprehensive instructions for common development operations.

Please note that the section concerning pre-commit does not apply to this repository.

Expand Down
8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,31 +16,31 @@ test-docker: test-a2a test-mcp test-exgentic-agent test-exgentic-tool
TEST_A2A_SKIP := a2a/exgentic_agent

# Verify all of the A2A example Docker images can be built
# (Optional KAGENTI_DOCKER_FLAGS for docker build, e.g. --no-cache or --load)
# (Optional ROSSOCTL_DOCKER_FLAGS for docker build, e.g. --no-cache or --load)
test-a2a:
@for f in $(shell find a2a -mindepth 1 -maxdepth 1 -type d); do \
case " $(TEST_A2A_SKIP) " in \
*" $${f} "*) echo "Skipping $${f}..."; continue;; \
esac; \
pushd $${f} || exit; \
echo "Building Docker image for $${f}..."; \
docker build ${KAGENTI_DOCKER_FLAGS} --tag $${f##*/} . || exit; \
docker build ${ROSSOCTL_DOCKER_FLAGS} --tag $${f##*/} . || exit; \
popd; \
done

# Directories under mcp/ to skip in test-mcp
TEST_MCP_SKIP := mcp/exgentic_benchmarks mcp/wiki_memory_tool

# Verify all of the MCP example Docker images can be built
# (Optional KAGENTI_DOCKER_FLAGS for docker build, e.g. --no-cache or --load)
# (Optional ROSSOCTL_DOCKER_FLAGS for docker build, e.g. --no-cache or --load)
test-mcp:
@for f in $(shell find mcp -mindepth 1 -maxdepth 1 -type d); do \
case " $(TEST_MCP_SKIP) " in \
*" $${f} "*) echo "Skipping $${f}..."; continue;; \
esac; \
pushd $${f} || exit; \
echo "Building Docker image for $${f}..."; \
docker build ${KAGENTI_DOCKER_FLAGS} --tag $${f##*/} . || exit; \
docker build ${ROSSOCTL_DOCKER_FLAGS} --tag $${f##*/} . || exit; \
popd; \
done

Expand Down
2 changes: 1 addition & 1 deletion a2a/a2a_contact_extractor/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ def main(host, port, result_type, instructions):
routes = []
# create_agent_card_routes serves /.well-known/agent-card.json natively
routes.extend(create_agent_card_routes(agent_card))
# enable_v0_3_compat is needed because Kagenti uses A2A 0.3 client libraries
# enable_v0_3_compat is needed because Rossoctl uses A2A 0.3 client libraries
routes.extend(create_jsonrpc_routes(request_handler, "/", enable_v0_3_compat=True))
app = Starlette(routes=routes)

Expand Down
2 changes: 1 addition & 1 deletion a2a/a2a_currency_converter/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ sequenceDiagram
uv run app/test_client.py
```

## Running the agent on Kubernetes with [Kagenti](https://kagenti.github.io/.github/)
## Running the agent on Kubernetes with [Rossoctl](https://rossoctl.github.io/.github/)

Deploy the sample manifest:

Expand Down
2 changes: 1 addition & 1 deletion a2a/a2a_currency_converter/app/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ def main(host, port):

routes = []
routes.extend(create_agent_card_routes(agent_card))
# enable_v0_3_compat is needed because Kagenti uses A2A 0.3 client libraries
# enable_v0_3_compat is needed because Rossoctl uses A2A 0.3 client libraries
routes.extend(create_jsonrpc_routes(request_handler, "/", enable_v0_3_compat=True))
app = Starlette(routes=routes)

Expand Down
4 changes: 2 additions & 2 deletions a2a/a2a_currency_converter/app/agent_executor.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,8 @@ async def execute(
except AuthenticationError as e:
msg = f"""CurrencyAgentExecutor reports an authentication error.

When importing this agent into Kagenti, expand Environment Variables and Add Variable,
or import https://github.com/kagenti/agent-examples/blob/main/a2a/a2a_currency_converter/.env.openai
When importing this agent into Rossoctl, expand Environment Variables and Add Variable,
or import https://github.com/rossoctl/examples/blob/main/a2a/a2a_currency_converter/.env.openai

Use `kubectl -n <namespace> logs deployment/<agent-name>` for details.

Expand Down
Loading
Loading