Skip to main content

grove

| Use when this capability is needed.

설치로 이동

소스 정보

저장소
tomevault-io/claude-code-plugins
최근 소스 활동
2026년 4월 8일 12:04
감지된 SKILL.md 언어
영어
스타
3
포크
2

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
grove
description
| Use when this capability is needed.
# Grove Development ## Project Stack - **Runtime**: Bun - **Language**: TypeScript (strict mode) - **CLI Framework**: Commander.js - **Git Operations**: simple-git library - **Testing**: Bun's built-in test runner ## Development Workflow ### Before committing ```bash bun run typecheck # Type check bun test # Run all tests ``` ### Common commands ```bash bun install # Install dependencies bun run dev # Run in development mode bun run build # Build to dist/ bun run build:compile # Build single executable ``` ## Code Patterns ### Adding a new command 1. Create `src/commands/<name>.ts` with factory function: ```typescript import { Command } from "commander"; import { handleCommandError } from "../utils"; export function create<Name>Command(): Command { return new Command("<name>") .description("Short description") .argument("<arg>", "Argument description") .option("-f, --flag", "Flag description") .action(async (arg, options) => { try { // Implementation } catch (error) { handleCommandError(error); } }); } ``` 2. Register in `src/index.ts`: ```typescript import { create<Name>Command } from "./commands/<name>"; program.addCommand(create<Name>Command()); ``` ### Git operations Use `WorktreeManager` class instead of calling git directly: ```typescript const manager = await WorktreeManager.discover(); // Use manager methods for git operations ``` ### Error handling ```typescript import { formatError, formatWarning, handleCommandError } from "../utils"; // In action handlers, wrap with try/catch calling handleCommandError ``` ### Interfaces Define in `src/models/index.ts` ## Testing ### Structure - **Unit tests**: `test/unit/*.test.ts` - Uses Bun's built-in test runner - **Integration tests**: `test/integration/*.hone` - Uses [Hone](https://hone.safia.dev/) CLI testing framework ### Unit test pattern ```typescript import { describe, test, expect, mock } from "bun:test"; describe("FeatureName", () => { test("should do something", () => { expect(result).toBe(expected); }); }); ``` ### Running tests ```bash bun test # Unit tests only bun run test:integration # Builds executable, runs Hone tests ``` ## Commit Messages Use Conventional Commits format: ``` <type>: <subject> ``` Types: `feat`, `fix`, `chore`, `test`, `doc` Rules: - Lowercase type and subject - No period at end - Imperative mood ("add" not "added") - Under 72 characters Examples: ``` feat: add support for branch tracking fix: handle missing git config gracefully chore: update dependencies test: add edge case tests for prune doc: update readme with new command ``` ## Documentation When adding/changing commands: 1. Update `README.md` Commands section 2. Update `site/index.html` to match (keep in sync) ## Platform Support Linux and macOS only (x64, arm64). No Windows code. --- > Converted and distributed by [TomeVault](https://tomevault.io) | [Claim this content](https://tomevault.io/claim/captainsafia/grove) <!-- tomevault:3.0:skill_md:2026-04-07 -->
GitHub에서 보기