{"owner":"F1bonacc1","repo":"process-compose","hasSkills":true,"totalSkillsCount":1,"totalTokensCount":954,"categories":["claude-rule"],"hasMcp":false,"mcpConfig":null,"found":["CLAUDE.md"],"skills":{"CLAUDE.md":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## Project Overview\n\nProcess Compose is a process orchestrator for non-containerized applications, written in Go. It uses YAML configuration (similar to docker-compose) to define and manage processes with dependency tracking, health checks, scheduling, and more. It operates in multiple modes: TUI (default), HTTP API server, daemon, and MCP server.\n\n## Build & Development Commands\n\n```bash\nmake build              # Build binary to bin/process-compose (CGO_ENABLED=0)\nmake test               # Run tests with coverage\nmake testrace           # Run tests with race detector\nmake testrace-clean     # Clear test cache, then run with race detector\nmake lint               # Run golangci-lint (downloads to ./bin/ if needed)\nmake coverhtml          # Generate HTML coverage report\nmake swag               # Regenerate Swagger/OpenAPI docs\nmake schema             # Regenerate JSON schema\nmake docs               # Regenerate CLI documentation\n```\n\n**Run a single test:**\n```bash\ngo test -run TestName ./src/package/...\n```\n\n**Run with debug mode:**\n```bash\nPC_DEBUG_MODE=1 ./bin/process-compose -e .env\n```\n\n## Architecture\n\n**Entry point:** `main.go` → `src/cmd/root.go` (Cobra CLI framework)\n\n### Key Packages (all under `src/`)\n\n| Package | Purpose |\n|---------|---------|\n| `cmd/` | Cobra CLI command definitions |\n| `app/` | Core process execution engine — `ProjectRunner` manages lifecycle of all processes, `Process` wraps individual process execution |\n| `types/` | Domain models — `Project`, `ProcessConfig`, `ProcessState`, dependency graph |\n| `loader/` | YAML config parsing, env var expansion, project merging, validation |\n| `config/` | CLI flags, global settings, themes, version info (embedded via ldflags) |\n| `api/` | REST API using Gin framework, WebSocket support, Swagger docs |\n| `tui/` | Terminal UI using `rivo/tview` — process table, log viewer, terminal view |\n| `client/` | HTTP client for remote API communication |\n| `health/` | Liveness/readiness probe implementations (HTTP, exec) |\n| `scheduler/` | Cron/interval-based process scheduling via `gocron/v2` |\n| `mcp/` | Model Context Protocol server, tools, and resources |\n| `pclog/` | Process log buffers with rotation and ANSI color tracking |\n| `command/` | Shell command execution abstraction (cross-platform, PTY support) |\n| `admitter/` | Namespace-based process filtering |\n| `templater/` | Variable/template expansion using envsubst |\n\n### Data Flow\n\n```\nCLI/API Input → Cobra Commands (cmd/) → ProjectRunner (app/)\n  → Process execution with dependency resolution\n  → Health checks (health/) + Scheduling (scheduler/)\n  → State updates → TUI (tui/) / API (api/) output\n  → Logs → ProcessLogBuffer (pclog/)\n```\n\n### Process Lifecycle\n\nStates: `Pending → Launching → Running → [Restarting] → Terminating → Completed/Error`\n\nDependency conditions: `process_started`, `process_healthy`, `process_completed`, `process_log_ready`\n\n### Config Auto-Discovery\n\nSearches for: `compose.yml`, `compose.yaml`, `process-compose.yml`, `process-compose.yaml` with optional `.override.*` files.\n\n## Key Frameworks & Libraries\n\n- **CLI:** `spf13/cobra`\n- **HTTP API:** `gin-gonic/gin`\n- **TUI:** `rivo/tview` + `gdamore/tcell/v2`\n- **YAML:** `gopkg.in/yaml.v3`\n- **Logging:** `rs/zerolog`\n- **Process metrics:** `shirou/gopsutil/v4`\n- **Scheduling:** `go-co-op/gocron/v2`\n- **MCP:** `mark3labs/mcp-go`\n\n## Concurrency Model\n\nHeavy use of goroutines, mutexes, and channels for process coordination. `ProjectRunner` uses fine-grained mutexes to manage shared process state maps. Always run `make testrace` to catch data races.\n\n## Rust Component\n\nA Rust client library lives in `crates/` (workspace with `client` and `example` crates). This is a separate component with its own CI workflow.\n"},"files":{"CLAUDE.md":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## Project Overview\n\nProcess Compose is a process orchestrator for non-containerized applications, written in Go. It uses YAML configuration (similar to docker-compose) to define and manage processes with dependency tracking, health checks, scheduling, and more. It operates in multiple modes: TUI (default), HTTP API server, daemon, and MCP server.\n\n## Build & Development Commands\n\n```bash\nmake build              # Build binary to bin/process-compose (CGO_ENABLED=0)\nmake test               # Run tests with coverage\nmake testrace           # Run tests with race detector\nmake testrace-clean     # Clear test cache, then run with race detector\nmake lint               # Run golangci-lint (downloads to ./bin/ if needed)\nmake coverhtml          # Generate HTML coverage report\nmake swag               # Regenerate Swagger/OpenAPI docs\nmake schema             # Regenerate JSON schema\nmake docs               # Regenerate CLI documentation\n```\n\n**Run a single test:**\n```bash\ngo test -run TestName ./src/package/...\n```\n\n**Run with debug mode:**\n```bash\nPC_DEBUG_MODE=1 ./bin/process-compose -e .env\n```\n\n## Architecture\n\n**Entry point:** `main.go` → `src/cmd/root.go` (Cobra CLI framework)\n\n### Key Packages (all under `src/`)\n\n| Package | Purpose |\n|---------|---------|\n| `cmd/` | Cobra CLI command definitions |\n| `app/` | Core process execution engine — `ProjectRunner` manages lifecycle of all processes, `Process` wraps individual process execution |\n| `types/` | Domain models — `Project`, `ProcessConfig`, `ProcessState`, dependency graph |\n| `loader/` | YAML config parsing, env var expansion, project merging, validation |\n| `config/` | CLI flags, global settings, themes, version info (embedded via ldflags) |\n| `api/` | REST API using Gin framework, WebSocket support, Swagger docs |\n| `tui/` | Terminal UI using `rivo/tview` — process table, log viewer, terminal view |\n| `client/` | HTTP client for remote API communication |\n| `health/` | Liveness/readiness probe implementations (HTTP, exec) |\n| `scheduler/` | Cron/interval-based process scheduling via `gocron/v2` |\n| `mcp/` | Model Context Protocol server, tools, and resources |\n| `pclog/` | Process log buffers with rotation and ANSI color tracking |\n| `command/` | Shell command execution abstraction (cross-platform, PTY support) |\n| `admitter/` | Namespace-based process filtering |\n| `templater/` | Variable/template expansion using envsubst |\n\n### Data Flow\n\n```\nCLI/API Input → Cobra Commands (cmd/) → ProjectRunner (app/)\n  → Process execution with dependency resolution\n  → Health checks (health/) + Scheduling (scheduler/)\n  → State updates → TUI (tui/) / API (api/) output\n  → Logs → ProcessLogBuffer (pclog/)\n```\n\n### Process Lifecycle\n\nStates: `Pending → Launching → Running → [Restarting] → Terminating → Completed/Error`\n\nDependency conditions: `process_started`, `process_healthy`, `process_completed`, `process_log_ready`\n\n### Config Auto-Discovery\n\nSearches for: `compose.yml`, `compose.yaml`, `process-compose.yml`, `process-compose.yaml` with optional `.override.*` files.\n\n## Key Frameworks & Libraries\n\n- **CLI:** `spf13/cobra`\n- **HTTP API:** `gin-gonic/gin`\n- **TUI:** `rivo/tview` + `gdamore/tcell/v2`\n- **YAML:** `gopkg.in/yaml.v3`\n- **Logging:** `rs/zerolog`\n- **Process metrics:** `shirou/gopsutil/v4`\n- **Scheduling:** `go-co-op/gocron/v2`\n- **MCP:** `mark3labs/mcp-go`\n\n## Concurrency Model\n\nHeavy use of goroutines, mutexes, and channels for process coordination. `ProjectRunner` uses fine-grained mutexes to manage shared process state maps. Always run `make testrace` to catch data races.\n\n## Rust Component\n\nA Rust client library lives in `crates/` (workspace with `client` and `example` crates). This is a separate component with its own CI workflow.\n"},"items":[{"name":"CLAUDE.md","path":"CLAUDE.md","rawUrl":"https://raw.githubusercontent.com/F1bonacc1/process-compose/HEAD/CLAUDE.md","title":"Claude Agent Guidelines & System Prompt","category":"claude-rule","format":"markdown","content":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## Project Overview\n\nProcess Compose is a process orchestrator for non-containerized applications, written in Go. It uses YAML configuration (similar to docker-compose) to define and manage processes with dependency tracking, health checks, scheduling, and more. It operates in multiple modes: TUI (default), HTTP API server, daemon, and MCP server.\n\n## Build & Development Commands\n\n```bash\nmake build              # Build binary to bin/process-compose (CGO_ENABLED=0)\nmake test               # Run tests with coverage\nmake testrace           # Run tests with race detector\nmake testrace-clean     # Clear test cache, then run with race detector\nmake lint               # Run golangci-lint (downloads to ./bin/ if needed)\nmake coverhtml          # Generate HTML coverage report\nmake swag               # Regenerate Swagger/OpenAPI docs\nmake schema             # Regenerate JSON schema\nmake docs               # Regenerate CLI documentation\n```\n\n**Run a single test:**\n```bash\ngo test -run TestName ./src/package/...\n```\n\n**Run with debug mode:**\n```bash\nPC_DEBUG_MODE=1 ./bin/process-compose -e .env\n```\n\n## Architecture\n\n**Entry point:** `main.go` → `src/cmd/root.go` (Cobra CLI framework)\n\n### Key Packages (all under `src/`)\n\n| Package | Purpose |\n|---------|---------|\n| `cmd/` | Cobra CLI command definitions |\n| `app/` | Core process execution engine — `ProjectRunner` manages lifecycle of all processes, `Process` wraps individual process execution |\n| `types/` | Domain models — `Project`, `ProcessConfig`, `ProcessState`, dependency graph |\n| `loader/` | YAML config parsing, env var expansion, project merging, validation |\n| `config/` | CLI flags, global settings, themes, version info (embedded via ldflags) |\n| `api/` | REST API using Gin framework, WebSocket support, Swagger docs |\n| `tui/` | Terminal UI using `rivo/tview` — process table, log viewer, terminal view |\n| `client/` | HTTP client for remote API communication |\n| `health/` | Liveness/readiness probe implementations (HTTP, exec) |\n| `scheduler/` | Cron/interval-based process scheduling via `gocron/v2` |\n| `mcp/` | Model Context Protocol server, tools, and resources |\n| `pclog/` | Process log buffers with rotation and ANSI color tracking |\n| `command/` | Shell command execution abstraction (cross-platform, PTY support) |\n| `admitter/` | Namespace-based process filtering |\n| `templater/` | Variable/template expansion using envsubst |\n\n### Data Flow\n\n```\nCLI/API Input → Cobra Commands (cmd/) → ProjectRunner (app/)\n  → Process execution with dependency resolution\n  → Health checks (health/) + Scheduling (scheduler/)\n  → State updates → TUI (tui/) / API (api/) output\n  → Logs → ProcessLogBuffer (pclog/)\n```\n\n### Process Lifecycle\n\nStates: `Pending → Launching → Running → [Restarting] → Terminating → Completed/Error`\n\nDependency conditions: `process_started`, `process_healthy`, `process_completed`, `process_log_ready`\n\n### Config Auto-Discovery\n\nSearches for: `compose.yml`, `compose.yaml`, `process-compose.yml`, `process-compose.yaml` with optional `.override.*` files.\n\n## Key Frameworks & Libraries\n\n- **CLI:** `spf13/cobra`\n- **HTTP API:** `gin-gonic/gin`\n- **TUI:** `rivo/tview` + `gdamore/tcell/v2`\n- **YAML:** `gopkg.in/yaml.v3`\n- **Logging:** `rs/zerolog`\n- **Process metrics:** `shirou/gopsutil/v4`\n- **Scheduling:** `go-co-op/gocron/v2`\n- **MCP:** `mark3labs/mcp-go`\n\n## Concurrency Model\n\nHeavy use of goroutines, mutexes, and channels for process coordination. `ProjectRunner` uses fine-grained mutexes to manage shared process state maps. Always run `make testrace` to catch data races.\n\n## Rust Component\n\nA Rust client library lives in `crates/` (workspace with `client` and `example` crates). This is a separate component with its own CI workflow.\n","isInternal":false,"tokens":954,"sizeBytes":3909}],"systemPromptSnippet":"<yakaai_skills repo=\"F1bonacc1/process-compose\">\n<!-- File: CLAUDE.md (Tokens: ~954 | Category: claude-rule) -->\n# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## Project Overview\n\nProcess Compose is a process orchestrator for non-containerized applications, written in Go. It uses YAML configuration (similar to docker-compose) to define and manage processes with dependency tracking, health checks, scheduling, and more. It operates in multiple modes: TUI (default), HTTP API server, daemon, and MCP server.\n\n## Build & Development Commands\n\n```bash\nmake build              # Build binary to bin/process-compose (CGO_ENABLED=0)\nmake test               # Run tests with coverage\nmake testrace           # Run tests with race detector\nmake testrace-clean     # Clear test cache, then run with race detector\nmake lint               # Run golangci-lint (downloads to ./bin/ if needed)\nmake coverhtml          # Generate HTML coverage report\nmake swag               # Regenerate Swagger/OpenAPI docs\nmake schema             # Regenerate JSON schema\nmake docs               # Regenerate CLI documentation\n```\n\n**Run a single test:**\n```bash\ngo test -run TestName ./src/package/...\n```\n\n**Run with debug mode:**\n```bash\nPC_DEBUG_MODE=1 ./bin/process-compose -e .env\n```\n\n## Architecture\n\n**Entry point:** `main.go` → `src/cmd/root.go` (Cobra CLI framework)\n\n### Key Packages (all under `src/`)\n\n| Package | Purpose |\n|---------|---------|\n| `cmd/` | Cobra CLI command definitions |\n| `app/` | Core process execution engine — `ProjectRunner` manages lifecycle of all processes, `Process` wraps individual process execution |\n| `types/` | Domain models — `Project`, `ProcessConfig`, `ProcessState`, dependency graph |\n| `loader/` | YAML config parsing, env var expansion, project merging, validation |\n| `config/` | CLI flags, global settings, themes, version info (embedded via ldflags) |\n| `api/` | REST API using Gin framework, WebSocket support, Swagger docs |\n| `tui/` | Terminal UI using `rivo/tview` — process table, log viewer, terminal view |\n| `client/` | HTTP client for remote API communication |\n| `health/` | Liveness/readiness probe implementations (HTTP, exec) |\n| `scheduler/` | Cron/interval-based process scheduling via `gocron/v2` |\n| `mcp/` | Model Context Protocol server, tools, and resources |\n| `pclog/` | Process log buffers with rotation and ANSI color tracking |\n| `command/` | Shell command execution abstraction (cross-platform, PTY support) |\n| `admitter/` | Namespace-based process filtering |\n| `templater/` | Variable/template expansion using envsubst |\n\n### Data Flow\n\n```\nCLI/API Input → Cobra Commands (cmd/) → ProjectRunner (app/)\n  → Process execution with dependency resolution\n  → Health checks (health/) + Scheduling (scheduler/)\n  → State updates → TUI (tui/) / API (api/) output\n  → Logs → ProcessLogBuffer (pclog/)\n```\n\n### Process Lifecycle\n\nStates: `Pending → Launching → Running → [Restarting] → Terminating → Completed/Error`\n\nDependency conditions: `process_started`, `process_healthy`, `process_completed`, `process_log_ready`\n\n### Config Auto-Discovery\n\nSearches for: `compose.yml`, `compose.yaml`, `process-compose.yml`, `process-compose.yaml` with optional `.override.*` files.\n\n## Key Frameworks & Libraries\n\n- **CLI:** `spf13/cobra`\n- **HTTP API:** `gin-gonic/gin`\n- **TUI:** `rivo/tview` + `gdamore/tcell/v2`\n- **YAML:** `gopkg.in/yaml.v3`\n- **Logging:** `rs/zerolog`\n- **Process metrics:** `shirou/gopsutil/v4`\n- **Scheduling:** `go-co-op/gocron/v2`\n- **MCP:** `mark3labs/mcp-go`\n\n## Concurrency Model\n\nHeavy use of goroutines, mutexes, and channels for process coordination. `ProjectRunner` uses fine-grained mutexes to manage shared process state maps. Always run `make testrace` to catch data races.\n\n## Rust Component\n\nA Rust client library lives in `crates/` (workspace with `client` and `example` crates). This is a separate component with its own CI workflow.\n</yakaai_skills>"}