Files
sammykumar-ComfyUI-SwissArm…/dev-docs/README.md
T

166 lines
6.5 KiB
Markdown

# ComfyUI-SwissArmyKnife Developer Documentation
Welcome to the ComfyUI-SwissArmyKnife **developer documentation**!
## Documentation Audience
**This directory (`dev-docs/`) is for developers and contributors.** It contains:
- Technical implementation details
- Architecture decisions
- Troubleshooting guides
- Infrastructure documentation
- Integration guides
**Looking for user documentation?** End users should refer to:
- **In ComfyUI**: Right-click any node → View Help (displays `web/docs/NodeName.md`)
- **`web/docs/`**: User-facing help pages with parameters, usage tips, and examples
## 📁 Documentation Structure
## 📁 Documentation Structure
### 🎬 Nodes (`/nodes`)
Core custom nodes that extend ComfyUI functionality:
- ~~**video-metadata**~~ (retired November 30, 2025) - FFmpeg metadata helper removed from the repo
- **[lm-studio-describe](nodes/lm-studio-describe/)** - Structured LM Studio describe nodes with JSON outputs
- **[reddit-media](nodes/reddit-media/)** - Reddit and RedGifs media extraction and processing
- **[media-selection](nodes/media-selection/)** - Media source selection and management
- **[control-panel](nodes/control-panel/)** - Workflow information dashboard display
- **[prompt-builder](nodes/prompt-builder/)** - Compose structured describe overrides with previewable prompt strings
- **[lora-info-extractor](nodes/lora-info-extractor/)** - Hash LoRA stacks, query CivitAI, and emit structured metadata
### 🏗️ Infrastructure (`/infrastructure`)
Core system components and development tools:
- **[caching](infrastructure/caching/)** - Caching strategies and optimization
- **[debug](infrastructure/debug/)** - Debug mode and logging systems
- **[docker](infrastructure/docker/)** - Docker setup and container configuration
- **[build-deploy](infrastructure/build-deploy/)** - Build processes and publishing workflows
- **[SETTINGS_INTEGRATION.md](infrastructure/SETTINGS_INTEGRATION.md)** - ComfyUI settings API integration for secure API key management
### 🔌 Integrations (`/integrations`)
External service integrations:
- **[civitai](integrations/civitai/)** - CivitAI API integration for model metadata
- **[reddit](integrations/reddit/)** - Reddit API integration (see also nodes/reddit-media)
### 🌐 Web JavaScript (`/web-js`)
Web JavaScript widgets and UI components:
- **[Resource Monitor](web-js/RESOURCE_MONITOR.md)** - ⭐ **NEW** Floating HUD with live CPU/RAM/GPU/VRAM monitoring, workflow profiler, and OOM (Out of Memory) detection & analysis
- **[Control Panel](web-js/CONTROL_PANEL.md)** - Dashboard widget with JSON data handling and multi-column layout
- **[Dimensions Display](web-js/DIMENSIONS_DISPLAY.md)** - Automatic media dimension display with troubleshooting
- **[Seed Widget](web-js/SEED_WIDGET.md)** - Randomization seed for reproducible workflows
- **[Widget Fixes](web-js/WIDGET_FIXES.md)** - Visibility management, state persistence, and general fixes
### 📚 Examples (`/examples`)
Example workflows and demonstrations:
- Sample workflow JSON files
- Usage demonstrations
- Integration examples
### 📦 Vendoring Notes
- **[VENDORING.md](VENDORING.md)** — Tracks files copied/adapted from external projects (e.g., VACE-Annotators scribble generator) plus update instructions.
## 🚀 Quick Start
### For Developers
1. **Node Development**: See individual node documentation in `/nodes/[node-name]/`
2. **Integration**: Review `/integrations/` for external API integration guides
3. **Infrastructure**: Consult `/infrastructure/` for system-level changes
4. **Web Widgets**: Check `/web-js/` for JavaScript widget development
### For Users
1. **Node Usage**: Each node folder contains usage guides and examples
2. **Troubleshooting**: Look for troubleshooting sections in node documentation
3. **Examples**: Check `/examples/` for workflow demonstrations
## 📖 Documentation Conventions
### Consolidated Documentation
Each node should have a single comprehensive markdown file that includes:
1. **Overview** - What the node does
2. **Features** - Key capabilities
3. **Configuration** - Input/output parameters
4. **Usage** - How to use the node
5. **Implementation Details** - Technical specifics
6. **Troubleshooting** - Common issues and solutions
7. **Related Documentation** - Links to relevant docs
## 🔍 Finding Documentation
### By Topic
- **Video Processing**: See `/nodes/media-selection/` and `/nodes/reddit-media/`
- **AI/ML Features**: See `/nodes/lm-studio-describe/`
- **External APIs**: Look in `/integrations/`
- **Performance & Monitoring**: Check `/web-js/RESOURCE_MONITOR.md` for profiling and OOM analysis
- **Caching**: See `/infrastructure/caching/`
- **Debugging**: Check `/infrastructure/debug/`
- **Web Widgets**: Review `/web-js/` for JavaScript UI components
## 📝 Contributing Documentation
When adding new documentation:
1. **Choose the Right Location**:
- Node-specific → `/nodes/[node-name]/`
- Infrastructure → `/infrastructure/[category]/`
- Integration → `/integrations/[service]/`
- Web JavaScript widget → `/web-js/`
2. **One File Per Node**: Create a single comprehensive markdown file for each node
3. **Update Index Files**: Add your documentation to the relevant `README.md` in the subdirectory
4. **Cross-Reference**: Link to related documentation files
5. **Include Examples**: Add code snippets and usage examples
## 🗂️ Index Files
Each subdirectory contains a `README.md` that:
- Lists all documentation files in that directory
- Provides brief descriptions of each document
- Links to related documentation in other directories
- Includes quick reference guides when applicable
## 📊 Project Status
See the repository changelog (README) for overall project status and feature completion tracking.
## 🆘 Need Help?
1. **Search**: Use your editor's search to find keywords across all docs
2. **Index Files**: Check the `README.md` in each subdirectory
3. **Status**: Review the main README for current project state
4. **Examples**: Look in `/examples/` for working implementations
## 📅 Documentation Maintenance
- **Regular Updates**: Documentation should be updated when code changes
- **Version Tracking**: Include implementation dates in documentation
- **One File Per Node**: Keep node documentation consolidated in a single file
- **Cleanup**: Outdated documentation should be archived or removed
---
**Last Updated**: November 29, 2025
**Documentation Structure Version**: 3.1 (Added OOM Detection & Profiling System)