Skip to content

Latest commit

 

History

History
111 lines (82 loc) · 3.38 KB

File metadata and controls

111 lines (82 loc) · 3.38 KB

AGENTS.md

Branch Strategy

Branch Purpose
main For releases. Stable versions only.
develop For development. Merge target for topic branches.

Workflow

  1. Create a topic branch from develop
  2. After completing work, merge into develop
  3. When releasing, merge develop into main
main ────●─────────────────●────
         │                 ↑
develop ─┴──●──●──●──●─────┴────
             ↑  ↑
            feat/a feat/b

Supported Platforms

OS

OS Architectures Notes
macOS x64, ARM64 Homebrew available
Linux x64, ARM64 .deb package available (Ubuntu/Debian)
Windows x64 PowerShell installation

WSL2 is supported via Linux binaries.

Filesystem (Copy-on-Write Optimization)

Filesystem Platform CoW Support
APFS macOS Yes
Btrfs Linux Yes
XFS Linux Yes
Others All Fallback to standard copy

Shell

  • Zsh
  • Bash
  • Fish
  • Nushell
  • PowerShell

Development Environment

  • Runtime: Bun (setup with mise install)
  • Run: bun run main.ts
  • Compile: bun build --compile --minify --outfile vibe main.ts

CLI Guidelines

  • Follow GNU Coding Standards for command-line interface design
    • Support --help and --version options
    • Use long options with -- prefix (e.g., --verbose)
    • Use short options with - prefix (e.g., -v)

Coding Guidelines

SOLID Principles

Code should follow SOLID principles:

  • Single Responsibility Principle: A class or function should have only one reason to change
  • Open/Closed Principle: Open for extension, closed for modification
  • Liskov Substitution Principle: Subtypes must be substitutable for their base types
  • Interface Segregation Principle: Clients should not be forced to depend on methods they do not use
  • Dependency Inversion Principle: High-level modules should not depend on low-level modules; both should depend on abstractions

Testing

  • Lint check: pnpm run lint
  • Format check: pnpm run format:check
  • Type check: pnpm run typecheck
  • Run tests: pnpm run test
  • Run all checks: pnpm run check:core (runs format:check, lint, typecheck, and test)
  • All checks must pass before committing

Documentation

  • Source code comments and documentation: English
  • *.ja.md files: Japanese

PR Guidelines

  • Title format: <type>: <description>
    • type: feat, fix, docs, refactor, test, chore
  • PR title and description must be written in English
  • Must pass pnpm run lint and pnpm run format:check
  • Add or update tests for changed code

Release

  • After merging to main, create and publish a release on GitHub to trigger GitHub Actions build
  • Steps:
    1. GitHub → Releases → Draft a new release
    2. Create a tag (e.g., v0.1.0)
    3. Write release notes and click "Publish release"