{"id":46775874,"url":"https://github.com/stacklok/toolhive-rfcs","last_synced_at":"2026-03-09T23:43:58.926Z","repository":{"id":332080732,"uuid":"1130998943","full_name":"stacklok/toolhive-rfcs","owner":"stacklok","description":"A central repository to submit RFCs for the ToolHive ecosystem","archived":false,"fork":false,"pushed_at":"2026-03-03T15:27:15.000Z","size":407,"stargazers_count":3,"open_issues_count":8,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-03T19:55:06.097Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stacklok.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-09T10:18:35.000Z","updated_at":"2026-03-02T21:43:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/stacklok/toolhive-rfcs","commit_stats":null,"previous_names":["stacklok/toolhive-rfcs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stacklok/toolhive-rfcs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stacklok%2Ftoolhive-rfcs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stacklok%2Ftoolhive-rfcs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stacklok%2Ftoolhive-rfcs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stacklok%2Ftoolhive-rfcs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stacklok","download_url":"https://codeload.github.com/stacklok/toolhive-rfcs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stacklok%2Ftoolhive-rfcs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30316783,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T20:05:46.299Z","status":"ssl_error","status_checked_at":"2026-03-09T19:57:04.425Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-03-09T23:43:58.286Z","updated_at":"2026-03-09T23:43:58.917Z","avatar_url":"https://github.com/stacklok.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# ToolHive RFCs\n\nThis repository contains Requests for Comments (RFCs) for the ToolHive ecosystem. RFCs are design documents that describe significant changes, new features, or architectural decisions across any ToolHive project.\n\n## What is an RFC?\n\nAn RFC (Request for Comments) is a design document that proposes a significant change to the ToolHive ecosystem. RFCs provide a consistent and controlled path for new features and changes to enter the project, ensuring that all stakeholders have an opportunity to provide feedback.\n\n## When to Write an RFC\n\nYou should write an RFC for:\n\n- New features that affect multiple components or repositories\n- Significant architectural changes\n- Changes that affect the public API or user-facing behavior\n- Security-sensitive changes\n- Cross-cutting concerns that span multiple ToolHive projects\n- Breaking changes or deprecations\n\nYou probably **don't** need an RFC for:\n\n- Bug fixes\n- Documentation improvements\n- Minor refactoring\n- Performance improvements that don't change behavior\n- Changes isolated to a single component with no external impact\n\n## ToolHive Ecosystem\n\nThis RFC repository serves the entire ToolHive ecosystem, including but not limited to:\n\n| Repository | Description |\n|------------|-------------|\n| [toolhive](https://github.com/stacklok/toolhive) | Core ToolHive runtime and CLI |\n| [toolhive-studio](https://github.com/stacklok/toolhive-studio) | Desktop application for managing MCP servers |\n| [toolhive-registry](https://github.com/stacklok/toolhive-registry) | ToolHive's registry of MCP servers |\n| [toolhive-registry-server](https://github.com/stacklok/toolhive-registry-server) | API server implementing the MCP Registry API |\n| [toolhive-cloud-ui](https://github.com/stacklok/toolhive-cloud-ui) | Cloud UI for MCP servers |\n\n## RFC Process\n\n### 1. Pre-RFC Discussion (Optional)\n\nBefore writing a full RFC, consider opening a thread on [Discord](https://discord.gg/stacklok) to gather initial feedback on your idea. This can help refine the proposal before investing time in a full RFC.\n\n### 2. Create the RFC\n\n1. Fork this repository\n2. Copy `rfcs/0000-template.md` to `rfcs/XXXX-descriptive-name.md`\n   - Use the next available Pull Request number for your RFC (check existing RFCs)\n   - Use a short, descriptive name with hyphens\n3. Fill in the RFC template\n4. Submit a Pull Request\n\n### 3. RFC Review\n\n- The RFC will be reviewed by maintainers and community members\n- Feedback will be provided via PR comments\n- The author should address feedback and update the RFC as needed\n- Discussion should focus on technical merit and alignment with project goals\n\n### 4. RFC Decision\n\nRFCs can be:\n- **Accepted**: The RFC is approved and can be implemented\n- **Rejected**: The RFC is not approved (with explanation)\n- **Postponed**: The RFC is deferred for future consideration\n- **Withdrawn**: The author withdraws the RFC\n\n### 5. Implementation\n\nOnce accepted, the RFC can be implemented. The RFC should be updated with:\n- Links to implementation PRs\n- Any deviations from the original design\n- Final status (implemented, partially implemented, superseded)\n\n## RFC Numbering\n\nRFCs are numbered based on the PR numbers, so they are incremental, but not necessarily sequential (0001, 0002, 0004, etc.). When creating a new RFC, check the existing RFCs and use the next available number. A CI task will ensure you're using the right number.\n\nFor RFCs that originate from issues in specific repositories, you may reference the issue number in the RFC (e.g., \"This RFC addresses toolhive#1234\").\n\n## Directory Structure\n\n```\ntoolhive-rfcs/\n├── README.md                    # This file\n├── CONTRIBUTING.md              # Contribution guidelines\n├── rfcs/\n│   ├── 0000-template.md         # RFC template\n│   └── ...\n└── assets/                      # Images and diagrams for RFCs\n    └── XXXX/                    # Assets for RFC XXXX\n```\n\n## License\n\nThis repository is licensed under the Apache License 2.0. See [LICENSE](LICENSE) for details.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines on writing and submitting RFCs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstacklok%2Ftoolhive-rfcs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstacklok%2Ftoolhive-rfcs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstacklok%2Ftoolhive-rfcs/lists"}