Update olddocs to reflect current implementation state
- REGISTRY.md: Mark phases 1-4, 6-8 complete; phase 5 partial - WEB_UI.md: Update Phase 7 checklist with completion status - DESIGN.md: Note TUI replaced by PySide6 GUI, update structure - PROJECT.md: Update source structure and database schema - PROVIDERS.md, META_TOOLS.md, COLLECTIONS.md: Add status notes - Add "Features Implemented Beyond Original Design" sections Co-Authored-By: Claude Opus 4.5 <[email protected]>
This commit is contained in:
+112
-45
@@ -1,5 +1,11 @@
|
||||
# CmdForge Registry Design
|
||||
|
||||
> **Document Status (January 2026)**: This is the original design document used to build the registry.
|
||||
> Phases 1-4 and 6-8 are complete. Phase 5 (Project Dependencies) is partially implemented.
|
||||
> Many features beyond this spec have been added (reviews, issues, fork tracking, scrutiny, admin
|
||||
> moderation). See the Implementation Phases section for current status. For the latest
|
||||
> documentation, see the project-docs system.
|
||||
|
||||
## Purpose
|
||||
Build a centralized registry for CmdForge to enable discovery, publishing, dependency management, and future curation at scale.
|
||||
|
||||
@@ -1969,55 +1975,116 @@ def render_readme_safe(readme_raw: str) -> str:
|
||||
|
||||
## Implementation Phases
|
||||
|
||||
### Phase 1: Foundation
|
||||
- Define `cmdforge.yaml` manifest format
|
||||
- Implement tool resolution order (local → global → registry)
|
||||
- Create CmdForge-Registry repo on Gitea (bootstrap)
|
||||
- Add 3-5 example tools to seed the registry
|
||||
> **Status as of January 2026**: Phases 1-4 and 6-8 are complete. Phase 5 is partially complete.
|
||||
|
||||
### Phase 2: Core Backend
|
||||
- Set up Flask/FastAPI project structure
|
||||
- Implement SQLite database schema
|
||||
- Build core API endpoints (list, search, get, download)
|
||||
- Implement webhook receiver for Gitea sync
|
||||
- Set up HMAC verification
|
||||
### Phase 1: Foundation ✅ Complete
|
||||
- [x] Define `cmdforge.yaml` manifest format
|
||||
- [x] Implement tool resolution order (local → global → registry)
|
||||
- [x] Create CmdForge-Registry repo on Gitea (bootstrap)
|
||||
- [x] Add 3-5 example tools to seed the registry (233+ Fabric patterns imported)
|
||||
|
||||
### Phase 3: CLI Commands
|
||||
- `cmdforge registry search`
|
||||
- `cmdforge registry install`
|
||||
- `cmdforge registry info`
|
||||
- `cmdforge registry browse` (TUI)
|
||||
- Local index caching
|
||||
### Phase 2: Core Backend ✅ Complete
|
||||
- [x] Set up Flask/FastAPI project structure
|
||||
- [x] Implement SQLite database schema (25+ tables including FTS5, reviews, issues, audit)
|
||||
- [x] Build core API endpoints (list, search, get, download)
|
||||
- [x] Implement webhook receiver for Gitea sync
|
||||
- [x] Set up HMAC verification
|
||||
|
||||
### Phase 4: Publishing
|
||||
- Publisher registration (web UI)
|
||||
- Token management
|
||||
- `cmdforge registry publish` command
|
||||
- PR creation via Gitea API
|
||||
- CI validation workflows
|
||||
### Phase 3: CLI Commands ✅ Complete
|
||||
- [x] `cmdforge registry search` (with faceted search, tags, categories, owner, date range)
|
||||
- [x] `cmdforge registry install`
|
||||
- [x] `cmdforge registry info`
|
||||
- [x] `cmdforge registry browse` (opens PySide6 GUI)
|
||||
- [x] Local index caching
|
||||
- [x] `cmdforge registry tags` (list available tags)
|
||||
- [x] `cmdforge registry uninstall`
|
||||
- [x] `cmdforge registry my-tools`
|
||||
- [x] `cmdforge registry status`
|
||||
- [x] `cmdforge registry config` (admin settings)
|
||||
|
||||
### Phase 5: Project Dependencies
|
||||
- `cmdforge install` (from manifest)
|
||||
- `cmdforge add` command
|
||||
- Runtime override application
|
||||
- Dependency resolution
|
||||
### Phase 4: Publishing ✅ Complete
|
||||
- [x] Publisher registration (web UI)
|
||||
- [x] Token management
|
||||
- [x] `cmdforge registry publish` command (with dry-run, version bump, similarity warnings)
|
||||
- [x] PR creation via Gitea API
|
||||
- [x] CI validation workflows
|
||||
- [x] App pairing/connection flow (polling-based, replaces manual token entry)
|
||||
- [x] Connected apps management
|
||||
|
||||
### Phase 6: Smart Features
|
||||
- SQLite FTS5 search index
|
||||
- AI-powered auto-categorization
|
||||
- Duplicate/similarity detection
|
||||
- Security scanning
|
||||
### Phase 5: Project Dependencies ⚠️ Partial
|
||||
- [ ] `cmdforge install` (from manifest) - Not implemented
|
||||
- [ ] `cmdforge add` command - Not implemented
|
||||
- [ ] Runtime override application - Not implemented
|
||||
- [ ] Dependency resolution - Not implemented
|
||||
- [x] Individual tool install via `cmdforge registry install`
|
||||
|
||||
### Phase 7: Full Web UI
|
||||
- Landing page
|
||||
- Tool browsing/search pages
|
||||
- Tool detail pages with README rendering
|
||||
- Publisher dashboard
|
||||
- Documentation/tutorials section
|
||||
### Phase 6: Smart Features ✅ Complete
|
||||
- [x] SQLite FTS5 search index (with prefix matching)
|
||||
- [x] AI-powered auto-categorization
|
||||
- [x] Duplicate/similarity detection
|
||||
- [x] Security scanning (scrutiny system)
|
||||
- [x] AI-powered secondary review (scrutiny-ai-review integration)
|
||||
- [x] Auto-approve/review/reject decision logic
|
||||
- [x] Confidence-based moderation
|
||||
|
||||
### Phase 8: Polish & Scale
|
||||
- Rate limiting
|
||||
- Abuse reporting
|
||||
- Analytics integration
|
||||
- Performance optimization
|
||||
- Monitoring/alerting
|
||||
### Phase 7: Full Web UI ✅ Complete
|
||||
- [x] Landing page (with featured tools, tutorials, contributor spotlight)
|
||||
- [x] Tool browsing/search pages (with faceted filters)
|
||||
- [x] Tool detail pages with README rendering (plus reviews, issues, versions, forks)
|
||||
- [x] Publisher dashboard (tools, tokens, settings)
|
||||
- [x] Documentation/tutorials section
|
||||
- [x] Admin dashboard (pending queue, publishers, reports, scrutiny, settings)
|
||||
- [x] Forum (categories, topics, replies)
|
||||
- [x] Collections pages
|
||||
- [x] Publisher profiles with trust scores and badges
|
||||
|
||||
### Phase 8: Polish & Scale ✅ Complete
|
||||
- [x] Rate limiting
|
||||
- [x] Abuse reporting
|
||||
- [x] Analytics integration (pageviews, consent management)
|
||||
- [x] Performance optimization
|
||||
- [x] Monitoring/alerting (Sentry integration)
|
||||
- [x] Audit logging
|
||||
- [x] Role-based access control (user, moderator, admin)
|
||||
- [x] Publisher banning/unbanning
|
||||
- [x] Review voting and flagging
|
||||
- [x] Issue tracking (bug, security, compatibility)
|
||||
|
||||
## Features Implemented Beyond Original Design
|
||||
|
||||
The following features were added during development but not in the original design:
|
||||
|
||||
### Reviews & Ratings System
|
||||
- 1-5 star ratings with text reviews
|
||||
- Helpful/unhelpful voting on reviews
|
||||
- Review flagging for moderation
|
||||
- Rating aggregates and statistics
|
||||
- Publisher reputation scores
|
||||
|
||||
### Issue Tracking
|
||||
- Bug, security, and compatibility issue types
|
||||
- Severity levels (low, medium, high, critical)
|
||||
- Issue status workflow (open, confirmed, fixed, wontfix, duplicate)
|
||||
- Issue resolution with notes
|
||||
|
||||
### Fork Tracking
|
||||
- Track original tool when forking (`forked_from` field)
|
||||
- Store `forked_version` for version tracking
|
||||
- Display fork information in GUI and web
|
||||
|
||||
### Scrutiny System (Automated Vetting)
|
||||
- Automated security/compatibility analysis on publish
|
||||
- AI-powered secondary review
|
||||
- Confidence-based approval decisions
|
||||
- Admin scrutiny dashboard with statistics
|
||||
|
||||
### Trust & Badges
|
||||
- Publisher trust scores
|
||||
- Achievement badges
|
||||
- Download milestones
|
||||
|
||||
### PySide6 Desktop GUI
|
||||
- Modern desktop GUI replacing urwid TUI
|
||||
- Tool Builder with visual form editor
|
||||
- AI-assisted code generation for code steps
|
||||
- AI persona profiles system
|
||||
|
||||
Reference in New Issue
Block a user