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 organizationnot 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.

Quick Install via Deep Link

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

foodforthought_cli-0.6.1.tar.gz (752.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

foodforthought_cli-0.6.1-py3-none-any.whl (770.3 kB view details)

Uploaded Python 3

File details

Details for the file foodforthought_cli-0.6.1.tar.gz.

File metadata

  • Download URL: foodforthought_cli-0.6.1.tar.gz
  • Upload date:
  • Size: 752.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for foodforthought_cli-0.6.1.tar.gz
Algorithm Hash digest
SHA256 1a5b6cdd247860d19128aabd301c8552df51c2689372a1cf925bcd8cca644e3a
MD5 3e25c7b07765f5e31fbc3198c1eeff2b
BLAKE2b-256 751ca2ef964342aca6ca69b08d1cf9be164b7115817e9598e76be3c1c47ba21c

See more details on using hashes here.

Provenance

The following attestation bundles were made for foodforthought_cli-0.6.1.tar.gz:

Publisher: cli-release.yml on kindlyrobotics/monorepo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file foodforthought_cli-0.6.1-py3-none-any.whl.

File metadata

File hashes

Hashes for foodforthought_cli-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cd2ef9f6ef320cdb34e29c52554e57f0c693bd41cca257eb1379c98c277989b4
MD5 9b19df623feff6bc94305f8c9c5118a2
BLAKE2b-256 48799578de9a209d64465e2810dff47181e3b70cd8e98046bc1da2c2cd4ecbe8

See more details on using hashes here.

Provenance

The following attestation bundles were made for foodforthought_cli-0.6.1-py3-none-any.whl:

Publisher: cli-release.yml on kindlyrobotics/monorepo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 files

0.6.0

2 files

0.5.0

2 files

0.4.2

2 files

0.4.1

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.8

2 files

0.2.7

2 files

0.2.4

2 files

0.2.3

2 files

0.2.1

2 files

0.2.0

2 files

0.1.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page