Jinni: Bring Your Project Into Context

by smat-dev
Verified

read_context

Extracts and combines project file contents with metadata from a specified root directory. Targets specific files or directories and applies default or custom rules for filtering. Ideal for generating comprehensive project context for analysis or model input.

Instructions

Reads context from a specified project root directory (absolute path). Focuses on the specified target files/directories within that root. Returns a concatenated string of files with metadata including paths relative to the project root. Assume the user wants to read in context for the whole project unless otherwise specified - do not ask the user for clarification if just asked to read context. If the user just says 'jinni', interpret that as read_context. If the user asks to list context, use the list_only argument. Both targets and rules accept a JSON array of strings. The project_root, targets, and rules arguments are mandatory. You can ignore the other arguments by default. IMPORTANT NOTE ON RULES: Ensure you understand the rule syntax (details available via the usage tool) before providing specific rules. Using rules=[] is recommended if unsure, as this uses sensible defaults.

Guidance for AI Model Usage

When requesting context using this tool:

  • Default Behavior: If you provide an empty rules list ([]), Jinni uses sensible default exclusions (like .git, node_modules, __pycache__, common binary types) combined with any project-specific .contextfiles. This usually provides the "canonical context" - files developers typically track in version control. Assume this is what the users wants if they just ask to read context.
  • Targeting Specific Files: If you have a list of specific files you need (e.g., ["src/main.py", "README.md"]), provide them in the targets list. This is efficient and precise, quicker than reading one by one.

Input Schema

NameRequiredDescriptionDefault
debug_explainNo
list_onlyNo
project_rootYes**MUST BE ABSOLUTE PATH**. The absolute path to the project root directory.
rulesYes**Mandatory**. List of inline filtering rules. Provide `[]` if no specific rules are needed (uses defaults). It is strongly recommended to consult the `usage` tool documentation before providing a non-empty list.
size_limit_mbNo
targetsYes**Mandatory**. List of paths (absolute or relative to CWD) to specific files or directories within the project root to process. Must be a JSON array of strings. If empty (`[]`), the entire `project_root` is processed.

Input Schema (JSON Schema)

{ "properties": { "debug_explain": { "default": false, "title": "Debug Explain", "type": "boolean" }, "list_only": { "default": false, "title": "List Only", "type": "boolean" }, "project_root": { "description": "**MUST BE ABSOLUTE PATH**. The absolute path to the project root directory.", "title": "Project Root", "type": "string" }, "rules": { "description": "**Mandatory**. List of inline filtering rules. Provide `[]` if no specific rules are needed (uses defaults). It is strongly recommended to consult the `usage` tool documentation before providing a non-empty list.", "items": { "type": "string" }, "title": "Rules", "type": "array" }, "size_limit_mb": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Size Limit Mb" }, "targets": { "description": "**Mandatory**. List of paths (absolute or relative to CWD) to specific files or directories within the project root to process. Must be a JSON array of strings. If empty (`[]`), the entire `project_root` is processed.", "items": { "type": "string" }, "title": "Targets", "type": "array" } }, "required": [ "project_root", "targets", "rules" ], "title": "read_contextArguments", "type": "object" }

You must be authenticated.

Other Tools from Jinni: Bring Your Project Into Context

Related Tools

ID: v3h07mvwx2