Streamlines your project management workflow, simplifies syncing multiple projects from remote repositories, helps build and run projects on a local machine, and allows for the installation, uninstallation, and updating of development software and tools. No need to remember longer commands. Share your entire development setup with your work buddies or back up your entire development setup by sharing $HOME/pancake.yml.

$ pancake list # View the list of all projects you are working on
$ pancake sync # Sync multiple projects from the remote repository
$ pancake open <project_name> # Open a specific project in IDE mentioned in config file
$ pancake build <project_name> # Build a project
$ pancake run <project_name> # Start a project on the local machine
$ pancake pwd <project_name> # Shows and copies the project path to clipboard
$ pancake monitor # Show details about the port, process PID, and uptime
$ pancake ai "find all files larger than 10MB in my home directory" # generate command out of natural language
$ pancake tool install tree # Install a tool via pancake
$ pancake tool upgrade tree # Update tools via pancakeIt keeps all project files in the $HOME/pancake folder. Sharing this single file enables the sharing of your entire developer setup, making backups and migration from one machine to another easy.
For migration and sharing projects, just copy pancake.yml to your user home location and run:
$ pancake initEverything your project needs will be installed. All the build and run configurations will already be in the configuration file, and it will sync the project from your remote repository all at once.
To install or update the tool on macOS or Linux, run the following command in your terminal:
curl -fsSL https://raw.githubusercontent.com/a6h15hek/pancake/main/macos_linux.sh | bashTo uninstall the tool, use the following command:
curl -fsSL https://raw.githubusercontent.com/a6h15hek/pancake/main/macos_linux.sh | bash -s -- uninstallTo install or update the tool on Windows, open PowerShell as Administrator and run the following command:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;
$script = (New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/a6h15hek/pancake/main/windows.ps1');
& ([scriptblock]::Create($script)) -Action installTo uninstall the tool, use the following command in PowerShell:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;
$script = (New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/a6h15hek/pancake/main/windows.ps1');
& ([scriptblock]::Create($script)) -Action uninstallYou can install the tool using go install:
go install github.com/a6h15hek/pancake@latestAlternatively, download the pre-built binaries from the Releases page.
$ pancake help # prints the version, edit config commands
$ pancake project # prints all project commands
$ pancake tool # prints all tool commandsWindows (PowerShell)
Step 1: Open PowerShell profile and Run: notepad $PROFILE
Step 2: Add: Set-Alias pc pancake
Step 3: Save, close and Run Command: . $PROFILE
macOS and Linux
Step 1: Open shell config file: nano ~/.bashrc
Step 2: Add: alias pc='pancake'
Step 3: Save, reload: source ~/.bashrc \
Pancake AI allows you to write commands in natural language and have them translated into executable shell commands. It utilizes AI models (supporting both Gemini and ChatGPT) to understand your input, generate the corresponding command, and offers you the choice to execute it, copy it, or ask a follow-up question.
$ pancake ai "find all files larger than 10MB in my home directory"- This will start an interactive session where the AI will provide the command. You will then have the following options:
- Run Code: Press Ctrl+R to execute the generated command directly (for bash and python).
- Copy Command: Press Enter to copy the command to your clipboard. +- Quit: Press Ctrl+C to exit the session.
- Follow-up: Simply start typing a follow-up question and press Enter.
To use Pancake AI, you need to configure your preferred AI provider in your $HOME/pancake.yml file. Add your API key for either Gemini or ChatGPT.
default_ai: gemini # or chatgpt:
api_key: "YOUR_OPENAI_API_KEY"
temperature: 0.7
url: "https://api.openai.com/v1/chat/completions"
model: "gpt-3.5-turbo"
context: "PRINT OUTPUT IN MARKDOWN. You are a helpful assistant that translates natural language into executable shell commands..."
+gemini:
api_key: "YOUR_GEMINI_API_KEY"
temperature: 0.7
url: "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent"
context: "You are a helpful assistant that translates natural language into executable shell commands. Only provide the command, with no extra text or explanation."
pancake/
├── utils/
│ ├── constants.go
│ ├── functions.go
│ ├── structure.go
├── cmd/
│ ├── root.go
│ ├── project.go
│ ├── tools.go
├── main.go
├── go.mod
└── go.sum
go build
go install
pancake [args]# Pancake Configuration File.
# Home directory for project storage
home: $HOME/pancake # For MacOS & Linux
#home: '%userprofile%/pancake' # For Windows
code_editor: code # Preferred code editor (code -> VS Code, idea -> IntelliJ IDE)
tools:
- tree
projects:
spring-boot:
remote_ssh_url: git@github.com:spring-guides/gs-spring-boot.git
run: cd gs-spring-boot/initial && mvn spring-boot:run
build: cd gs-spring-boot/initial && mvn clean install
june-gpt:
remote_ssh_url: git@github.com:suren-atoyan/react-pwa.git
type: web
port: "3000"
run: npm start
build: npm installGOOS=linux GOARCH=amd64 go build -o pancake-linux-amd64
GOOS=darwin GOARCH=amd64 go build -o pancake-darwin-amd64
GOOS=windows GOARCH=amd64 go build -o pancake-windows-amd64.exeThank you for visiting the Pancake repository! Feel free to fork and 🌟 the repository!