diff --git a/AGENTS.md b/AGENTS.md index 369fdc6..40cb279 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,5 +1,9 @@ # Manual Slop - OpenCode Configuration +## MCP TOOL PARAMETERS - CRITICAL +- **ALWAYS use snake_case**: `old_string`, `new_string`, `replace_all` +- **NEVER use camelCase**: `oldString`, `newString`, `replaceAll` + ## Project Overview **Manual Slop** is a local GUI application designed as an experimental, "manual" AI coding assistant. It allows users to curate and send context (files, screenshots, and discussion history) to AI APIs (Gemini and Anthropic). The AI can then execute PowerShell scripts within the project directory to modify files, requiring explicit user confirmation before execution. diff --git a/CLAUDE.md b/CLAUDE.md index 5ccd28f..d0a254e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -3,6 +3,10 @@ This file provides guidance to Claude Code when working with this repository. +## MCP TOOL PARAMETERS - CRITICAL +- **ALWAYS use snake_case**: `old_string`, `new_string`, `replace_all` +- **NEVER use camelCase**: `oldString`, `newString`, `replaceAll` + ## Critical Context (Read First) - **Tech Stack**: Python 3.11+, Dear PyGui / ImGui, FastAPI, Uvicorn - **Main File**: `gui_2.py` (primary GUI), `ai_client.py` (multi-provider LLM abstraction) diff --git a/src/aggregate.py b/src/aggregate.py index 1b73dfb..4083e43 100644 --- a/src/aggregate.py +++ b/src/aggregate.py @@ -138,6 +138,11 @@ def build_file_items(base_dir: Path, files: list[str | dict[str, Any]]) -> list[ tier = entry_raw.get("tier") auto_aggregate = entry_raw.get("auto_aggregate", True) force_full = entry_raw.get("force_full", False) + elif hasattr(entry_raw, "path"): + entry = entry_raw.path + tier = getattr(entry_raw, "tier", None) + auto_aggregate = getattr(entry_raw, "auto_aggregate", True) + force_full = getattr(entry_raw, "force_full", False) else: entry = entry_raw tier = None