Genbase

Kit Directory Structure

Learn the standard folder and file layout for organizing your Genbase Kit.

Kit Directory Structure

A well-structured Kit is easier to understand, maintain, and share. Genbase expects Kits to follow a standard directory layout. When you package your Kit (typically as a .tar.gz file), this structure should be preserved within the archive.

Standard Layout

Here is the recommended sample directory structure for a Genbase Kit:

kit.yaml
__init__.py
some_tool_module.py
another_module.py
__init__.py
custom_agent.py
profile_guide.md
provided_overview.txt
some_file
README.md

Directory and File Descriptions

  • kit.yaml (Required):

    • The manifest file for your Kit.
    • Defines metadata (ID, version, owner), dependencies, environment variables, agents, profiles, tools, provided resources, initial workspace files, etc.
    • This is the central configuration file Genbase reads to understand your Kit.
    • See the kit.yaml Reference for full details.
  • tools/ (Required if Tools are defined):

    • Contains the Python code for the executable Tools your Kit provides.
    • Organize code into multiple .py files (modules).
    • An __init__.py file is recommended (can contain tools referenced by function name).
    • Tools in other files are referenced as filename:function_name in kit.yaml.
    • See Writing Tools.
  • agents/ :

    • Contains Python code for custom Agents specific to this Kit.
    • Omit if only using built-in agents.
    • Agents are referenced by class name in kit.yaml.
    • See Developing Agents.
  • instructions/ :

    • Holds text files (Markdown .md, .txt, etc.) providing context for Profiles or provided resources.
    • Referenced by relative path in kit.yaml.
    • See Using Instructions.
  • workspace/ :

  • requirements.txt (Required if Tools have dependencies):

    • Standard Python requirements file for Tool dependencies.
    • Installed automatically in the secure Docker execution environment.
  • README.md (Recommended):

    • Standard README providing a human-readable overview, usage, configuration, etc.
    • May be displayed in the Studio Registry view.

Adhering to this structure ensures Genbase can correctly parse, install, and utilize your Kit.

On this page