Reference

Complete reference for commands, keyboard shortcuts, configuration, and Cooklang syntax.

Commands Reference

CookBot supports slash commands for quick actions. Type / followed by the command name. Commands support autocomplete - type / to see all available options.

General Commands

Command Description Example
/help Show help message with commands and shortcuts /help
/init Set up COOK.md preferences through guided interview /init
/clear Clear the conversation history /clear
/save [filename] Save conversation to a Markdown file /save my-session.md
/update Check for and install updates /update
/feedback Send feedback to the Cook.md team /feedback
/quit or /exit Exit CookBot /quit

Authentication Commands

Command Description
/login Authenticate with your Cook.md account
/logout Sign out of your account

Recipe Commands

Command Description Example
/recipe <path> Display a recipe with metadata and ingredients /recipe Soups/borscht.cook
/recipe <path>:scale Display a scaled recipe /recipe pasta.cook:2

Shopping Cart Commands

Command Description Example
/cart or /cart show Display the current shopping list /cart
/cart add <recipe> Add a recipe to the shopping list /cart add Soups/borscht.cook
/cart add <recipe>:scale Add a scaled recipe /cart add pasta.cook:2
/cart remove <recipe> Remove a recipe from the list /cart remove Soups/borscht.cook
/cart clear Clear the entire shopping list /cart clear

Settings Commands

Command Description
/settings or /config Open settings (Config tab)
/status Open settings (Status tab)
/usage Open settings (Usage tab)

Advanced Commands

Command Description
/compact Manually compact conversation context (reduces token usage)

Keyboard Shortcuts

Input Modes

CookBot has two input modes: Normal mode and Compose mode. Toggle between them with F4.

Shortcut Normal Mode Compose Mode
Enter Send message Add new line
Alt+Enter Add new line Send message
F4 Toggle to Compose mode Toggle to Normal mode
Ctrl+J Add new line Send message

Tip: Normal mode is great for quick single-line messages. Switch to Compose mode when writing longer, multi-paragraph prompts or pasting recipes.

Navigation

Shortcut Action
Esc Exit input mode (enter scroll mode)
Enter or i Enter input mode (from scroll mode)
PgUp / PgDn Scroll chat by 10 lines
Cmd+Up / Cmd+Down (macOS) Scroll chat by 10 lines
Ctrl+Up / Ctrl+Down Scroll chat by 1 line
Ctrl+Home / Cmd+Home Scroll to top
Ctrl+End / Cmd+End Scroll to bottom

Global Shortcuts

Shortcut Action
Ctrl+C Quit CookBot
Ctrl+S Save conversation to file
q Quit (when in scroll mode)

Autocomplete

Shortcut Action
@ Trigger file autocomplete
/ Trigger command autocomplete
Up / Down Navigate autocomplete suggestions
Tab Insert selected suggestion
Enter Insert and execute (for commands)
Esc Cancel autocomplete

Input History

Shortcut Action
Up Previous input from history
Down Next input from history

Note: Some shortcuts may conflict with your terminal emulator's default bindings. Check your terminal settings if a shortcut doesn't work as expected.

Configuration

Recipes Directory

Specify your recipes directory when launching CookBot:

# Explicit path
cookbot ~/Documents/Recipes

# Current directory (default)
cookbot

# With tilde expansion
cookbot ~/my-recipes

Custom Instructions (COOK.md)

Create a COOK.md file in your recipes directory to provide custom instructions to the AI. This file helps CookBot understand your preferences and conventions.

Example COOK.md:

# My Recipe Collection

## Dietary Preferences
- No peanuts (family allergy)
- Prefer whole grains
- Lean proteins preferred

## Recipe Standards
- All recipes should include servings and time metadata
- Use metric measurements
- Include source URLs when available

## Directory Structure
- weeknight/ - Quick meals under 30 minutes
- meal-prep/ - Batch cooking recipes
- desserts/ - Sweets and treats
- plans/ - Weekly meal plans

## Meal Planning Rules
- Include at least 1 vegetarian meal per week
- Don't repeat proteins on consecutive days
- Consider leftover potential (prefer 4+ servings)

## Do Not
- Never suggest recipes with peanuts
- Don't create duplicate recipes without checking first

Environment Variables

Variable Description Default
CODE_FILE_PATH Custom path to COOK.md ./COOK.md in recipes dir
SERVER_URL gRPC server URL 127.0.0.1:50052
CLAUDE_MODEL Display model name claude-sonnet-4-5
WEB_BASE_URL Auth server URL https://cook.md
COOKBOT_NO_UPDATE_CHECK Disable auto-update checks (not set)

Settings Storage

CookBot stores settings in ~/.cookbot/:

  • settings.json - Persisted preferences
  • auth.json - Authentication tokens (auto-managed)
  • .shopping_list.txt - Shopping cart (in recipes directory)

Privacy Note: Your recipes stay on your local machine. Only your queries and explicitly requested content are sent to the AI service for processing.

Cooklang Quick Reference

Ingredients

@salt                       -- Simple ingredient
@salt{1%tsp}               -- With quantity and unit
@chicken breast{500%g}     -- Multi-word ingredient
@butter{=50%g}             -- Fixed (doesn't scale)
@onion{1}(diced)           -- With preparation note

Cookware

#pot                       -- Simple cookware
#baking sheet{}            -- Multi-word cookware
#cast iron skillet{large}  -- With description

Timers

~{25%minutes}              -- Unnamed timer
~pasta{10%min}             -- Named timer

Metadata (YAML frontmatter)

---
title: Spaghetti Carbonara
servings: 4
time: 30 minutes
tags: [pasta, quick, italian]
---

Menu Files

[Monday]
Soups/tomato-soup.cook:2
Breads/focaccia.cook

[Tuesday]
Pasta/carbonara.cook
Salads/caesar.cook

CookBot Documentation - Last Updated: December 2024

Have questions? Contact us or join the community on Discord.