Skip to main content

FoodforThought CLI

GitHub-like CLI tool for the FoodforThought robotics repository platform.

Version: 0.2.1
PyPI: https://pypi.org/project/foodforthought-cli/

Naming guide (CLI vs SDK vs package)

FoodforThought ships two separate Python tools. They have different names on purpose:

Name What it is Install / use
foodforthought-cli The PyPI package that installs the CLI pip install foodforthought-cli
ate The command that package puts on your PATH ate init my-project
kindly The Python SDK — a separate package and import name, used inside training scripts pip install kindly, from kindly import load_skill
kindly-robotics The GitHub organization — not a package; never pip install kindly-robotics —

Rule of thumb: use the ate CLI (foodforthought-cli) for the terminal workflow (init, commit, push, generate, deploy); use the kindly SDK to load skill data and check compatibility from Python. See the Kindly SDK README for the SDK.

Installation

pip install foodforthought-cli

Or install from source:

cd foodforthought-cli
pip install -e .

Configuration

Set environment variables:

export ATE_API_URL="https://kindly.fyi/api"
export ATE_API_KEY="your-api-key-here"

Usage

Initialize a repository

ate init my-robot-skill -d "A skill for my robot" -v public

Clone a repository

ate clone <repository-id>

Create a commit

ate commit -m "Add new control algorithm"

Push to remote

ate push -b main

Deploy to robot

ate deploy unitree-r1

Commands

Repository Management

  • ate init <name> - Initialize a new repository
  • ate clone <repo-id> - Clone a repository
  • ate commit -m <message> - Create a commit
  • ate push [-b <branch>] - Push commits to remote

Skill Pipeline

  • ate pull <skill-id> [--robot <robot>] [--format json|rlds|lerobot] [--output ./data] - Pull skill data for training
  • ate upload <video-path> --robot <robot> --task <task> [--project <id>] - Upload demonstrations for labeling
  • ate check-transfer --from <source-robot> --to <target-robot> [--skill <id>] - Check skill transfer compatibility
  • ate labeling-status <job-id> - Check labeling job status

Parts & Dependencies (New in v0.2.0)

  • ate parts list [--category gripper] - List available hardware parts
  • ate parts check <skill-id> - Check part compatibility for a skill
  • ate parts require <part-id> --skill <skill-id> - Add part dependency to a skill
  • ate deps audit - Verify all dependencies are compatible

Text-to-Skill Generation (New in v0.2.0)

  • ate generate "<description>" --robot <robot> --output ./skill/ - Generate skill skeleton from natural language

Example:

ate generate "pick up box and place on pallet" --robot franka-panda --output ./new-skill/

Workflow Orchestration (New in v0.2.0)

  • ate workflow validate <pipeline.yaml> - Validate a workflow definition
  • ate workflow run <pipeline.yaml> --sim - Run workflow in simulation
  • ate workflow export <pipeline.yaml> --format ros2 - Export to ROS2 launch format

Team Collaboration (New in v0.2.0)

  • ate team create <name> - Create a new team
  • ate team invite <email> --role member - Invite a member
  • ate team list - List teams and members
  • ate skill share <skill-id> --team <team-slug> - Share a skill with a team

Skill Compiler (New in v0.2.1)

Compile skill.yaml specifications into deployable packages. See docs/SKILL_COMPILER.md for full documentation.

# Validate a skill specification
ate validate-skill my_skill.skill.yaml

# Compile to Python package
ate compile my_skill.skill.yaml --target python --output ./dist

# Compile to ROS2 package
ate compile my_skill.skill.yaml --target ros2 --robot robots/ur5.urdf

# Test the compiled skill
ate test-skill ./dist --mode dry-run

# Check robot compatibility
ate check-compatibility my_skill.skill.yaml --robot-urdf robots/ur5.urdf

# Publish to registry
ate publish-skill ./dist --visibility public

Quick Start for AI Assistants:

  1. ate_list_primitives - Discover available building blocks
  2. ate_validate_skill_spec - Check skill.yaml for errors
  3. ate_check_skill_compatibility - Verify robot compatibility
  4. ate_compile_skill - Generate deployable code
  5. ate_test_compiled_skill - Test without a robot

Dataset Management (New in v0.2.0)

  • ate data upload ./sensor-logs/ --skill <id> --stage raw - Upload sensor data
  • ate data list --skill <id> --stage annotated - List datasets
  • ate data promote <dataset-id> --to skill-abstracted - Promote to next stage
  • ate data export <dataset-id> --format rlds - Export dataset

Deployment & Configuration (New in v0.2.0)

  • ate deploy --config deploy.yaml --target fleet-alpha - Deploy with config
  • ate deploy status <fleet-name> - Check deployment status

Deployment & Testing

  • ate deploy <robot-type> - Deploy to a robot (e.g., unitree-r1)
  • ate test [-e gazebo|mujoco|pybullet|webots] [-r robot] - Test skills in simulation
  • ate benchmark [-t speed|accuracy|robustness|efficiency|all] - Run performance benchmarks
  • ate adapt <source-robot> <target-robot> - Adapt skills between robots

Safety & Validation

  • ate validate [-c collision|speed|workspace|force|all] - Validate safety and compliance
  • ate stream [start|stop|status] [-s sensors...] - Stream sensor data

Cursor IDE Integration (MCP)

FoodforThought CLI includes a full MCP (Model Context Protocol) server for integration with Cursor IDE.

Click this link to install in Cursor:

cursor://anysphere.cursor-deeplink/mcp/install?name=foodforthought&config=eyJtY3BTZXJ2ZXJzIjogeyJmb29kZm9ydGhvdWdodCI6IHsiY29tbWFuZCI6ICJweXRob24iLCAiYXJncyI6IFsiLW0iLCAiYXRlLm1jcF9zZXJ2ZXIiXSwgImVudiI6IHsiQVRFX0FQSV9VUkwiOiAiaHR0cHM6Ly9raW5kbHkuZnlpL2FwaSJ9fX19

Manual Installation

  1. Install the CLI:

    pip install foodforthought-cli
    
  2. Install MCP SDK:

    pip install mcp
    
  3. Add to your Cursor MCP config (~/.cursor/mcp.json or .cursor/mcp.json):

    {
      "mcpServers": {
        "foodforthought": {
          "command": "python",
          "args": ["-m", "ate.mcp_server"],
          "env": {
            "ATE_API_URL": "https://kindly.fyi/api"
          }
        }
      }
    }
    
  4. Restart Cursor

Available MCP Tools (37+)

Category Tools
Skill Compiler ate_compile_skill, ate_validate_skill_spec, ate_test_compiled_skill, ate_publish_compiled_skill, ate_check_skill_compatibility
Primitives ate_list_primitives, ate_get_primitive
Skills ate_skills_list, ate_skills_create, ate_skills_get, ate_pull, ate_upload
Testing ate_test, ate_simulate
Compatibility ate_adapt, ate_compatibility_check
Parts ate_parts_list, ate_parts_check, ate_parts_require, ate_deps_audit
Generation ate_generate
Workflows ate_workflow_validate, ate_workflow_run, ate_workflow_export
Teams ate_team_create, ate_team_invite, ate_team_list, ate_team_share
Datasets ate_data_upload, ate_data_list, ate_data_promote, ate_data_export
Deployment ate_deploy, ate_deploy_status
Audit ate_audit_trail

MCP Resources

  • skill://{id} - Skill details and configuration
  • part://{id} - Hardware part specifications
  • workflow://{id} - Workflow definition
  • team://{id} - Team information
  • deployment://{id} - Deployment status
  • audit://{id} - Audit trail

MCP Prompts

  • setup_workflow - Guide for multi-skill workflows
  • deploy_skill - Step-by-step deployment guide
  • debug_compatibility - Debug skill transfer issues
  • onboard_robot - Add a new robot to the platform
  • audit_deployment - Generate audit reports

See the MCP Server Guide for full documentation.

CI/CD Integration

GitHub Actions

Use the provided actions for CI/CD:

name: Skill CI
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: kindly-robotics/test-skill@v1
        with:
          skill-path: ./
          robot-model: ur5
      - uses: kindly-robotics/check-transfer@v1
        with:
          skill: .
          min-score: 0.6

License

MIT License. Copyright © 2024-2025 Kindly Robotics. See LICENSE.

The FoodforThought CLI (including the bundled MCP server) is open source under MIT. For Kindly's full open-source posture and per-component licensing, see docs/OPEN_SOURCE.md.

Metadata

Release files for foodforthought-cli 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for foodforthought-cli 0.6.1
File Size Uploaded
foodforthought_cli-0.6.1.tar.gz 752.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for foodforthought-cli 0.6.1
File Interpreter ABI Platform
foodforthought_cli-0.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.5 MB

Release files / foodforthought_cli-0.6.1.tar.gz

Download URL foodforthought_cli-0.6.1.tar.gz
Size 752.5 kB
Tags Source
SHA-256 checksum
How to use checksums
1a5b6cdd247860d19128aabd301c8552df51c2689372a1cf925bcd8cca644e3a
BLAKE2b-256 checksum
How to use checksums
751ca2ef964342aca6ca69b08d1cf9be164b7115817e9598e76be3c1c47ba21c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 16, 2026.

Transparency log

Release files / foodforthought_cli-0.6.1-py3-none-any.whl

Download URL foodforthought_cli-0.6.1-py3-none-any.whl
Size 770.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cd2ef9f6ef320cdb34e29c52554e57f0c693bd41cca257eb1379c98c277989b4
BLAKE2b-256 checksum
How to use checksums
48799578de9a209d64465e2810dff47181e3b70cd8e98046bc1da2c2cd4ecbe8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page