commit 9a838f2407eecc8bafde609610b02a1050c08e24 Author: rob Date: Wed Dec 31 21:37:16 2025 -0400 Initialize SmartTools Registry structure - Add README.md with usage instructions - Add CONTRIBUTING.md with publishing guidelines - Add categories/categories.yaml with 9 tool categories - Create tools/official/ directory for official namespace 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..72ec330 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,115 @@ +# Contributing to SmartTools Registry + +Thank you for contributing to the SmartTools ecosystem! + +## Publishing a Tool + +### Prerequisites + +1. Install SmartTools: `pip install smarttools` +2. Create an account at the registry website +3. Generate an API token from your dashboard +4. Configure your token: `smarttools config set-token YOUR_TOKEN` + +### Tool Structure + +Your tool directory should contain: + +``` +my-tool/ +├── config.yaml # Required: Tool definition +└── README.md # Recommended: Documentation +``` + +### config.yaml Format + +```yaml +name: my-tool +version: "1.0.0" +description: A brief description of what your tool does +category: text-processing # See categories below +tags: + - ai + - productivity + +arguments: + - flag: --max-length + variable: max_length + default: "500" + description: Maximum output length + +steps: + - type: prompt + prompt: | + Summarize the following text in {max_length} characters or less: + + {input} + provider: claude + output_var: response + +output: "{response}" +``` + +### Categories + +Choose one of these categories: + +- `text-processing` - Text manipulation and analysis +- `code` - Code review, generation, analysis +- `data` - Data transformation and analysis +- `media` - Image, audio, video processing +- `productivity` - General productivity tools +- `writing` - Writing assistance and editing +- `translation` - Language translation +- `research` - Research and information gathering + +### Publishing + +```bash +cd my-tool/ +smarttools registry publish +``` + +Use `--dry-run` to validate without publishing: +```bash +smarttools registry publish --dry-run +``` + +## Guidelines + +### Do's + +- Write clear, concise descriptions +- Include usage examples in your README +- Use semantic versioning (MAJOR.MINOR.PATCH) +- Test your tool before publishing +- Choose an appropriate category + +### Don'ts + +- Don't include secrets or API keys in prompts +- Don't publish tools that duplicate existing official tools +- Don't use misleading names or descriptions +- Don't publish empty or non-functional tools + +## Versioning + +Once a version is published, it cannot be modified. To make changes: + +1. Update your tool locally +2. Bump the version in config.yaml +3. Run `smarttools registry publish` + +## Deprecation + +To deprecate a tool version, add to your config.yaml: + +```yaml +deprecated: true +deprecated_message: "Use v2.0.0 instead - security fix" +replacement: "username/toolname@2.0.0" +``` + +## Questions? + +Open an issue on the [SmartTools repository](https://gitea.brrd.tech/rob/SmartTools/issues). diff --git a/README.md b/README.md new file mode 100644 index 0000000..03fb1b3 --- /dev/null +++ b/README.md @@ -0,0 +1,52 @@ +# SmartTools Registry + +The official registry of tools for [SmartTools](https://gitea.brrd.tech/rob/SmartTools) - a lightweight personal tool builder for AI-powered CLI commands. + +## Browse Tools + +Visit the web UI: https://registry.smarttools.dev (or your self-hosted instance) + +Or use the CLI: +```bash +smarttools registry browse +smarttools registry search +``` + +## Install a Tool + +```bash +smarttools registry install official/summarize +``` + +## Publish Your Own Tool + +1. Create an account at the registry website +2. Generate an API token from your dashboard +3. Run `smarttools registry publish` in your tool directory + +See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines. + +## Repository Structure + +``` +SmartTools-Registry/ +├── tools/ # All published tools +│ ├── official/ # Official namespace +│ │ ├── summarize/ +│ │ │ ├── config.yaml +│ │ │ └── README.md +│ │ └── translate/ +│ │ ├── config.yaml +│ │ └── README.md +│ └── {username}/ # User namespaces +│ └── {toolname}/ +│ ├── config.yaml +│ └── README.md +├── categories/ +│ └── categories.yaml # Category definitions +└── index.json # Auto-generated search index +``` + +## License + +Tools in this registry are published under their individual licenses as specified in each tool's config.yaml or README.md. diff --git a/categories/categories.yaml b/categories/categories.yaml new file mode 100644 index 0000000..d47ba01 --- /dev/null +++ b/categories/categories.yaml @@ -0,0 +1,94 @@ +categories: + - name: text-processing + description: Tools for manipulating and analyzing text + icon: "📝" + keywords: + - text + - string + - parse + - format + - clean + - extract + + - name: code + description: Tools for code review, generation, and analysis + icon: "💻" + keywords: + - code + - programming + - debug + - review + - refactor + - lint + + - name: data + description: Tools for data transformation and analysis + icon: "📊" + keywords: + - data + - json + - csv + - transform + - convert + - analyze + + - name: media + description: Tools for image, audio, and video processing + icon: "🎨" + keywords: + - image + - audio + - video + - media + - picture + - sound + + - name: productivity + description: General productivity and automation tools + icon: "⚡" + keywords: + - productivity + - automate + - workflow + - task + - organize + + - name: writing + description: Writing assistance and editing tools + icon: "✍️" + keywords: + - write + - edit + - grammar + - spelling + - proofread + - draft + + - name: translation + description: Language translation tools + icon: "🌍" + keywords: + - translate + - language + - localize + - i18n + + - name: research + description: Research and information gathering tools + icon: "🔍" + keywords: + - research + - search + - find + - lookup + - information + + - name: summarization + description: Tools for summarizing content + icon: "📋" + keywords: + - summarize + - summary + - tldr + - brief + - condense diff --git a/tools/official/.gitkeep b/tools/official/.gitkeep new file mode 100644 index 0000000..e69de29