Skip to content

nodetool-ai/nodetool-registry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 

Repository files navigation

Nodetool Packs Registry

Overview

The Nodetool Packs Registry manages the installation, management, and distribution of node packs within the Nodetool ecosystem. Pack installation is handled by pip, while the Nodetool UI and CLI tools provide interfaces for discovering and managing node packs.

For Users

Pack Management in Nodetool UI

The primary interface for managing packs is through the Nodetool UI, which provides a user-friendly way to:

  • Browse available node packs
  • Install/uninstall packs (using pip under the hood)
  • Update packs
  • View pack information and documentation

Packs

For Node Developers

The CLI tool is available for developers to create and manage Nodetool packs.

Basic commands:

# List installed packs
nodetool list

# List available packs in the registry
nodetool list --available

# Scan current directory for nodes and create metadata
nodetool scan

# Scan with verbose output
nodetool scan --verbose

# Initialize a new Nodetool pack
nodetool init

Creating a Node Pack

To create a pack that can be installed in Nodetool:

IMPORTANT: pack name MUST start with nodetool-

  1. Create a new folder for your project

  2. Run the nodetool init command:

$ nodetool init
Project name: nodetool-example
Description: My example Nodetool pack
Author (name <email>): John Smith <[email protected]>
✅ Successfully initialized Nodetool project
Created:
  - pyproject.toml
  - src/nodetool/nodes/nodetool-example
  - src/nodetool/pack_metadata/
  1. Create your node classes:
from pydantic import Field
from nodetool.workflows.base_node import BaseNode

class MyNode(BaseNode):
    """Example node implementation"""

    prompt: str = Field(
        default="Build me a website for my business.",
        description="Input prompt for the node"
    )

    async def process(self, context: ProcessingContext) -> str:
        # Your node implementation here
        return "Node output"
  1. Generate pack metadata:

    • Run nodetool scan in your pack repository
    • This will create your_pack.json file in src/nodetool/pack_metadata
  2. Commit and publish your project to a Github repository

  3. Register your pack in the Nodetool registry:

    • Fork this repository
    • Add your pack information to index.json
    • Submit a pull request

Pack Requirements

Your pack should:

  • Follow Python packaging best practices
  • Include clear documentation for each node
  • Provide example usage
  • Include proper node metadata (generated via nodetool scan)

Testing Your Pack

Before submitting to the registry:

  1. Install your pack locally:
pip install -e .
  1. Restart Nodetool UI

  2. Verify your nodes appear in the Nodetool UI

Pack Registry

The Nodetool packs registry is hosted at nodetool-registry. The registry maintains:

  • Pack metadata in index.json
  • Installation instructions
  • Version information
  • Node documentation

Each pack in the registry includes:

  • Name
  • Description
  • Repository ID (owner/project format)
  • Namespaces provided
  • Node metadata

License

This pack management system is part of the Nodetool project. See the main project repository for license information.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published