Skip to main content
The Local class lets you customize how the Cloud Code SDK works in your project. Here’s how to set it up for common scenarios, with simple examples.

Quick Start: Minimal Setup

from cloudcode import Local
import os

sdk = Local(
    working_dir=os.getcwd(),
    api_key=os.getenv("CLOUD_CODE_API_KEY")
)
  • working_dir: Directory for file operations (usually your project root)
  • api_key: Your Cloud Code API key (recommended via environment variable)

Common Configurations

1. Basic Usage (No Git, Default Model)

sdk = Local(
    working_dir="/path/to/project",
    api_key=os.getenv("CLOUD_CODE_API_KEY")
)
  • Use this for simple projects or scripts.

2. Custom Model

sdk = Local(
    working_dir="/path/to/git/repo",
    model="sonnet", # alias for claude-sonnet-3-7-latest
    api_key=os.getenv("CLOUD_CODE_API_KEY")
)
  • Enables version control for all changes (must be inside a git repo).

3. Architect Mode (Two-Model Workflow)

sdk = Local(
    working_dir=os.getcwd(),
    model="o4-mini",           # Planner model
    editor_model="gpt-4.1",   # Editor model
    architect_mode=True,
    use_git=False,             # Optional
    api_key=os.getenv("CLOUD_CODE_API_KEY")
)
  • Use for large or complex changes. Planner model makes a plan, editor model applies changes.

4. Custom Session Tracking

sdk = Local(
    working_dir=os.getcwd(),
    session_id="my-session-123",
    api_key=os.getenv("CLOUD_CODE_API_KEY")
)
  • Set a custom session ID for tracking usage.

All Configuration Options

ParameterTypeDefaultDescription
working_dirstrRequiredDirectory for file operations
modelstr”gpt-4.1-nano”Main AI model
editor_modelstrNoneSeparate model for editing (used in architect mode)
use_gitboolFalseUse git for version control
api_keystrRequiredCloud Code API key
architect_modeboolFalseEnable planner + editor workflow
weak_modelstrNoneWeak model in architect mode
session_idstrNoneCustom session identifier

How to List Available Models

from cloudcode import Local

print(Local.list_models())           # List all models
print(Local.list_models("gpt"))     # Filter by name

Example: Run a Coding Task

result = sdk.code(
    prompt="Add a multiply and divide function to calculator.py",
    editable_files=["src/calculator.py"],
    readonly_files=[]
)
if result["success"]:
    print("Changes made:", result["diff"])

Best Practices

  • Set API keys via environment variables for security
  • Enable git for important projects
  • Use architect_mode for big or complex changes
  • Pick models based on your task’s complexity

For more examples, see the examples folder.