Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 7 additions & 51 deletions .github/ISSUE_TEMPLATE/submit-harness.yml
Original file line number Diff line number Diff line change
@@ -1,58 +1,14 @@
name: Submit a harness
description: Share a reusable agent harness with clear setup instructions.
title: "[Harness] "
labels: [submission]
name: Legacy tool submission
description: Use the ToolIndex submission form instead.
title: "[Tool] "
body:
- type: markdown
attributes:
value: |
**New submissions are welcome — a useful skill folder can be enough.**
Share your repository and setup below. No fork, pull request or Harneloop dependency is required.
A maintainer reviews the instructions and package scope, asks questions here if needed, and publishes approved listings.
[Read the short submission guide](https://openrootdev.github.io/harness-library/submit/).
- type: input
id: name
attributes:
label: Harness name
validations:
required: true
- type: input
id: repository
attributes:
label: Public source repository
placeholder: https://github.com/owner/repo
validations:
required: true
- type: textarea
id: summary
attributes:
label: Purpose and category
description: "What job does it help an agent do? Suggested category: Creative, 3D & Blender, Coding, Research, Data, Operations or Other."
validations:
required: true
value: "[Open the current ToolIndex submission form](https://github.com/OpenRootdev/toolindex/issues/new?template=submit-tool.yml)."
- type: textarea
id: install
id: submission
attributes:
label: Installation instructions
description: Include ordered steps, prerequisites, working directory, agent/client integration and first use.
label: Tool details
description: Source, type, setup, license or terms and optional image.
validations:
required: true
- type: textarea
id: distribution
attributes:
label: Focused distribution, version and license
description: Link the package or dedicated harness branch. If the repo contains unrelated material, specify how users install only the harness. Include license/attribution requirements.
validations:
required: true
- type: textarea
id: setup
attributes:
label: Manual connections and additional notes
description: Tools, MCPs, credentials or manual setup required. Write 'none' where appropriate. Do not include secrets.
validations:
required: true
- type: textarea
id: contents
attributes:
label: Optional composition and evidence
description: Skills, files, references, top-level tools, tested artifacts/platforms, and Built with Harneloop evidence if applicable.
86 changes: 86 additions & 0 deletions .github/ISSUE_TEMPLATE/submit-tool.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Submit a tool
description: Share a reusable agent tool with clear setup instructions.
title: "[Tool] "
labels: [submission]
body:
- type: markdown
attributes:
value: |
**New submissions are welcome ; a useful skill folder can be enough.**
Share your repository and setup below. No fork, pull request or Harneloop dependency is required.
A maintainer reviews the instructions and package scope, asks questions here if needed, and publishes approved listings.
[Read the short submission guide](https://toolindex.org/submit/).
- type: input
id: name
attributes:
label: Tool name
validations:
required: true
- type: input
id: repository
attributes:
label: Source repository or official documentation
placeholder: https://github.com/owner/repo
validations:
required: true
- type: textarea
id: summary
attributes:
label: Purpose and category
description: "What job does it help an agent do? Suggested category: Creative, 3D & Blender, Coding, Research, Data, Operations or Other."
validations:
required: true
- type: textarea
id: install
attributes:
label: Installation or connection instructions
description: Include ordered steps, prerequisites, working directory, agent/client integration and first use.
validations:
required: true
- type: textarea
id: distribution
attributes:
label: Focused distribution, version and license
description: Link the package or focused source or service/API endpoint. If the repo contains unrelated material, specify how users install only the relevant tool. Include license/attribution requirements.
validations:
required: true
- type: textarea
id: setup
attributes:
label: Manual connections and additional notes
description: Tools, MCPs, credentials or manual setup required. Write 'none' where appropriate. Do not include secrets.
validations:
required: true
- type: textarea
id: contents
attributes:
label: Optional composition and evidence
description: Skills, files, references, top-level tools, tested artifacts/platforms, and Built with Harneloop evidence if applicable.
- type: dropdown
id: tool_type
attributes:
label: Tool type
options:
- Skill
- MCP server
- CLI
- API
- Library
- Plugin
- Workflow
- Harness
- Other
validations:
required: true
- type: textarea
id: image
attributes:
label: Logo or custom image (optional)
description: Link an image you may use, its source and alt text. Leave blank for neutral initials.
validations:
required: false
- type: textarea
id: service_terms
attributes:
label: Pricing, authentication and service terms (if applicable)
description: Disclose required accounts, costs, API scopes, rate limits and usage terms. Do not submit credentials.
41 changes: 41 additions & 0 deletions .github/workflows/catalog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Refresh ToolIndex catalog
on:
workflow_dispatch:
schedule:
- cron: '17 5 * * *'
permissions:
contents: read
concurrency:
group: toolindex-catalog
cancel-in-progress: false
jobs:
refresh:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: '3.x'
- run: python scripts/catalog.py validate
- run: python -m unittest discover -s tests -v
- name: Verify badges on reviewed main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: python scripts/catalog.py refresh
- name: Persist boost receipts
run: |
if ! git diff --quiet -- data/boosts.json; then
git config user.name "toolindex-bot"
git config user.email "toolindex-bot@users.noreply.github.com"
git add data/boosts.json
git commit -m "Refresh verified community badge receipts"
git push
fi
- run: python scripts/catalog.py build
- uses: actions/upload-artifact@v6
with:
name: toolindex-site
path: dist
retention-days: 7
1 change: 1 addition & 0 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@ jobs:
python-version: '3.x'
- run: python scripts/catalog.py validate
- run: python -m unittest discover -s tests -v
- run: python scripts/validate_i18n.py
- run: python scripts/catalog.py build
- run: node --check site/app.js
61 changes: 0 additions & 61 deletions .github/workflows/pages.yml

This file was deleted.

3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@ dist/
.playwright-cli/
__pycache__/
*.pyc
docs/internal/
task.md
implementation-plan.md
12 changes: 8 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,25 @@
# Submit a harness
# Submit a tool

ToolIndex includes any tool AI agents can use: skills, MCP servers, CLIs, APIs, libraries, plugins, workflows and harnesses. Hosted and commercial tools are welcome when access, pricing, authentication and terms are clear. Every listing links directly to its source repository or official documentation.

A logo or custom image is optional. Supply its source and alt text if available; otherwise the listing uses neutral initials. Choose a tool type and explain installation or service access. Non-GitHub sources are accepted; automatic README badge checks currently support GitHub only.

**New submissions are welcome.** We’re looking for practical, reusable agent setups, including small skill folders. Harneloop is optional.

The simplest route needs no fork or pull request:

1. [Open the GitHub submission form](https://github.com/Ker102/harness-library/issues/new?template=submit-harness.yml). Share the repository, name and task/category.
1. [Open the GitHub submission form](https://github.com/OpenRootdev/toolindex/issues/new?template=submit-tool.yml). Share the repository, name and task/category.
2. Explain installation, focused distribution, version/license and any manual connections. Extra composition and test evidence are optional.
3. Maintainers review your issue, ask for missing details there if needed, and publish approved entries. Later changes can be submitted in another issue or PR.

You only need a GitHub account to use the form. The [website guide](https://ker102.github.io/harness-library/submit/) explains the same process.
You only need a GitHub account to use the form. The [website guide](https://toolindex.org/submit/) explains the same process.

For a PR, copy `docs/listing.example.json` to `data/listings/your-slug.json`. Use the same lowercase slug in the filename and `id`. Run `python scripts/catalog.py validate` and the tests described in the README.

Required information:

- Name, short summary, category, source repository, license and version or pinned revision.
- Focused distribution URL, what it contains and whether the source repo also contains irrelevant material. Use a downloadable package or a dedicated harness branch for mixed repos; do not require users to clone a large unrelated project.
- Focused distribution URL, what it contains and whether the source repo also contains irrelevant material. Use a downloadable package or a dedicated tool branch for mixed repos; do not require users to clone a large unrelated project.
- Clear, ordered installation instructions. State working directory, prerequisites, agent/client integration and how to begin. Link client-specific guidance where discovery differs.
- Manual connections/configuration, required MCPs or tools, credentials if any, and additional notes. Use empty lists when none are required. Never submit secrets.

Expand Down
Loading
Loading