{"id":28484089,"url":"https://github.com/anaskalt/yoctoctl","last_synced_at":"2026-05-10T05:03:04.449Z","repository":{"id":297304426,"uuid":"994636058","full_name":"anaskalt/yoctoctl","owner":"anaskalt","description":"Container orchestration CLI for managing Yocto development environments on Apple Silicon macOS","archived":false,"fork":false,"pushed_at":"2025-06-04T21:23:37.000Z","size":31,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-29T13:44:25.984Z","etag":null,"topics":["apple","apple-silicon","cli","crops","docker","gum","macos","poky","shell","yocto"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anaskalt.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-02T08:44:32.000Z","updated_at":"2025-06-04T21:23:27.000Z","dependencies_parsed_at":"2025-06-05T02:00:07.173Z","dependency_job_id":"e669cb3c-00fc-4f51-9a57-787c2dec26a2","html_url":"https://github.com/anaskalt/yoctoctl","commit_stats":null,"previous_names":["anaskalt/yoctoctl"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/anaskalt/yoctoctl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anaskalt%2Fyoctoctl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anaskalt%2Fyoctoctl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anaskalt%2Fyoctoctl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anaskalt%2Fyoctoctl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anaskalt","download_url":"https://codeload.github.com/anaskalt/yoctoctl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anaskalt%2Fyoctoctl/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266909347,"owners_count":24004651,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apple","apple-silicon","cli","crops","docker","gum","macos","poky","shell","yocto"],"created_at":"2025-06-07T22:06:21.314Z","updated_at":"2026-05-10T05:03:04.362Z","avatar_url":"https://github.com/anaskalt.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# yoctoctl - Yocto Development Environment Manager\n\nA comprehensive environment management tool for Poky CROPS development on Apple Silicon macOS, providing automated container orchestration, network configuration and seamless file system integration.\n\n## Overview\n\n`yoctoctl` provides a streamlined interface for managing containerized Yocto Project development environments, specifically optimized for Apple Silicon Macs. It automates the complexity of container lifecycle management while providing seamless integration with macOS native tools.\n\n## Key Features\n\n- **Automated Container Lifecycle Management** - Intelligent orchestration of file server and build containers\n- **Network Infrastructure Configuration** - Automatic SMB endpoint setup for native macOS file access\n- **Interactive Command Interface** - Professional TUI powered by Charm's gum for intuitive operations\n- **Real-time Environment Monitoring** - Comprehensive health checks and status reporting\n- **Persistent Storage Management** - Shared volume architecture for efficient builds across projects\n\n## System Requirements\n\n- macOS on Apple Silicon (M1/M2/M3/M4)\n- Docker Desktop 4.0+ with Rosetta enabled\n- Homebrew package manager\n- Minimum 16GB RAM (8GB usable for Docker)\n- Minimum 100GB available disk space\n\n## Installation\n\n### Prerequisites\n\n```bash\n# Install Homebrew if not already installed\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n\n# Install gum for UI components\nbrew install gum\n\n# Verify Docker Desktop is installed and running\ndocker --version\n```\n\n### Installing yoctoctl\n\n```bash\n# Download the latest release\nsudo curl -L https://raw.githubusercontent.com/anaskalt/yoctoctl/main/yoctoctl -o /usr/local/bin/yoctoctl\n\n# Make executable\nsudo chmod +x /usr/local/bin/yoctoctl\n\n# Verify installation\nyoctoctl version\n```\n\n## Quick Start\n\n\u003e **Note**: First-time users must build the container infrastructure. See the [Yocto Development Environment for Apple Silicon](docs/SETUP.md) guide for detailed instructions.\n\n```bash\n# Initialize and start the development environment\nyoctoctl start\n\n# Check environment status\nyoctoctl status\n\n# Connect to the development shell\nyoctoctl shell\n\n# Access files via Finder\nopen \"smb://127.0.0.2/workdir\"\n```\n\n## Usage\n\n### Interactive Mode\n\nLaunch without arguments for the interactive menu:\n\n```bash\nyoctoctl\n```\n\n### Command Line Mode\n\n```bash\nyoctoctl [command]\n\nCommands:\n  status    Display comprehensive environment status\n  start     Initialize and start Yocto containers\n  shell     Connect to Poky development container\n  shutdown  Stop all containers gracefully\n  version   Display version information\n  help      Show help message\n```\n\n## Container Architecture\n\nThe system manages two primary containers:\n\n1. **yocto-fileserver** - Samba server providing SMB access to the workspace\n2. **yocto-builder** - Poky CROPS environment for Yocto builds\n\nBoth containers share a persistent Docker volume (`yocto-workspace`) ensuring data preservation across sessions.\n\n## Documentation\n\n- [Yocto Development Environment for Apple Silicon](docs/SETUP.md) - Comprehensive guide for environment setup and deployment\n- [Architecture Overview](docs/ARCHITECTURE.md) - Technical implementation details\n\n## Troubleshooting\n\n### Common Issues\n\n**Docker daemon not running**\n```bash\n# Start Docker Desktop application\nopen -a Docker\n```\n\n**Network alias already exists**\n```bash\n# The tool handles this automatically, but you can manually clear:\nsudo ifconfig lo0 -alias 127.0.0.2\n```\n\n**Permission denied on script execution**\n```bash\n# Ensure proper permissions\nsudo chmod +x /usr/local/bin/yoctoctl\n```\n\n## Contributing\n\nContributions are welcome! Please feel free to submit issues or pull requests.\n\n## Author\n\n**Anastasios Kaltakis**  \nGitHub: [@anaskalt](https://github.com/anaskalt)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- [Charm](https://charm.sh/) for the excellent gum TUI framework\n- [CROPS](https://github.com/crops/) for Poky container images\n- [ejaaskel](https://github.com/ejaaskel/yocto-dockerfiles) for exceptional work supporting Yocto on Apple Silicon Macs\n- The Yocto Project community","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanaskalt%2Fyoctoctl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanaskalt%2Fyoctoctl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanaskalt%2Fyoctoctl/lists"}