🎯 Overview
This issue consolidates the remaining features from the original Issue #9 into a comprehensive template ecosystem for seedfolder. After the successful completion of PR #10, we now have a solid foundation with 6 built-in project templates and professional CLI features. This issue will add external template support, configuration management, and a GitHub-based template marketplace.
🎨 Design Philosophy
- Pragmatic over complex: Simple GitHub-based marketplace without hosting costs
- Progressive enhancement: All new features are additive, maintaining backward compatibility
- User empowerment: Allow users to override built-in templates and create new project types
- Enterprise ready: Robust validation, error handling, and configuration management
🚀 Feature Areas
1. External Template Sources (Issue #2)
Enable users to load templates from external directories and sources beyond the built-in embedded templates.
Acceptance Criteria:
Template Structure:
template-name/
├── template.json # Metadata (version, description, author, etc.)
├── files/ # Template files to copy
│ ├── README.md
│ ├── .gitignore
│ └── package.json
└── docs/ # Optional template documentation
└── README.md
Subtasks:
2. Configuration File Support (Issue #5)
Implement a comprehensive configuration system for user preferences and defaults.
Acceptance Criteria:
Configuration Schema:
{
"defaultTemplate": "markdown",
"datePrefix": {
"enabled": true,
"format": "yyyy-MM-dd"
},
"templateSources": [
"~/.seedfolder/templates",
"https://github.com/solrevdev/seedfolder-marketplace"
],
"behavior": {
"quietMode": false,
"forceOverwrite": false,
"dryRun": false
}
}
Subtasks:
3. Template Management & Marketplace (Issue #6)
Create a comprehensive template management system with a GitHub-based marketplace.
🏪 Marketplace Repository: https://github.com/solrevdev/seedfolder-marketplace
Acceptance Criteria:
Marketplace Repository Structure:
solrevdev/seedfolder-marketplace/
├── templates/
│ ├── angular/
│ ├── vue/
│ ├── rust/
│ └── golang/
├── registry.json # Master catalog
└── README.md # Contribution guidelines
Command Structure:
# Template Management
seedfolder template list # Show all available templates
seedfolder template list --remote # Show marketplace templates
seedfolder template info <name> # Show template details
seedfolder template install <name> # Install from marketplace
seedfolder template install --url <repo> # Install from custom repo
seedfolder template uninstall <name> # Remove template
seedfolder template update [name] # Update templates
seedfolder template validate <path> # Validate template structure
seedfolder template create <name> # Create template scaffold
# Configuration Management
seedfolder config list # Show current configuration
seedfolder config set <key> <value> # Set configuration value
seedfolder config unset <key> # Remove configuration value
seedfolder config init # Create default config file
Subtasks:
🏗️ Implementation Strategy
Phase 1: Foundation (Week 1-2)
- External template loading infrastructure
- Configuration system core
- Template validation framework
Phase 2: Commands (Week 2-3)
seedfolder template command group
seedfolder config command group
- Basic marketplace operations
Phase 3: Marketplace (Week 3-4)
- GitHub marketplace repository
- Remote template installation
- Update and management features
Phase 4: Polish (Week 4-5)
- Comprehensive testing
- Documentation updates
- Template authoring guidelines
🎯 Success Metrics
🔗 Related Issues
This issue consolidates and closes:
Dependencies:
📚 Technical Notes
- Maintain single-file
Program.cs structure with new internal classes
- JSON Schema validation for all configuration and metadata files
- Cross-platform path handling using
Path.Combine() throughout
- Comprehensive error handling with actionable error messages
- Template caching for performance with remote sources
- Atomic operations for template installation/removal where possible
🤝 Contributing
This issue provides multiple independent subtasks suitable for different skill levels. Contributors can work on individual features while maintaining overall architectural coherence.
🎯 Overview
This issue consolidates the remaining features from the original Issue #9 into a comprehensive template ecosystem for seedfolder. After the successful completion of PR #10, we now have a solid foundation with 6 built-in project templates and professional CLI features. This issue will add external template support, configuration management, and a GitHub-based template marketplace.
🎨 Design Philosophy
🚀 Feature Areas
1. External Template Sources (Issue #2)
Enable users to load templates from external directories and sources beyond the built-in embedded templates.
Acceptance Criteria:
--template-pathflag for custom template directories~/.seedfolder/templates/Template Structure:
Subtasks:
--template-pathcommand line parameter~/.seedfolder/templates/user directory support2. Configuration File Support (Issue #5)
Implement a comprehensive configuration system for user preferences and defaults.
Acceptance Criteria:
~/.seedfolder/config.json.seedfolder.jsonfilesseedfolder configcommand group for configuration managementConfiguration Schema:
{ "defaultTemplate": "markdown", "datePrefix": { "enabled": true, "format": "yyyy-MM-dd" }, "templateSources": [ "~/.seedfolder/templates", "https://github.com/solrevdev/seedfolder-marketplace" ], "behavior": { "quietMode": false, "forceOverwrite": false, "dryRun": false } }Subtasks:
~/.seedfolder/config.jsonglobal configuration.seedfolder.jsonper-directory configurationseedfolder configcommand group (list,set,unset,init)3. Template Management & Marketplace (Issue #6)
Create a comprehensive template management system with a GitHub-based marketplace.
🏪 Marketplace Repository: https://github.com/solrevdev/seedfolder-marketplace
Acceptance Criteria:
solrevdev/seedfolder-marketplace)seedfolder templatecommand group for template operationsMarketplace Repository Structure:
Command Structure:
Subtasks:
solrevdev/seedfolder-marketplace)template.json) with validationseedfolder templatecommand group infrastructure🏗️ Implementation Strategy
Phase 1: Foundation (Week 1-2)
Phase 2: Commands (Week 2-3)
seedfolder templatecommand groupseedfolder configcommand groupPhase 3: Marketplace (Week 3-4)
Phase 4: Polish (Week 4-5)
🎯 Success Metrics
🔗 Related Issues
This issue consolidates and closes:
Dependencies:
📚 Technical Notes
Program.csstructure with new internal classesPath.Combine()throughout🤝 Contributing
This issue provides multiple independent subtasks suitable for different skill levels. Contributors can work on individual features while maintaining overall architectural coherence.