Skip to main content

CLI tool for FoodforThought robotics repository platform - manage robot skills and data

Project description

FoodforThought CLI

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

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

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

Copyright © 2024-2025 Kindly Robotics. All rights reserved.

Project details


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.2.4.tar.gz (149.1 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.2.4-py3-none-any.whl (163.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for foodforthought_cli-0.2.4.tar.gz
Algorithm Hash digest
SHA256 85c0bac0431bce66f669a6403ee73b5f63be42abc1828cfca0ccb2ba6e93ec1b
MD5 88c4be0b890653126908c690b5ed4079
BLAKE2b-256 b69c188603aa17c677db28eabdb4a432fe825eaac0cf92ec86086eaaaca61be1

See more details on using hashes here.

Provenance

The following attestation bundles were made for foodforthought_cli-0.2.4.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.2.4-py3-none-any.whl.

File metadata

File hashes

Hashes for foodforthought_cli-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a1709be04961bbd4f9a224669f7c573dc53a537540f6635222680d4a2235dd92
MD5 b32ff48a6c00cb673c8a63b5ffee1a1f
BLAKE2b-256 113f2a76b4bc3cb0f99f7f839972fdcdff23d5f9fb525d94740a37bc3da92b27

See more details on using hashes here.

Provenance

The following attestation bundles were made for foodforthought_cli-0.2.4-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.

Supported by

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