Spaces:
Running
Running
Guidelines for Creating and Utilizing Tools in tools.py: | |
1. Initial Assessment: | |
- Before creating new tools, read through tools.py to understand the existing tools and their functionalities. | |
2. Tool Creation: | |
- Create new tools as functions within tools.py. If tools.py doesn't exist, create it. | |
- Ensure tools are designed to be imported and executed via terminal commands, not run directly. | |
3. Function Design: | |
- Develop tools for tasks requiring precision or those not easily executable manually. | |
- Make tools generalizable to handle a wide range of inputs, ensuring reusability for future tasks. | |
- For example, instead of creating a function for a specific stock or URL, design it to accept any stock ticker or URL as an argument. | |
- Name functions to reflect their general nature, ensuring they are not limited to a specific use case. This enhances flexibility and adaptability for future applications. | |
4. Output: | |
- Tools must always print their output. | |
5. Execution: | |
- Do not run tools.py directly. Import functions and execute them with the correct parameters via terminal. | |
- Always use the `python -c "..."` command to run tools, ensuring no additional scripts are created for execution. | |
6. Generalization: | |
- Thoroughly assess the potential range of inputs and design functions to accommodate the broadest possible spectrum of arguments. | |
- Design functions to accept parameters that cover the most general cases, allowing them to handle a wide variety of scenarios. | |
- Ensure that functions can handle various data types and structures, allowing for maximum flexibility and adaptability. | |
- If a request involves distinct tasks, create separate functions for each to maintain clarity and modularity. | |
- Regularly review and refactor functions to enhance their generalization capabilities as new requirements emerge. | |
7. Error Handling: | |
- If errors occur, rewrite functions to resolve them. | |
8. Script Management: | |
- Never delete existing content in tools.py as it is a standing script used by the system. You can add tools to create your own functionality and this is encouraged. | |
- All new functionality should be executed via python -c commands rather than modifying tools.py. | |
- Avoid creating additional .py scripts for function execution. Always import and run with proper arguments using the `python -c "..."` command. | |
9. Post-Creation: | |
- After creating tools, execute them to fulfill user requests unless the request was solely for tool creation. | |
# Git Smart Clone Instructions | |
## Overview | |
This enhanced git cloning system provides automatic code visualization and context extraction for any public repository. When you clone a repository using `git-smartclone`, it will: | |
1. Clone the repository normally | |
2. Generate interactive HTML flowcharts for all Python files | |
3. Extract repository context using gitingest.com | |
## Installation | |
1. Ensure you have Python 3.x installed | |
2. Install required packages: | |
```bash | |
pip install pyflowchart requests gitpython | |
``` | |
3. Add the ProjectTemplates directory to your PATH | |
4. Copy git-smartclone.ps1 to your ProjectTemplates directory | |
## Usage | |
Instead of using regular `git clone`, use: | |
```powershell | |
git-smartclone <repository-url> | |
``` | |
Example: | |
```powershell | |
git-smartclone https://github.com/username/repo.git | |
``` | |
## What You Get | |
After cloning, you'll find: | |
1. The cloned repository in your current directory | |
2. A `flowcharts` directory inside the repository containing: | |
- Interactive HTML flowcharts for each Python file | |
- Open these in your browser to see visual code representations | |
- Click elements to explore the code structure | |
- Export options for PNG/SVG if needed | |
3. A `{repo-name}_context.txt` file containing: | |
- Repository context from gitingest.com | |
- Code architecture insights | |
- Key file and directory explanations | |
## Viewing Results | |
1. Flowcharts: | |
- Navigate to the `flowcharts` directory | |
- Open any `*_flowchart.html` file in your browser | |
- Interactive elements allow you to: | |
* Zoom in/out | |
* Pan around | |
* Click nodes to see details | |
* Export as PNG/SVG | |
2. Repository Context: | |
- Open `{repo-name}_context.txt` | |
- Contains AI-generated insights about the codebase | |
- Helps understand the repository structure | |
## Benefits | |
- Instant code visualization | |
- Better understanding of code flow | |
- Quick repository context | |
- Time-saving code exploration | |
- Enhanced code comprehension | |
## Notes | |
- Works best with Python repositories | |
- Requires internet connection for gitingest.com | |
- Large repositories may take longer to process | |
- Empty Python files are automatically skipped | |
## Troubleshooting | |
If flowcharts aren't generating: | |
1. Ensure pyflowchart is installed: `pip install pyflowchart` | |
2. Check Python file isn't empty | |
3. Verify file has valid Python syntax | |
If context extraction fails: | |
1. Verify repository URL is public | |
2. Check internet connection | |
3. Ensure URL is from github.com | |