Issues and subtasks for seedfolder improvements #9

Description

@solrevdev

The following are some issues and subtasks that need creating in this repository’s issues section as either the suggested issues and subtasks or as this single issue.

First only create issues and subtasks and add comments for plans or questions and I @solrevdev will either approve the beginning of the coding and implementation or add extra context or change requirements as we go

Issue 1: Implement Template System for Different Project Types

Description:
Replace the current hardcoded file copying with a flexible template system that supports different project types (dotnet, node, ruby, python, markdown, etc.).

Acceptance Criteria:

  • Users can specify project type via command line
  • Interactive mode presents menu of available templates
  • Each template contains only relevant files for that project type
  • Backward compatibility maintained for existing usage

Subtasks:

  • Design template structure and metadata format
  • Create template definitions for common project types:
    • dotnet (current default)
    • node/npm
    • ruby/gem
    • python
    • markdown/documentation
    • universal/basic
  • Implement template selection logic
  • Add --template or --type command line parameter
  • Implement interactive mode with template selection menu
  • Create template validation system
  • Update help documentation
  • Add unit tests for template system
  • Update README with template usage examples

Labels: enhancement, breaking-change


Issue 2: Add Configurable Template Sources

Description:
Allow users to specify custom template directories and sources instead of relying solely on embedded files.

Acceptance Criteria:

  • Support external template directories
  • Maintain embedded templates as fallbacks
  • Users can specify custom template paths
  • Template directory structure is well-documented

Subtasks:

  • Design external template directory structure
  • Implement template discovery from file system
  • Add --template-path command line parameter
  • Create seedfolder init command to generate template directory
  • Implement template priority system (custom > user > embedded)
  • Add template caching mechanism
  • Create template validation for external sources
  • Document template creation guidelines
  • Add error handling for missing/invalid templates
  • Create example template repository structure
  • Add unit tests for external template loading

Labels: enhancement, feature


Issue 3: Cross-Platform Testing and Compatibility

Description:
Ensure seedfolder works correctly across Windows, macOS, and Linux with proper CI/CD testing.

Acceptance Criteria:

  • GitHub Actions test matrix covers Windows, macOS, Linux
  • All path operations work correctly cross-platform
  • File permissions are handled appropriately on Unix systems
  • Tests pass on all supported platforms

Subtasks:

  • Audit current code for cross-platform issues
  • Replace any hardcoded path separators with Path.Combine()
  • Create GitHub Actions workflow with platform matrix
  • Add platform-specific test cases
  • Test file permission handling on Unix systems
  • Verify directory creation across platforms
  • Test with different .NET runtime versions
  • Add integration tests for each platform
  • Document platform-specific behaviors
  • Set up automated release pipeline for all platforms

Labels: testing, compatibility, ci-cd


Issue 4: Enhanced CLI Interface and User Experience

Description:
Improve the command-line interface with better help, options, and user feedback.

Acceptance Criteria:

  • Comprehensive help system with examples
  • Dry-run mode to preview operations
  • Better error messages and user feedback
  • Professional CLI behavior and conventions

Subtasks:

  • Implement --help flag with detailed usage information
  • Add --version flag with proper version display
  • Create --dry-run mode to preview file operations
  • Add --list-templates to show available templates
  • Implement --force flag for overwriting existing directories
  • Add --quiet mode for scripting scenarios
  • Improve error messages with actionable suggestions
  • Add progress indicators for file operations
  • Implement proper exit codes for different scenarios
  • Add input validation for directory names
  • Create comprehensive man page or documentation
  • Add bash/zsh completion scripts

Labels: enhancement, ux


Issue 5: Configuration File Support

Description:
Add support for configuration files to allow users to set default preferences and behaviors.

Acceptance Criteria:

  • Support for configuration files in user directory
  • Ability to set default templates and options
  • Per-directory configuration overrides
  • Clear configuration precedence rules

Subtasks:

  • Design configuration file format (JSON/YAML/TOML)
  • Implement configuration file discovery and loading
  • Support global config in ~/.seedfolderrc or similar
  • Support per-directory .seedfolder.json files
  • Define configuration schema and validation
  • Implement configuration precedence (CLI > local > global > defaults)
  • Add configuration validation and error handling
  • Create seedfolder config command for managing settings
  • Document all configuration options
  • Add unit tests for configuration system
  • Provide configuration migration path for breaking changes

Labels: enhancement, feature


Issue 6: Template Management and Validation System

Description:
Create a robust system for managing, validating, and updating templates.

Acceptance Criteria:

  • Template validation before use
  • Template update mechanism
  • Template metadata and documentation
  • Template inheritance support

Subtasks:

  • Design template metadata format (description, version, dependencies)
  • Implement template validation system
  • Create template inheritance mechanism (base + extensions)
  • Add seedfolder update-templates command
  • Implement template versioning
  • Create template documentation generator
  • Add template dependency resolution
  • Implement template conflict detection and resolution
  • Create template testing framework
  • Add template marketplace/registry concept (future)
  • Document template authoring best practices

Labels: enhancement, feature


Issue 7: Improved Error Handling and Robustness

Description:
Enhance error handling, file operations, and overall application robustness.

Acceptance Criteria:

  • Graceful handling of all error conditions
  • Clear, actionable error messages
  • Proper handling of existing files and directories
  • Robust file operations with proper cleanup

Subtasks:

  • Audit all file operations for error conditions
  • Implement comprehensive exception handling
  • Add disk space validation before operations
  • Handle permission errors gracefully
  • Implement rollback mechanism for failed operations
  • Add options for handling existing files (skip, overwrite, merge)
  • Create detailed logging system
  • Add timeout handling for long operations
  • Implement atomic operations where possible
  • Add retry logic for transient failures
  • Create comprehensive error documentation
  • Add integration tests for error conditions

Labels: bug, reliability, enhancement

Suggested timeline etc

Phase 1 (Foundation) - 2-3 weeks

  • Issue 3: Cross-Platform Testing (critical for reliability)
  • Issue 7: Error Handling (foundation for other features)

Phase 2 (Core Features) - 3-4 weeks

  • Issue 1: Template System (major feature)
  • Issue 4: Enhanced CLI (user experience)

Phase 3 (Advanced Features) - 2-3 weeks

  • Issue 2: Configurable Template Sources
  • Issue 5: Configuration File Support

Phase 4 (Polish) - 1-2 weeks

  • Issue 6: Template Management
  • Documentation and final testing

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks"); } } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); } })(); (function(){ try { var __m = "github.com"; var __re = new RegExp('^' + "github\\.com" + '
    Skip to content

    Issues and subtasks for seedfolder improvements #9

    Description

    @solrevdev

    The following are some issues and subtasks that need creating in this repository’s issues section as either the suggested issues and subtasks or as this single issue.

    First only create issues and subtasks and add comments for plans or questions and I @solrevdev will either approve the beginning of the coding and implementation or add extra context or change requirements as we go

    Issue 1: Implement Template System for Different Project Types

    Description:
    Replace the current hardcoded file copying with a flexible template system that supports different project types (dotnet, node, ruby, python, markdown, etc.).

    Acceptance Criteria:

    • Users can specify project type via command line
    • Interactive mode presents menu of available templates
    • Each template contains only relevant files for that project type
    • Backward compatibility maintained for existing usage

    Subtasks:

    • Design template structure and metadata format
    • Create template definitions for common project types:
      • dotnet (current default)
      • node/npm
      • ruby/gem
      • python
      • markdown/documentation
      • universal/basic
    • Implement template selection logic
    • Add --template or --type command line parameter
    • Implement interactive mode with template selection menu
    • Create template validation system
    • Update help documentation
    • Add unit tests for template system
    • Update README with template usage examples

    Labels: enhancement, breaking-change


    Issue 2: Add Configurable Template Sources

    Description:
    Allow users to specify custom template directories and sources instead of relying solely on embedded files.

    Acceptance Criteria:

    • Support external template directories
    • Maintain embedded templates as fallbacks
    • Users can specify custom template paths
    • Template directory structure is well-documented

    Subtasks:

    • Design external template directory structure
    • Implement template discovery from file system
    • Add --template-path command line parameter
    • Create seedfolder init command to generate template directory
    • Implement template priority system (custom > user > embedded)
    • Add template caching mechanism
    • Create template validation for external sources
    • Document template creation guidelines
    • Add error handling for missing/invalid templates
    • Create example template repository structure
    • Add unit tests for external template loading

    Labels: enhancement, feature


    Issue 3: Cross-Platform Testing and Compatibility

    Description:
    Ensure seedfolder works correctly across Windows, macOS, and Linux with proper CI/CD testing.

    Acceptance Criteria:

    • GitHub Actions test matrix covers Windows, macOS, Linux
    • All path operations work correctly cross-platform
    • File permissions are handled appropriately on Unix systems
    • Tests pass on all supported platforms

    Subtasks:

    • Audit current code for cross-platform issues
    • Replace any hardcoded path separators with Path.Combine()
    • Create GitHub Actions workflow with platform matrix
    • Add platform-specific test cases
    • Test file permission handling on Unix systems
    • Verify directory creation across platforms
    • Test with different .NET runtime versions
    • Add integration tests for each platform
    • Document platform-specific behaviors
    • Set up automated release pipeline for all platforms

    Labels: testing, compatibility, ci-cd


    Issue 4: Enhanced CLI Interface and User Experience

    Description:
    Improve the command-line interface with better help, options, and user feedback.

    Acceptance Criteria:

    • Comprehensive help system with examples
    • Dry-run mode to preview operations
    • Better error messages and user feedback
    • Professional CLI behavior and conventions

    Subtasks:

    • Implement --help flag with detailed usage information
    • Add --version flag with proper version display
    • Create --dry-run mode to preview file operations
    • Add --list-templates to show available templates
    • Implement --force flag for overwriting existing directories
    • Add --quiet mode for scripting scenarios
    • Improve error messages with actionable suggestions
    • Add progress indicators for file operations
    • Implement proper exit codes for different scenarios
    • Add input validation for directory names
    • Create comprehensive man page or documentation
    • Add bash/zsh completion scripts

    Labels: enhancement, ux


    Issue 5: Configuration File Support

    Description:
    Add support for configuration files to allow users to set default preferences and behaviors.

    Acceptance Criteria:

    • Support for configuration files in user directory
    • Ability to set default templates and options
    • Per-directory configuration overrides
    • Clear configuration precedence rules

    Subtasks:

    • Design configuration file format (JSON/YAML/TOML)
    • Implement configuration file discovery and loading
    • Support global config in ~/.seedfolderrc or similar
    • Support per-directory .seedfolder.json files
    • Define configuration schema and validation
    • Implement configuration precedence (CLI > local > global > defaults)
    • Add configuration validation and error handling
    • Create seedfolder config command for managing settings
    • Document all configuration options
    • Add unit tests for configuration system
    • Provide configuration migration path for breaking changes

    Labels: enhancement, feature


    Issue 6: Template Management and Validation System

    Description:
    Create a robust system for managing, validating, and updating templates.

    Acceptance Criteria:

    • Template validation before use
    • Template update mechanism
    • Template metadata and documentation
    • Template inheritance support

    Subtasks:

    • Design template metadata format (description, version, dependencies)
    • Implement template validation system
    • Create template inheritance mechanism (base + extensions)
    • Add seedfolder update-templates command
    • Implement template versioning
    • Create template documentation generator
    • Add template dependency resolution
    • Implement template conflict detection and resolution
    • Create template testing framework
    • Add template marketplace/registry concept (future)
    • Document template authoring best practices

    Labels: enhancement, feature


    Issue 7: Improved Error Handling and Robustness

    Description:
    Enhance error handling, file operations, and overall application robustness.

    Acceptance Criteria:

    • Graceful handling of all error conditions
    • Clear, actionable error messages
    • Proper handling of existing files and directories
    • Robust file operations with proper cleanup

    Subtasks:

    • Audit all file operations for error conditions
    • Implement comprehensive exception handling
    • Add disk space validation before operations
    • Handle permission errors gracefully
    • Implement rollback mechanism for failed operations
    • Add options for handling existing files (skip, overwrite, merge)
    • Create detailed logging system
    • Add timeout handling for long operations
    • Implement atomic operations where possible
    • Add retry logic for transient failures
    • Create comprehensive error documentation
    • Add integration tests for error conditions

    Labels: bug, reliability, enhancement

    Suggested timeline etc

    Phase 1 (Foundation) - 2-3 weeks

    • Issue 3: Cross-Platform Testing (critical for reliability)
    • Issue 7: Error Handling (foundation for other features)

    Phase 2 (Core Features) - 3-4 weeks

    • Issue 1: Template System (major feature)
    • Issue 4: Enhanced CLI (user experience)

    Phase 3 (Advanced Features) - 2-3 weeks

    • Issue 2: Configurable Template Sources
    • Issue 5: Configuration File Support

    Phase 4 (Polish) - 1-2 weeks

    • Issue 6: Template Management
    • Documentation and final testing

    Activity

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
      Skip to content

      Issues and subtasks for seedfolder improvements #9

      Description

      @solrevdev

      The following are some issues and subtasks that need creating in this repository’s issues section as either the suggested issues and subtasks or as this single issue.

      First only create issues and subtasks and add comments for plans or questions and I @solrevdev will either approve the beginning of the coding and implementation or add extra context or change requirements as we go

      Issue 1: Implement Template System for Different Project Types

      Description:
      Replace the current hardcoded file copying with a flexible template system that supports different project types (dotnet, node, ruby, python, markdown, etc.).

      Acceptance Criteria:

      • Users can specify project type via command line
      • Interactive mode presents menu of available templates
      • Each template contains only relevant files for that project type
      • Backward compatibility maintained for existing usage

      Subtasks:

      • Design template structure and metadata format
      • Create template definitions for common project types:
        • dotnet (current default)
        • node/npm
        • ruby/gem
        • python
        • markdown/documentation
        • universal/basic
      • Implement template selection logic
      • Add --template or --type command line parameter
      • Implement interactive mode with template selection menu
      • Create template validation system
      • Update help documentation
      • Add unit tests for template system
      • Update README with template usage examples

      Labels: enhancement, breaking-change


      Issue 2: Add Configurable Template Sources

      Description:
      Allow users to specify custom template directories and sources instead of relying solely on embedded files.

      Acceptance Criteria:

      • Support external template directories
      • Maintain embedded templates as fallbacks
      • Users can specify custom template paths
      • Template directory structure is well-documented

      Subtasks:

      • Design external template directory structure
      • Implement template discovery from file system
      • Add --template-path command line parameter
      • Create seedfolder init command to generate template directory
      • Implement template priority system (custom > user > embedded)
      • Add template caching mechanism
      • Create template validation for external sources
      • Document template creation guidelines
      • Add error handling for missing/invalid templates
      • Create example template repository structure
      • Add unit tests for external template loading

      Labels: enhancement, feature


      Issue 3: Cross-Platform Testing and Compatibility

      Description:
      Ensure seedfolder works correctly across Windows, macOS, and Linux with proper CI/CD testing.

      Acceptance Criteria:

      • GitHub Actions test matrix covers Windows, macOS, Linux
      • All path operations work correctly cross-platform
      • File permissions are handled appropriately on Unix systems
      • Tests pass on all supported platforms

      Subtasks:

      • Audit current code for cross-platform issues
      • Replace any hardcoded path separators with Path.Combine()
      • Create GitHub Actions workflow with platform matrix
      • Add platform-specific test cases
      • Test file permission handling on Unix systems
      • Verify directory creation across platforms
      • Test with different .NET runtime versions
      • Add integration tests for each platform
      • Document platform-specific behaviors
      • Set up automated release pipeline for all platforms

      Labels: testing, compatibility, ci-cd


      Issue 4: Enhanced CLI Interface and User Experience

      Description:
      Improve the command-line interface with better help, options, and user feedback.

      Acceptance Criteria:

      • Comprehensive help system with examples
      • Dry-run mode to preview operations
      • Better error messages and user feedback
      • Professional CLI behavior and conventions

      Subtasks:

      • Implement --help flag with detailed usage information
      • Add --version flag with proper version display
      • Create --dry-run mode to preview file operations
      • Add --list-templates to show available templates
      • Implement --force flag for overwriting existing directories
      • Add --quiet mode for scripting scenarios
      • Improve error messages with actionable suggestions
      • Add progress indicators for file operations
      • Implement proper exit codes for different scenarios
      • Add input validation for directory names
      • Create comprehensive man page or documentation
      • Add bash/zsh completion scripts

      Labels: enhancement, ux


      Issue 5: Configuration File Support

      Description:
      Add support for configuration files to allow users to set default preferences and behaviors.

      Acceptance Criteria:

      • Support for configuration files in user directory
      • Ability to set default templates and options
      • Per-directory configuration overrides
      • Clear configuration precedence rules

      Subtasks:

      • Design configuration file format (JSON/YAML/TOML)
      • Implement configuration file discovery and loading
      • Support global config in ~/.seedfolderrc or similar
      • Support per-directory .seedfolder.json files
      • Define configuration schema and validation
      • Implement configuration precedence (CLI > local > global > defaults)
      • Add configuration validation and error handling
      • Create seedfolder config command for managing settings
      • Document all configuration options
      • Add unit tests for configuration system
      • Provide configuration migration path for breaking changes

      Labels: enhancement, feature


      Issue 6: Template Management and Validation System

      Description:
      Create a robust system for managing, validating, and updating templates.

      Acceptance Criteria:

      • Template validation before use
      • Template update mechanism
      • Template metadata and documentation
      • Template inheritance support

      Subtasks:

      • Design template metadata format (description, version, dependencies)
      • Implement template validation system
      • Create template inheritance mechanism (base + extensions)
      • Add seedfolder update-templates command
      • Implement template versioning
      • Create template documentation generator
      • Add template dependency resolution
      • Implement template conflict detection and resolution
      • Create template testing framework
      • Add template marketplace/registry concept (future)
      • Document template authoring best practices

      Labels: enhancement, feature


      Issue 7: Improved Error Handling and Robustness

      Description:
      Enhance error handling, file operations, and overall application robustness.

      Acceptance Criteria:

      • Graceful handling of all error conditions
      • Clear, actionable error messages
      • Proper handling of existing files and directories
      • Robust file operations with proper cleanup

      Subtasks:

      • Audit all file operations for error conditions
      • Implement comprehensive exception handling
      • Add disk space validation before operations
      • Handle permission errors gracefully
      • Implement rollback mechanism for failed operations
      • Add options for handling existing files (skip, overwrite, merge)
      • Create detailed logging system
      • Add timeout handling for long operations
      • Implement atomic operations where possible
      • Add retry logic for transient failures
      • Create comprehensive error documentation
      • Add integration tests for error conditions

      Labels: bug, reliability, enhancement

      Suggested timeline etc

      Phase 1 (Foundation) - 2-3 weeks

      • Issue 3: Cross-Platform Testing (critical for reliability)
      • Issue 7: Error Handling (foundation for other features)

      Phase 2 (Core Features) - 3-4 weeks

      • Issue 1: Template System (major feature)
      • Issue 4: Enhanced CLI (user experience)

      Phase 3 (Advanced Features) - 2-3 weeks

      • Issue 2: Configurable Template Sources
      • Issue 5: Configuration File Support

      Phase 4 (Polish) - 1-2 weeks

      • Issue 6: Template Management
      • Documentation and final testing

      Activity

      Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

      Metadata

      Metadata

      Labels

      No labels
      No labels

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions

        , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length \u003e 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
        Skip to content

        Issues and subtasks for seedfolder improvements #9

        Description

        @solrevdev

        The following are some issues and subtasks that need creating in this repository’s issues section as either the suggested issues and subtasks or as this single issue.

        First only create issues and subtasks and add comments for plans or questions and I @solrevdev will either approve the beginning of the coding and implementation or add extra context or change requirements as we go

        Issue 1: Implement Template System for Different Project Types

        Description:
        Replace the current hardcoded file copying with a flexible template system that supports different project types (dotnet, node, ruby, python, markdown, etc.).

        Acceptance Criteria:

        • Users can specify project type via command line
        • Interactive mode presents menu of available templates
        • Each template contains only relevant files for that project type
        • Backward compatibility maintained for existing usage

        Subtasks:

        • Design template structure and metadata format
        • Create template definitions for common project types:
          • dotnet (current default)
          • node/npm
          • ruby/gem
          • python
          • markdown/documentation
          • universal/basic
        • Implement template selection logic
        • Add --template or --type command line parameter
        • Implement interactive mode with template selection menu
        • Create template validation system
        • Update help documentation
        • Add unit tests for template system
        • Update README with template usage examples

        Labels: enhancement, breaking-change


        Issue 2: Add Configurable Template Sources

        Description:
        Allow users to specify custom template directories and sources instead of relying solely on embedded files.

        Acceptance Criteria:

        • Support external template directories
        • Maintain embedded templates as fallbacks
        • Users can specify custom template paths
        • Template directory structure is well-documented

        Subtasks:

        • Design external template directory structure
        • Implement template discovery from file system
        • Add --template-path command line parameter
        • Create seedfolder init command to generate template directory
        • Implement template priority system (custom > user > embedded)
        • Add template caching mechanism
        • Create template validation for external sources
        • Document template creation guidelines
        • Add error handling for missing/invalid templates
        • Create example template repository structure
        • Add unit tests for external template loading

        Labels: enhancement, feature


        Issue 3: Cross-Platform Testing and Compatibility

        Description:
        Ensure seedfolder works correctly across Windows, macOS, and Linux with proper CI/CD testing.

        Acceptance Criteria:

        • GitHub Actions test matrix covers Windows, macOS, Linux
        • All path operations work correctly cross-platform
        • File permissions are handled appropriately on Unix systems
        • Tests pass on all supported platforms

        Subtasks:

        • Audit current code for cross-platform issues
        • Replace any hardcoded path separators with Path.Combine()
        • Create GitHub Actions workflow with platform matrix
        • Add platform-specific test cases
        • Test file permission handling on Unix systems
        • Verify directory creation across platforms
        • Test with different .NET runtime versions
        • Add integration tests for each platform
        • Document platform-specific behaviors
        • Set up automated release pipeline for all platforms

        Labels: testing, compatibility, ci-cd


        Issue 4: Enhanced CLI Interface and User Experience

        Description:
        Improve the command-line interface with better help, options, and user feedback.

        Acceptance Criteria:

        • Comprehensive help system with examples
        • Dry-run mode to preview operations
        • Better error messages and user feedback
        • Professional CLI behavior and conventions

        Subtasks:

        • Implement --help flag with detailed usage information
        • Add --version flag with proper version display
        • Create --dry-run mode to preview file operations
        • Add --list-templates to show available templates
        • Implement --force flag for overwriting existing directories
        • Add --quiet mode for scripting scenarios
        • Improve error messages with actionable suggestions
        • Add progress indicators for file operations
        • Implement proper exit codes for different scenarios
        • Add input validation for directory names
        • Create comprehensive man page or documentation
        • Add bash/zsh completion scripts

        Labels: enhancement, ux


        Issue 5: Configuration File Support

        Description:
        Add support for configuration files to allow users to set default preferences and behaviors.

        Acceptance Criteria:

        • Support for configuration files in user directory
        • Ability to set default templates and options
        • Per-directory configuration overrides
        • Clear configuration precedence rules

        Subtasks:

        • Design configuration file format (JSON/YAML/TOML)
        • Implement configuration file discovery and loading
        • Support global config in ~/.seedfolderrc or similar
        • Support per-directory .seedfolder.json files
        • Define configuration schema and validation
        • Implement configuration precedence (CLI > local > global > defaults)
        • Add configuration validation and error handling
        • Create seedfolder config command for managing settings
        • Document all configuration options
        • Add unit tests for configuration system
        • Provide configuration migration path for breaking changes

        Labels: enhancement, feature


        Issue 6: Template Management and Validation System

        Description:
        Create a robust system for managing, validating, and updating templates.

        Acceptance Criteria:

        • Template validation before use
        • Template update mechanism
        • Template metadata and documentation
        • Template inheritance support

        Subtasks:

        • Design template metadata format (description, version, dependencies)
        • Implement template validation system
        • Create template inheritance mechanism (base + extensions)
        • Add seedfolder update-templates command
        • Implement template versioning
        • Create template documentation generator
        • Add template dependency resolution
        • Implement template conflict detection and resolution
        • Create template testing framework
        • Add template marketplace/registry concept (future)
        • Document template authoring best practices

        Labels: enhancement, feature


        Issue 7: Improved Error Handling and Robustness

        Description:
        Enhance error handling, file operations, and overall application robustness.

        Acceptance Criteria:

        • Graceful handling of all error conditions
        • Clear, actionable error messages
        • Proper handling of existing files and directories
        • Robust file operations with proper cleanup

        Subtasks:

        • Audit all file operations for error conditions
        • Implement comprehensive exception handling
        • Add disk space validation before operations
        • Handle permission errors gracefully
        • Implement rollback mechanism for failed operations
        • Add options for handling existing files (skip, overwrite, merge)
        • Create detailed logging system
        • Add timeout handling for long operations
        • Implement atomic operations where possible
        • Add retry logic for transient failures
        • Create comprehensive error documentation
        • Add integration tests for error conditions

        Labels: bug, reliability, enhancement

        Suggested timeline etc

        Phase 1 (Foundation) - 2-3 weeks

        • Issue 3: Cross-Platform Testing (critical for reliability)
        • Issue 7: Error Handling (foundation for other features)

        Phase 2 (Core Features) - 3-4 weeks

        • Issue 1: Template System (major feature)
        • Issue 4: Enhanced CLI (user experience)

        Phase 3 (Advanced Features) - 2-3 weeks

        • Issue 2: Configurable Template Sources
        • Issue 5: Configuration File Support

        Phase 4 (Polish) - 1-2 weeks

        • Issue 6: Template Management
        • Documentation and final testing

        Activity

        Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

        Metadata

        Metadata

        Labels

        No labels
        No labels

        Projects

        No projects

          Milestone

          No milestone

          Relationships

          None yet

          Development

          No branches or pull requests

          Issue actions

          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
          Skip to content

          Issues and subtasks for seedfolder improvements #9

          Description

          @solrevdev

          The following are some issues and subtasks that need creating in this repository’s issues section as either the suggested issues and subtasks or as this single issue.

          First only create issues and subtasks and add comments for plans or questions and I @solrevdev will either approve the beginning of the coding and implementation or add extra context or change requirements as we go

          Issue 1: Implement Template System for Different Project Types

          Description:
          Replace the current hardcoded file copying with a flexible template system that supports different project types (dotnet, node, ruby, python, markdown, etc.).

          Acceptance Criteria:

          • Users can specify project type via command line
          • Interactive mode presents menu of available templates
          • Each template contains only relevant files for that project type
          • Backward compatibility maintained for existing usage

          Subtasks:

          • Design template structure and metadata format
          • Create template definitions for common project types:
            • dotnet (current default)
            • node/npm
            • ruby/gem
            • python
            • markdown/documentation
            • universal/basic
          • Implement template selection logic
          • Add --template or --type command line parameter
          • Implement interactive mode with template selection menu
          • Create template validation system
          • Update help documentation
          • Add unit tests for template system
          • Update README with template usage examples

          Labels: enhancement, breaking-change


          Issue 2: Add Configurable Template Sources

          Description:
          Allow users to specify custom template directories and sources instead of relying solely on embedded files.

          Acceptance Criteria:

          • Support external template directories
          • Maintain embedded templates as fallbacks
          • Users can specify custom template paths
          • Template directory structure is well-documented

          Subtasks:

          • Design external template directory structure
          • Implement template discovery from file system
          • Add --template-path command line parameter
          • Create seedfolder init command to generate template directory
          • Implement template priority system (custom > user > embedded)
          • Add template caching mechanism
          • Create template validation for external sources
          • Document template creation guidelines
          • Add error handling for missing/invalid templates
          • Create example template repository structure
          • Add unit tests for external template loading

          Labels: enhancement, feature


          Issue 3: Cross-Platform Testing and Compatibility

          Description:
          Ensure seedfolder works correctly across Windows, macOS, and Linux with proper CI/CD testing.

          Acceptance Criteria:

          • GitHub Actions test matrix covers Windows, macOS, Linux
          • All path operations work correctly cross-platform
          • File permissions are handled appropriately on Unix systems
          • Tests pass on all supported platforms

          Subtasks:

          • Audit current code for cross-platform issues
          • Replace any hardcoded path separators with Path.Combine()
          • Create GitHub Actions workflow with platform matrix
          • Add platform-specific test cases
          • Test file permission handling on Unix systems
          • Verify directory creation across platforms
          • Test with different .NET runtime versions
          • Add integration tests for each platform
          • Document platform-specific behaviors
          • Set up automated release pipeline for all platforms

          Labels: testing, compatibility, ci-cd


          Issue 4: Enhanced CLI Interface and User Experience

          Description:
          Improve the command-line interface with better help, options, and user feedback.

          Acceptance Criteria:

          • Comprehensive help system with examples
          • Dry-run mode to preview operations
          • Better error messages and user feedback
          • Professional CLI behavior and conventions

          Subtasks:

          • Implement --help flag with detailed usage information
          • Add --version flag with proper version display
          • Create --dry-run mode to preview file operations
          • Add --list-templates to show available templates
          • Implement --force flag for overwriting existing directories
          • Add --quiet mode for scripting scenarios
          • Improve error messages with actionable suggestions
          • Add progress indicators for file operations
          • Implement proper exit codes for different scenarios
          • Add input validation for directory names
          • Create comprehensive man page or documentation
          • Add bash/zsh completion scripts

          Labels: enhancement, ux


          Issue 5: Configuration File Support

          Description:
          Add support for configuration files to allow users to set default preferences and behaviors.

          Acceptance Criteria:

          • Support for configuration files in user directory
          • Ability to set default templates and options
          • Per-directory configuration overrides
          • Clear configuration precedence rules

          Subtasks:

          • Design configuration file format (JSON/YAML/TOML)
          • Implement configuration file discovery and loading
          • Support global config in ~/.seedfolderrc or similar
          • Support per-directory .seedfolder.json files
          • Define configuration schema and validation
          • Implement configuration precedence (CLI > local > global > defaults)
          • Add configuration validation and error handling
          • Create seedfolder config command for managing settings
          • Document all configuration options
          • Add unit tests for configuration system
          • Provide configuration migration path for breaking changes

          Labels: enhancement, feature


          Issue 6: Template Management and Validation System

          Description:
          Create a robust system for managing, validating, and updating templates.

          Acceptance Criteria:

          • Template validation before use
          • Template update mechanism
          • Template metadata and documentation
          • Template inheritance support

          Subtasks:

          • Design template metadata format (description, version, dependencies)
          • Implement template validation system
          • Create template inheritance mechanism (base + extensions)
          • Add seedfolder update-templates command
          • Implement template versioning
          • Create template documentation generator
          • Add template dependency resolution
          • Implement template conflict detection and resolution
          • Create template testing framework
          • Add template marketplace/registry concept (future)
          • Document template authoring best practices

          Labels: enhancement, feature


          Issue 7: Improved Error Handling and Robustness

          Description:
          Enhance error handling, file operations, and overall application robustness.

          Acceptance Criteria:

          • Graceful handling of all error conditions
          • Clear, actionable error messages
          • Proper handling of existing files and directories
          • Robust file operations with proper cleanup

          Subtasks:

          • Audit all file operations for error conditions
          • Implement comprehensive exception handling
          • Add disk space validation before operations
          • Handle permission errors gracefully
          • Implement rollback mechanism for failed operations
          • Add options for handling existing files (skip, overwrite, merge)
          • Create detailed logging system
          • Add timeout handling for long operations
          • Implement atomic operations where possible
          • Add retry logic for transient failures
          • Create comprehensive error documentation
          • Add integration tests for error conditions

          Labels: bug, reliability, enhancement

          Suggested timeline etc

          Phase 1 (Foundation) - 2-3 weeks

          • Issue 3: Cross-Platform Testing (critical for reliability)
          • Issue 7: Error Handling (foundation for other features)

          Phase 2 (Core Features) - 3-4 weeks

          • Issue 1: Template System (major feature)
          • Issue 4: Enhanced CLI (user experience)

          Phase 3 (Advanced Features) - 2-3 weeks

          • Issue 2: Configurable Template Sources
          • Issue 5: Configuration File Support

          Phase 4 (Polish) - 1-2 weeks

          • Issue 6: Template Management
          • Documentation and final testing

          Activity

          Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

          Metadata

          Metadata

          Labels

          No labels
          No labels

          Projects

          No projects

            Milestone

            No milestone

            Relationships

            None yet

            Development

            No branches or pull requests

            Issue actions

            , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
            Skip to content

            Issues and subtasks for seedfolder improvements #9

            Description

            @solrevdev

            The following are some issues and subtasks that need creating in this repository’s issues section as either the suggested issues and subtasks or as this single issue.

            First only create issues and subtasks and add comments for plans or questions and I @solrevdev will either approve the beginning of the coding and implementation or add extra context or change requirements as we go

            Issue 1: Implement Template System for Different Project Types

            Description:
            Replace the current hardcoded file copying with a flexible template system that supports different project types (dotnet, node, ruby, python, markdown, etc.).

            Acceptance Criteria:

            • Users can specify project type via command line
            • Interactive mode presents menu of available templates
            • Each template contains only relevant files for that project type
            • Backward compatibility maintained for existing usage

            Subtasks:

            • Design template structure and metadata format
            • Create template definitions for common project types:
              • dotnet (current default)
              • node/npm
              • ruby/gem
              • python
              • markdown/documentation
              • universal/basic
            • Implement template selection logic
            • Add --template or --type command line parameter
            • Implement interactive mode with template selection menu
            • Create template validation system
            • Update help documentation
            • Add unit tests for template system
            • Update README with template usage examples

            Labels: enhancement, breaking-change


            Issue 2: Add Configurable Template Sources

            Description:
            Allow users to specify custom template directories and sources instead of relying solely on embedded files.

            Acceptance Criteria:

            • Support external template directories
            • Maintain embedded templates as fallbacks
            • Users can specify custom template paths
            • Template directory structure is well-documented

            Subtasks:

            • Design external template directory structure
            • Implement template discovery from file system
            • Add --template-path command line parameter
            • Create seedfolder init command to generate template directory
            • Implement template priority system (custom > user > embedded)
            • Add template caching mechanism
            • Create template validation for external sources
            • Document template creation guidelines
            • Add error handling for missing/invalid templates
            • Create example template repository structure
            • Add unit tests for external template loading

            Labels: enhancement, feature


            Issue 3: Cross-Platform Testing and Compatibility

            Description:
            Ensure seedfolder works correctly across Windows, macOS, and Linux with proper CI/CD testing.

            Acceptance Criteria:

            • GitHub Actions test matrix covers Windows, macOS, Linux
            • All path operations work correctly cross-platform
            • File permissions are handled appropriately on Unix systems
            • Tests pass on all supported platforms

            Subtasks:

            • Audit current code for cross-platform issues
            • Replace any hardcoded path separators with Path.Combine()
            • Create GitHub Actions workflow with platform matrix
            • Add platform-specific test cases
            • Test file permission handling on Unix systems
            • Verify directory creation across platforms
            • Test with different .NET runtime versions
            • Add integration tests for each platform
            • Document platform-specific behaviors
            • Set up automated release pipeline for all platforms

            Labels: testing, compatibility, ci-cd


            Issue 4: Enhanced CLI Interface and User Experience

            Description:
            Improve the command-line interface with better help, options, and user feedback.

            Acceptance Criteria:

            • Comprehensive help system with examples
            • Dry-run mode to preview operations
            • Better error messages and user feedback
            • Professional CLI behavior and conventions

            Subtasks:

            • Implement --help flag with detailed usage information
            • Add --version flag with proper version display
            • Create --dry-run mode to preview file operations
            • Add --list-templates to show available templates
            • Implement --force flag for overwriting existing directories
            • Add --quiet mode for scripting scenarios
            • Improve error messages with actionable suggestions
            • Add progress indicators for file operations
            • Implement proper exit codes for different scenarios
            • Add input validation for directory names
            • Create comprehensive man page or documentation
            • Add bash/zsh completion scripts

            Labels: enhancement, ux


            Issue 5: Configuration File Support

            Description:
            Add support for configuration files to allow users to set default preferences and behaviors.

            Acceptance Criteria:

            • Support for configuration files in user directory
            • Ability to set default templates and options
            • Per-directory configuration overrides
            • Clear configuration precedence rules

            Subtasks:

            • Design configuration file format (JSON/YAML/TOML)
            • Implement configuration file discovery and loading
            • Support global config in ~/.seedfolderrc or similar
            • Support per-directory .seedfolder.json files
            • Define configuration schema and validation
            • Implement configuration precedence (CLI > local > global > defaults)
            • Add configuration validation and error handling
            • Create seedfolder config command for managing settings
            • Document all configuration options
            • Add unit tests for configuration system
            • Provide configuration migration path for breaking changes

            Labels: enhancement, feature


            Issue 6: Template Management and Validation System

            Description:
            Create a robust system for managing, validating, and updating templates.

            Acceptance Criteria:

            • Template validation before use
            • Template update mechanism
            • Template metadata and documentation
            • Template inheritance support

            Subtasks:

            • Design template metadata format (description, version, dependencies)
            • Implement template validation system
            • Create template inheritance mechanism (base + extensions)
            • Add seedfolder update-templates command
            • Implement template versioning
            • Create template documentation generator
            • Add template dependency resolution
            • Implement template conflict detection and resolution
            • Create template testing framework
            • Add template marketplace/registry concept (future)
            • Document template authoring best practices

            Labels: enhancement, feature


            Issue 7: Improved Error Handling and Robustness

            Description:
            Enhance error handling, file operations, and overall application robustness.

            Acceptance Criteria:

            • Graceful handling of all error conditions
            • Clear, actionable error messages
            • Proper handling of existing files and directories
            • Robust file operations with proper cleanup

            Subtasks:

            • Audit all file operations for error conditions
            • Implement comprehensive exception handling
            • Add disk space validation before operations
            • Handle permission errors gracefully
            • Implement rollback mechanism for failed operations
            • Add options for handling existing files (skip, overwrite, merge)
            • Create detailed logging system
            • Add timeout handling for long operations
            • Implement atomic operations where possible
            • Add retry logic for transient failures
            • Create comprehensive error documentation
            • Add integration tests for error conditions

            Labels: bug, reliability, enhancement

            Suggested timeline etc

            Phase 1 (Foundation) - 2-3 weeks

            • Issue 3: Cross-Platform Testing (critical for reliability)
            • Issue 7: Error Handling (foundation for other features)

            Phase 2 (Core Features) - 3-4 weeks

            • Issue 1: Template System (major feature)
            • Issue 4: Enhanced CLI (user experience)

            Phase 3 (Advanced Features) - 2-3 weeks

            • Issue 2: Configurable Template Sources
            • Issue 5: Configuration File Support

            Phase 4 (Polish) - 1-2 weeks

            • Issue 6: Template Management
            • Documentation and final testing

            Activity

            Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

            Metadata

            Metadata

            Labels

            No labels
            No labels

            Projects

            No projects

              Milestone

              No milestone

              Relationships

              None yet

              Development

              No branches or pull requests

              Issue actions

              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
              Skip to content

              Issues and subtasks for seedfolder improvements #9

              Description

              @solrevdev

              The following are some issues and subtasks that need creating in this repository’s issues section as either the suggested issues and subtasks or as this single issue.

              First only create issues and subtasks and add comments for plans or questions and I @solrevdev will either approve the beginning of the coding and implementation or add extra context or change requirements as we go

              Issue 1: Implement Template System for Different Project Types

              Description:
              Replace the current hardcoded file copying with a flexible template system that supports different project types (dotnet, node, ruby, python, markdown, etc.).

              Acceptance Criteria:

              • Users can specify project type via command line
              • Interactive mode presents menu of available templates
              • Each template contains only relevant files for that project type
              • Backward compatibility maintained for existing usage

              Subtasks:

              • Design template structure and metadata format
              • Create template definitions for common project types:
                • dotnet (current default)
                • node/npm
                • ruby/gem
                • python
                • markdown/documentation
                • universal/basic
              • Implement template selection logic
              • Add --template or --type command line parameter
              • Implement interactive mode with template selection menu
              • Create template validation system
              • Update help documentation
              • Add unit tests for template system
              • Update README with template usage examples

              Labels: enhancement, breaking-change


              Issue 2: Add Configurable Template Sources

              Description:
              Allow users to specify custom template directories and sources instead of relying solely on embedded files.

              Acceptance Criteria:

              • Support external template directories
              • Maintain embedded templates as fallbacks
              • Users can specify custom template paths
              • Template directory structure is well-documented

              Subtasks:

              • Design external template directory structure
              • Implement template discovery from file system
              • Add --template-path command line parameter
              • Create seedfolder init command to generate template directory
              • Implement template priority system (custom > user > embedded)
              • Add template caching mechanism
              • Create template validation for external sources
              • Document template creation guidelines
              • Add error handling for missing/invalid templates
              • Create example template repository structure
              • Add unit tests for external template loading

              Labels: enhancement, feature


              Issue 3: Cross-Platform Testing and Compatibility

              Description:
              Ensure seedfolder works correctly across Windows, macOS, and Linux with proper CI/CD testing.

              Acceptance Criteria:

              • GitHub Actions test matrix covers Windows, macOS, Linux
              • All path operations work correctly cross-platform
              • File permissions are handled appropriately on Unix systems
              • Tests pass on all supported platforms

              Subtasks:

              • Audit current code for cross-platform issues
              • Replace any hardcoded path separators with Path.Combine()
              • Create GitHub Actions workflow with platform matrix
              • Add platform-specific test cases
              • Test file permission handling on Unix systems
              • Verify directory creation across platforms
              • Test with different .NET runtime versions
              • Add integration tests for each platform
              • Document platform-specific behaviors
              • Set up automated release pipeline for all platforms

              Labels: testing, compatibility, ci-cd


              Issue 4: Enhanced CLI Interface and User Experience

              Description:
              Improve the command-line interface with better help, options, and user feedback.

              Acceptance Criteria:

              • Comprehensive help system with examples
              • Dry-run mode to preview operations
              • Better error messages and user feedback
              • Professional CLI behavior and conventions

              Subtasks:

              • Implement --help flag with detailed usage information
              • Add --version flag with proper version display
              • Create --dry-run mode to preview file operations
              • Add --list-templates to show available templates
              • Implement --force flag for overwriting existing directories
              • Add --quiet mode for scripting scenarios
              • Improve error messages with actionable suggestions
              • Add progress indicators for file operations
              • Implement proper exit codes for different scenarios
              • Add input validation for directory names
              • Create comprehensive man page or documentation
              • Add bash/zsh completion scripts

              Labels: enhancement, ux


              Issue 5: Configuration File Support

              Description:
              Add support for configuration files to allow users to set default preferences and behaviors.

              Acceptance Criteria:

              • Support for configuration files in user directory
              • Ability to set default templates and options
              • Per-directory configuration overrides
              • Clear configuration precedence rules

              Subtasks:

              • Design configuration file format (JSON/YAML/TOML)
              • Implement configuration file discovery and loading
              • Support global config in ~/.seedfolderrc or similar
              • Support per-directory .seedfolder.json files
              • Define configuration schema and validation
              • Implement configuration precedence (CLI > local > global > defaults)
              • Add configuration validation and error handling
              • Create seedfolder config command for managing settings
              • Document all configuration options
              • Add unit tests for configuration system
              • Provide configuration migration path for breaking changes

              Labels: enhancement, feature


              Issue 6: Template Management and Validation System

              Description:
              Create a robust system for managing, validating, and updating templates.

              Acceptance Criteria:

              • Template validation before use
              • Template update mechanism
              • Template metadata and documentation
              • Template inheritance support

              Subtasks:

              • Design template metadata format (description, version, dependencies)
              • Implement template validation system
              • Create template inheritance mechanism (base + extensions)
              • Add seedfolder update-templates command
              • Implement template versioning
              • Create template documentation generator
              • Add template dependency resolution
              • Implement template conflict detection and resolution
              • Create template testing framework
              • Add template marketplace/registry concept (future)
              • Document template authoring best practices

              Labels: enhancement, feature


              Issue 7: Improved Error Handling and Robustness

              Description:
              Enhance error handling, file operations, and overall application robustness.

              Acceptance Criteria:

              • Graceful handling of all error conditions
              • Clear, actionable error messages
              • Proper handling of existing files and directories
              • Robust file operations with proper cleanup

              Subtasks:

              • Audit all file operations for error conditions
              • Implement comprehensive exception handling
              • Add disk space validation before operations
              • Handle permission errors gracefully
              • Implement rollback mechanism for failed operations
              • Add options for handling existing files (skip, overwrite, merge)
              • Create detailed logging system
              • Add timeout handling for long operations
              • Implement atomic operations where possible
              • Add retry logic for transient failures
              • Create comprehensive error documentation
              • Add integration tests for error conditions

              Labels: bug, reliability, enhancement

              Suggested timeline etc

              Phase 1 (Foundation) - 2-3 weeks

              • Issue 3: Cross-Platform Testing (critical for reliability)
              • Issue 7: Error Handling (foundation for other features)

              Phase 2 (Core Features) - 3-4 weeks

              • Issue 1: Template System (major feature)
              • Issue 4: Enhanced CLI (user experience)

              Phase 3 (Advanced Features) - 2-3 weeks

              • Issue 2: Configurable Template Sources
              • Issue 5: Configuration File Support

              Phase 4 (Polish) - 1-2 weeks

              • Issue 6: Template Management
              • Documentation and final testing

              Activity

              Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

              Metadata

              Metadata

              Labels

              No labels
              No labels

              Projects

              No projects

                Milestone

                No milestone

                Relationships

                None yet

                Development

                No branches or pull requests

                Issue actions

                , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
                Skip to content

                Issues and subtasks for seedfolder improvements #9

                Description

                @solrevdev

                The following are some issues and subtasks that need creating in this repository’s issues section as either the suggested issues and subtasks or as this single issue.

                First only create issues and subtasks and add comments for plans or questions and I @solrevdev will either approve the beginning of the coding and implementation or add extra context or change requirements as we go

                Issue 1: Implement Template System for Different Project Types

                Description:
                Replace the current hardcoded file copying with a flexible template system that supports different project types (dotnet, node, ruby, python, markdown, etc.).

                Acceptance Criteria:

                • Users can specify project type via command line
                • Interactive mode presents menu of available templates
                • Each template contains only relevant files for that project type
                • Backward compatibility maintained for existing usage

                Subtasks:

                • Design template structure and metadata format
                • Create template definitions for common project types:
                  • dotnet (current default)
                  • node/npm
                  • ruby/gem
                  • python
                  • markdown/documentation
                  • universal/basic
                • Implement template selection logic
                • Add --template or --type command line parameter
                • Implement interactive mode with template selection menu
                • Create template validation system
                • Update help documentation
                • Add unit tests for template system
                • Update README with template usage examples

                Labels: enhancement, breaking-change


                Issue 2: Add Configurable Template Sources

                Description:
                Allow users to specify custom template directories and sources instead of relying solely on embedded files.

                Acceptance Criteria:

                • Support external template directories
                • Maintain embedded templates as fallbacks
                • Users can specify custom template paths
                • Template directory structure is well-documented

                Subtasks:

                • Design external template directory structure
                • Implement template discovery from file system
                • Add --template-path command line parameter
                • Create seedfolder init command to generate template directory
                • Implement template priority system (custom > user > embedded)
                • Add template caching mechanism
                • Create template validation for external sources
                • Document template creation guidelines
                • Add error handling for missing/invalid templates
                • Create example template repository structure
                • Add unit tests for external template loading

                Labels: enhancement, feature


                Issue 3: Cross-Platform Testing and Compatibility

                Description:
                Ensure seedfolder works correctly across Windows, macOS, and Linux with proper CI/CD testing.

                Acceptance Criteria:

                • GitHub Actions test matrix covers Windows, macOS, Linux
                • All path operations work correctly cross-platform
                • File permissions are handled appropriately on Unix systems
                • Tests pass on all supported platforms

                Subtasks:

                • Audit current code for cross-platform issues
                • Replace any hardcoded path separators with Path.Combine()
                • Create GitHub Actions workflow with platform matrix
                • Add platform-specific test cases
                • Test file permission handling on Unix systems
                • Verify directory creation across platforms
                • Test with different .NET runtime versions
                • Add integration tests for each platform
                • Document platform-specific behaviors
                • Set up automated release pipeline for all platforms

                Labels: testing, compatibility, ci-cd


                Issue 4: Enhanced CLI Interface and User Experience

                Description:
                Improve the command-line interface with better help, options, and user feedback.

                Acceptance Criteria:

                • Comprehensive help system with examples
                • Dry-run mode to preview operations
                • Better error messages and user feedback
                • Professional CLI behavior and conventions

                Subtasks:

                • Implement --help flag with detailed usage information
                • Add --version flag with proper version display
                • Create --dry-run mode to preview file operations
                • Add --list-templates to show available templates
                • Implement --force flag for overwriting existing directories
                • Add --quiet mode for scripting scenarios
                • Improve error messages with actionable suggestions
                • Add progress indicators for file operations
                • Implement proper exit codes for different scenarios
                • Add input validation for directory names
                • Create comprehensive man page or documentation
                • Add bash/zsh completion scripts

                Labels: enhancement, ux


                Issue 5: Configuration File Support

                Description:
                Add support for configuration files to allow users to set default preferences and behaviors.

                Acceptance Criteria:

                • Support for configuration files in user directory
                • Ability to set default templates and options
                • Per-directory configuration overrides
                • Clear configuration precedence rules

                Subtasks:

                • Design configuration file format (JSON/YAML/TOML)
                • Implement configuration file discovery and loading
                • Support global config in ~/.seedfolderrc or similar
                • Support per-directory .seedfolder.json files
                • Define configuration schema and validation
                • Implement configuration precedence (CLI > local > global > defaults)
                • Add configuration validation and error handling
                • Create seedfolder config command for managing settings
                • Document all configuration options
                • Add unit tests for configuration system
                • Provide configuration migration path for breaking changes

                Labels: enhancement, feature


                Issue 6: Template Management and Validation System

                Description:
                Create a robust system for managing, validating, and updating templates.

                Acceptance Criteria:

                • Template validation before use
                • Template update mechanism
                • Template metadata and documentation
                • Template inheritance support

                Subtasks:

                • Design template metadata format (description, version, dependencies)
                • Implement template validation system
                • Create template inheritance mechanism (base + extensions)
                • Add seedfolder update-templates command
                • Implement template versioning
                • Create template documentation generator
                • Add template dependency resolution
                • Implement template conflict detection and resolution
                • Create template testing framework
                • Add template marketplace/registry concept (future)
                • Document template authoring best practices

                Labels: enhancement, feature


                Issue 7: Improved Error Handling and Robustness

                Description:
                Enhance error handling, file operations, and overall application robustness.

                Acceptance Criteria:

                • Graceful handling of all error conditions
                • Clear, actionable error messages
                • Proper handling of existing files and directories
                • Robust file operations with proper cleanup

                Subtasks:

                • Audit all file operations for error conditions
                • Implement comprehensive exception handling
                • Add disk space validation before operations
                • Handle permission errors gracefully
                • Implement rollback mechanism for failed operations
                • Add options for handling existing files (skip, overwrite, merge)
                • Create detailed logging system
                • Add timeout handling for long operations
                • Implement atomic operations where possible
                • Add retry logic for transient failures
                • Create comprehensive error documentation
                • Add integration tests for error conditions

                Labels: bug, reliability, enhancement

                Suggested timeline etc

                Phase 1 (Foundation) - 2-3 weeks

                • Issue 3: Cross-Platform Testing (critical for reliability)
                • Issue 7: Error Handling (foundation for other features)

                Phase 2 (Core Features) - 3-4 weeks

                • Issue 1: Template System (major feature)
                • Issue 4: Enhanced CLI (user experience)

                Phase 3 (Advanced Features) - 2-3 weeks

                • Issue 2: Configurable Template Sources
                • Issue 5: Configuration File Support

                Phase 4 (Polish) - 1-2 weeks

                • Issue 6: Template Management
                • Documentation and final testing

                Activity

                Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

                Metadata

                Metadata

                Labels

                No labels
                No labels

                Projects

                No projects

                  Milestone

                  No milestone

                  Relationships

                  None yet

                  Development

                  No branches or pull requests

                  Issue actions