Skip to content

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Oct 19, 2025

This PR re-enables F# analyzers in the MiniScaffold template projects by applying the configuration from TheAngryByrd/IcedTasks#60 to both Content/Library and Content/Console templates.

Problem

The MiniScaffold templates were not providing code quality analysis and lint-style feedback during development. F# analyzers had been previously available but were not enabled in the current template configuration, leaving developers without immediate code quality insights.

Solution

Added three F# analyzer packages to both library and console templates:

  • FSharp.Analyzers.Build (0.4.0) - Core F# analyzer framework
  • Ionide.Analyzers (0.14.7) - IDE-focused code quality analyzers
  • G-Research.FSharp.Analyzers (0.18.0) - Advanced F# code analysis

Changes Made

Package Configuration

  • Added analyzer package versions to Directory.Packages.props files in both Library and Console templates
  • Added analyzer package references to src/Directory.Build.props files with PrivateAssets="All" to ensure they don't leak to consuming packages

Build Configuration

  • Created src/Directory.Build.targets files with analyzer configuration:
    • RunAnalyzersDuringBuild=true to enable analyzer execution
    • FSharpAnalyzersOtherFlags pointing to the G-Research and Ionide analyzer paths

Benefits

  • Immediate Feedback: Developers get code quality analysis during build without additional setup
  • Non-Breaking: Analyzers provide warnings but don't fail builds, maintaining smooth development workflow
  • Comprehensive Coverage: Three complementary analyzer packages provide broad code quality insights
  • Zero Configuration: Works out-of-the-box for all new projects generated from templates

Testing

Both library and console templates have been tested to ensure:

  • ✅ Templates generate correctly with new analyzer configuration
  • ✅ Generated projects build successfully with analyzers running
  • ✅ Analyzers provide feedback during build process (confirmed in build output)
  • ✅ No breaking changes to existing template functionality

Projects generated with the updated templates will now automatically benefit from F# code quality analysis during development.

Original prompt

This section details on the original issue you should resolve

<issue_title>Re-enable F# Analyzers</issue_title>
<issue_description>Is your feature request related to a problem? Please describe.

Reference work done in TheAngryByrd/IcedTasks#60

Apply this to Content/Library and Content/Console projects.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.
</issue_description>

Comments on the Issue (you are @copilot in this section)

Fixes #296


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@Copilot Copilot AI changed the title [WIP] Re-enable F# analyzers for projects Re-enable F# Analyzers in Library and Console Templates Oct 19, 2025
@Copilot Copilot AI requested a review from TheAngryByrd October 19, 2025 22:35
Copilot finished work on behalf of TheAngryByrd October 19, 2025 22:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Re-enable F# Analyzers

2 participants