https://github.com/geko-tech/geko
Geko is a Command-line tool for managing development infrastructure for Xcode-based projects.
https://github.com/geko-tech/geko
swift xcode
Last synced: about 1 month ago
JSON representation
Geko is a Command-line tool for managing development infrastructure for Xcode-based projects.
- Host: GitHub
- URL: https://github.com/geko-tech/geko
- Owner: geko-tech
- License: other
- Created: 2025-12-11T15:29:25.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-01-29T15:23:53.000Z (about 2 months ago)
- Last Synced: 2026-01-30T04:30:02.606Z (about 2 months ago)
- Topics: swift, xcode
- Language: Swift
- Homepage: https://geko-tech.github.io/geko/
- Size: 28.8 MB
- Stars: 85
- Watchers: 0
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Geko
Geko is a Command-line tool for managing development infrastructure for Xcode-based projects.
Key features
- 🧩 **Swift based DSL** for describing structure of your project
- ⚡️ **Fast generation** of `.xcodeproj` and `.xcworkspace` even for thousands of modules
- 🗄️ **Integrated build cache** with local and remote S3 storage
- 📦 **Built-in package** manager for Cocoapods dependencies
- 🧱 **SPM dependencies support**
- 🧠 **Advanced plugin system** that covers even most complex cases that your project requires
- 🐧 **Linux support** for subset of features
## Documentation
Documentation is available at [geko-tech.github.io/geko/](https://geko-tech.github.io/geko/)
## Available repositories
* [Main repository](https://github.com/geko-tech/geko) of Geko CLI and Geko Desktop
* [Project description repository](https://github.com/geko-tech/project-description) contains a public interface for describing Xcode projects using Geko
* [Plugins repository](https://github.com/geko-tech/geko-plugins) contains official Geko plugins and examples of Geko plugins
## Installation
### Manual
1. Download latest release and unarchive it into folder of your choosing, for example into `~/.local/bin`
2. Add that folder to `PATH` variable in config file of your shell.
Example for `zsh`
in `~/.zshrc`
```bash
export PATH=/Users/my.user/.local/bin:$PATH
```
### Via install.sh
1. Donwload install.sh file
2. Run `chmod +x install.sh`
3. Run `./install.sh` or pass exact release tag `./install.sh Geko@1.0.0`
Make sure you are using zsh or manually add the path to executable into your shell config file.
```bash
export PATH=/Users/my.user/.local/bin:$PATH
```