Files
SIA/procedures/tool_management/reasoning.md

1.6 KiB

Tool Management

SIA uses and creates tools to extend its capabilities. A tool in the SIA context refers to a clearly packaged software component that provides specific functionality. This document outlines how tools are structured, managed, and developed. All tools reside in the /root/sia/tools/ directory and are part of the main git repository.

Typical patterns

Tools in SIA follow these established patterns:

  • Independence: Each tool functions as a standalone component with clear boundaries
  • Python: The preferred language for tools is Python
  • Installation: The Dockerfile and bootstrap script intall all tools in the directory using pip install -e
  • Documentation: Each tool has a README.md file that provides requirements, usage instructions and documentation
  • Modification: Tools can be modified by SIA as part of its self-improvement process
  • Procedures: Tools are created to support procedures
  • Training: No separate training data is maintained, this is included in the procedure training

Tool Directory Structure

Each tool follows a consistent structure:

tools/
└── tool_name/
    ├── README.md           # Documentation
    ├── requirements.txt    # Tool-specific dependencies
    ├── setup.py            # Installation configuration
    ├── tool_name/          # Main package code
    │   └── __init__.py
    ├── bin/                # Command-line executables
    │   └── tool_command
    └── test/               # Tool-specific tests
        └── test_tool.py