Files
gims/.kiro/steering/tech.md
T

1.8 KiB

Technology Stack

Runtime & Language

  • Node.js: >= 18.18.0 (Node 20+ recommended)
  • JavaScript: CommonJS modules ("type": "commonjs")
  • Package Manager: npm (with package-lock.json)

Core Dependencies

  • commander: CLI framework for command parsing and structure
  • simple-git: Git operations and repository management
  • clipboardy: Cross-platform clipboard operations
  • @google/genai: Google Gemini AI integration
  • openai: OpenAI API client

Architecture Patterns

  • Single-file CLI application (bin/gims.js)
  • Functional programming approach with utility functions
  • Configuration via environment variables and .gimsrc JSON files
  • Graceful fallbacks and error handling throughout
  • ANSI color utilities without external dependencies

Code Style Conventions

  • Use const for immutable values, avoid var
  • Prefer template literals for string interpolation
  • Use async/await for asynchronous operations
  • Implement comprehensive error handling with try/catch
  • Keep functions focused and modular
  • Use descriptive variable names (e.g., rawDiff, prefProvider)
  • Comment complex logic and AI prompt engineering sections

Common Commands

Development

# Install dependencies
npm install

# Test installation
npm test  # Currently returns "No tests yet"

# Global installation for testing
npm install -g .

Publishing

# Update version
npm version patch|minor|major

# Publish to npm
npm publish

Local Development Testing

# Link for local testing
npm link

# Test CLI commands
gims --help
g --help

Configuration Management

  • Environment variables for API keys (OPENAI_API_KEY, GEMINI_API_KEY, GROQ_API_KEY)
  • Optional .gimsrc JSON config in project root or home directory
  • Runtime provider detection and fallback logic
  • Support for custom models and base URLs