osr-mono/packages/osr-code-bot/docs_/examples.md
2025-01-30 00:50:58 +01:00

2.8 KiB

CLI Examples

Basic Commands

Modify Project Files

# Basic project modification
kbot "Add error handling to API endpoints"

# Using stdin for prompt
echo "Add error handling to API endpoints" | kbot

# Pipe file content as prompt
cat prompt.txt | kbot


# Specify files using include patterns
kbot --include "src/**/*.ts" "Update TypeScript types"

kbot "Add unit tests for src/commands/*" --include="./src/commands/*.ts"

View Logs

# View modification history
kbot log .

Node.js API Projects

# Add API endpoints
kbot --include "src/routes/*.ts" "Add authentication middleware"

# Update API models
kbot --include "src/models/*.ts" "Add validation"

Advanced Features

Using Profiles

Profiles allow you to define variables that can be used across your project and templates. These variables can be accessed using ${VARIABLE_NAME} syntax in your tools and template partials.

# Use a specific profile file
kbot "Update configuration" --profile=./profiles/profile.json

# Use environment-specific variables
kbot "Configure for Hugo release" --profile=./profiles/profile.json --env=hugo-release

Example profile.json structure:

{
  "variables" : {
    "foo": "bar"
  },
  "env": {
    "hugo-release": {
      "variables":{
        "GIT_USER": "hugo-deployer",
        "DEPLOY_TARGET": "production"
      }
    }
  }
}
  • Top-level variables are used as defaults
  • Environment-specific variables (specified by --env) override defaults
  • Variables can be used in tools and template partials using ${VARIABLE_NAME} syntax

Custom Output Path

# Save modifications to different directory
kbot --output ./modified "Refactor code"

AI Model Selection

# Use specific OpenAI model
kbot --router openai --model gpt-4 "Optimize code"

# Use Anthropic Claude
kbot --model anthropic/claude-3-opus "Add documentation"

Tool Control

# Disable specific tools
kbot --disable git "Update code without git commits"

# Disable multiple tool categories
kbot --disable fs,npm,git "Analyze code only"

File Selection

# Multiple include patterns
kbot --include "src/**/*.ts" --include "test/**/*.ts" "Update types"

# Exclude patterns
kbot --include "src/**/*.ts" --include "!src/generated/**" "Refactor code"

Environment and Profile

# Use specific environment
kbot --env production "Add production configs"

# Custom profile path
kbot --profile ./custom-profile.json --env production

Scripting

# Generate modification script
kbot --dump ./modify-script.sh "Add types"

Input Types

The tool supports different types of input:

# Text input through stdin
echo "Add error handling" | kbot

# Piping files
cat my-prompt.md | kbot

# Specifying a file
kbot my-prompt.md