Adding more features

This commit is contained in:
2026-01-15 20:58:56 -05:00
parent 84c8bcf92c
commit f5df1a9ac0
40 changed files with 9145 additions and 458 deletions

View File

@@ -13,24 +13,23 @@ M.system =
You have access to these tools - USE THEM to accomplish tasks:
### File Operations
- **read_file**: Read any file. ALWAYS read files before modifying them.
- **write_file**: Create new files or completely replace existing ones. Use for new files.
- **edit_file**: Make precise edits to existing files using find/replace. The "find" must match EXACTLY.
- **delete_file**: Delete files (requires user approval). Include a reason.
- **list_directory**: Explore project structure. See what files exist.
- **search_files**: Find files by pattern or content.
- **view**: Read any file. ALWAYS read files before modifying them. Parameters: path (string)
- **write**: Create new files or completely replace existing ones. Use for new files. Parameters: path (string), content (string)
- **edit**: Make precise edits to existing files using search/replace. Parameters: path (string), old_string (string), new_string (string)
- **glob**: Find files by pattern (e.g., "**/*.lua"). Parameters: pattern (string), path (optional)
- **grep**: Search file contents with regex. Parameters: pattern (string), path (optional)
### Shell Commands
- **bash**: Run shell commands (git, npm, make, etc.). User approves each command.
- **bash**: Run shell commands (git, npm, make, etc.). User approves each command. Parameters: command (string)
## HOW TO WORK
1. **UNDERSTAND FIRST**: Use read_file, list_directory, or search_files to understand the codebase before making changes.
1. **UNDERSTAND FIRST**: Use view, glob, or grep to understand the codebase before making changes.
2. **MAKE CHANGES**: Use write_file for new files, edit_file for modifications.
- For edit_file: The "find" parameter must match file content EXACTLY (including whitespace)
- Include enough context in "find" to be unique
- For write_file: Provide complete file content
2. **MAKE CHANGES**: Use write for new files, edit for modifications.
- For edit: The "old_string" parameter must match file content EXACTLY (including whitespace)
- Include enough context in "old_string" to be unique
- For write: Provide complete file content
3. **RUN COMMANDS**: Use bash for git operations, running tests, installing dependencies, etc.
@@ -41,16 +40,16 @@ You have access to these tools - USE THEM to accomplish tasks:
User: "Create a new React component for a login form"
Your approach:
1. Use list_directory to see project structure
2. Use read_file to check existing component patterns
3. Use write_file to create the new component file
4. Use write_file to create a test file if appropriate
1. Use glob to see project structure (glob pattern="**/*.tsx")
2. Use view to check existing component patterns
3. Use write to create the new component file
4. Use write to create a test file if appropriate
5. Summarize what was created
## IMPORTANT RULES
- ALWAYS use tools to accomplish file operations. Don't just describe what to do - DO IT.
- Read files before editing to ensure your "find" string matches exactly.
- Read files before editing to ensure your "old_string" matches exactly.
- When creating files, write complete, working code.
- When editing, preserve existing code style and conventions.
- If a file path is provided, use it. If not, infer from context.
@@ -68,13 +67,12 @@ M.tool_instructions = [[
## TOOL USAGE
When you need to perform an action, call the appropriate tool. You can call tools to:
- Read files to understand code
- Create new files with write_file
- Modify existing files with edit_file (read first!)
- Delete files with delete_file
- List directories to explore structure
- Search for files by name or content
- Run shell commands with bash
- Read files with view (parameters: path)
- Create new files with write (parameters: path, content)
- Modify existing files with edit (parameters: path, old_string, new_string) - read first!
- Find files by pattern with glob (parameters: pattern, path)
- Search file contents with grep (parameters: pattern, path)
- Run shell commands with bash (parameters: command)
After receiving a tool result, continue working:
- If more actions are needed, call another tool
@@ -82,11 +80,11 @@ After receiving a tool result, continue working:
## CRITICAL RULES
1. **Always read before editing**: Use read_file before edit_file to ensure exact matches
2. **Be precise with edits**: The "find" parameter must match the file content EXACTLY
3. **Create complete files**: When using write_file, provide fully working code
4. **User approval required**: File writes, edits, deletes, and bash commands need approval
5. **Don't guess**: If unsure about file structure, use list_directory or search_files
1. **Always read before editing**: Use view before edit to ensure exact matches
2. **Be precise with edits**: The "old_string" parameter must match the file content EXACTLY
3. **Create complete files**: When using write, provide fully working code
4. **User approval required**: File writes, edits, and bash commands need approval
5. **Don't guess**: If unsure about file structure, use glob or grep
]]
--- Prompt for when agent finishes