Skip to content

Conversation

@httpdss
Copy link
Owner

@httpdss httpdss commented Jul 18, 2025

Issue

Closes #61 - Enhance STRUCT with additional contrib structures for GitHub automation and custom project scaffolding.

Description

This PR introduces several new contrib structures and enhancements to improve GitHub workflow automation and custom project setup capabilities:

🏷️ GitHub Labeler Automation

  • Enhanced labeler workflow: Improved github/workflows/labeler contrib with better YAML formatting and comprehensive label rules
  • Automatic PR labeling: Labels PRs based on branch names (feature/*, bug/*, docs/*) and file changes
  • File-based labeling: Automatically labels PRs based on changed files (documentation, source code, etc.)
  • Release detection: Labels PRs targeting the default branch as releases

🏗️ Custom Structures Template

  • New contrib structure: project/custom-structures for setting up custom structure repositories
  • Mappings support: Includes example mappings file for environment-specific configurations (AWS account IDs, etc.)
  • DevOps workflow integration: Pre-configured with essential GitHub workflows (pre-commit, release-drafter, run-struct)
  • Development environment: Includes devcontainer, prettier, and editor config setups

🤖 GitHub Chat Modes

  • Planning mode: New github/chatmodes/plan contrib for generating implementation plans
  • AI-powered planning: Structured instructions for creating detailed feature and refactoring plans
  • Testing guidance: Includes sections for overview, requirements, implementation steps, and testing

🔧 Project Integration

  • Self-hosting: Updated main .struct.yaml to include the new labeler workflow
  • Consistency: All new structures follow established YAML conventions and formatting

Key Benefits

  • Reduced manual work: Automatic PR labeling saves time and ensures consistency
  • Better project organization: Custom structures template provides a solid foundation for structure repositories
  • Improved planning: Chat modes help generate comprehensive implementation plans
  • Enhanced developer experience: Better tooling integration and automation

Files Changed

  • .github/labeler.yml - GitHub labeler configuration (generated by workflow)
  • .github/workflows/labeler.yaml - GitHub labeler workflow (generated by workflow)
  • .struct.yaml - Added labeler workflow to project structure
  • struct_module/contribs/github/chatmodes/plan.yaml - Planning mode instructions
  • struct_module/contribs/github/workflows/labeler.yaml - Enhanced labeler contrib
  • struct_module/contribs/project/custom-structures.yaml - Custom structures template

Testing

  • ✅ All new contrib structures validated with YAML schema
  • ✅ Labeler workflow tested with various branch naming patterns
  • ✅ Custom structures template generates complete project setup
  • ✅ Planning mode instructions properly formatted for chat interface

Checklist

  • I have read the contributing guidelines.
  • My code follows the code style of this project.
  • I have performed a self-review of my own code.
  • I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.
  • I have updated the documentation accordingly.

Additional Comments

This PR significantly enhances the STRUCT tool's capabilities for GitHub automation and custom project scaffolding. The new contrib structures provide valuable templates that can be immediately used by developers to set up better organized and automated projects.

The labeler automation in particular will help maintain consistent PR labeling across projects, while the custom structures template provides a solid foundation for teams wanting to create their own structure repositories with proper DevOps practices built-in.

@codecov-commenter
Copy link

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 60.20%. Comparing base (d2c4cd5) to head (d261e48).

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #62   +/-   ##
=======================================
  Coverage   60.20%   60.20%           
=======================================
  Files          21       21           
  Lines         980      980           
  Branches      141      141           
=======================================
  Hits          590      590           
  Misses        365      365           
  Partials       25       25           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@httpdss httpdss moved this to In Progress in struct-mainboard Jul 18, 2025
@httpdss httpdss linked an issue Jul 18, 2025 that may be closed by this pull request
@httpdss httpdss self-assigned this Jul 18, 2025
@httpdss httpdss added enhancement New feature or request minor good first issue Good for newcomers labels Jul 18, 2025
@httpdss httpdss changed the title Feature/61-contrib-structure-custom-repo Add GitHub automation tools and custom structure templates Jul 26, 2025
@httpdss httpdss marked this pull request as ready for review July 26, 2025 16:00
@httpdss httpdss merged commit 58d341f into main Jul 26, 2025
2 checks passed
@httpdss httpdss deleted the feature/61-contrib-structure-custom-repo branch July 26, 2025 16:00
@github-project-automation github-project-automation bot moved this from In Progress to Done in struct-mainboard Jul 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request good first issue Good for newcomers minor

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Contrib structure for custom structures repository

3 participants