Skip to content

[Repo Assist] Add FsDocsAllowExecutableProject setting to fsdocs#997

Merged
dsyme merged 5 commits intomainfrom
repo-assist/fix-issue-918-allow-executable-projects-cbba921211624626
Feb 24, 2026
Merged

[Repo Assist] Add FsDocsAllowExecutableProject setting to fsdocs#997
dsyme merged 5 commits intomainfrom
repo-assist/fix-issue-918-allow-executable-projects-cbba921211624626

Conversation

@github-actions
Copy link
Contributor

🤖 This PR was created by Repo Assist, an automated AI assistant.

Fixes the constraint in ProjectCracker.fs that unconditionally skipped non-library projects from API documentation generation.

Root cause: The crackProjects function filtered out any project where OutputType != "library", with no way to opt in.

Fix: Adds a new --allowExecutableProjects CLI flag. When set, the OutputType check is skipped and executable projects (Exe/WinExe) are included in documentation generation alongside libraries.

Changes:

  • ProjectCracker.fs: Extended crackProjects signature with allowExecutableProjects parameter; added that parameter to the filter condition; improved the skip message to hint at the flag.
  • BuildCommand.fs: Added --allowExecutableProjects CLI option and wired it through to crackProjects.
  • RELEASE_NOTES.md: Added entry under [Unreleased].

Trade-offs: This is opt-in via the flag so existing users are unaffected. Executable projects that expose public modules/types (like FsAutoComplete) work identically to libraries for API doc purposes.

Test Status

Build: ✅ dotnet build src/fsdocs-tool/fsdocs-tool.fsproj --configuration Release — succeeded with 0 errors.
Format: ✅ Fantomas applied cleanly.

Closes #918

Generated by Repo Assist for issue #918

To install this workflow, run gh aw add githubnext/agentics/workflows/repo-assist.md@828ac109efb43990f59475cbfce90ede5546586c. View source at https://github.com/githubnext/agentics/tree/828ac109efb43990f59475cbfce90ede5546586c/workflows/repo-assist.md.

Allow executable projects (OutputType=Exe or WinExe) to be included
in API documentation generation when --allowExecutableProjects is set.

Previously, fsdocs would unconditionally skip non-library projects.
This adds a new CLI flag that relaxes that check so that programs
(like FsAutoComplete) can have API docs generated for them.

Closes #918

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
Copy link
Contributor Author

✅ Pull request created: #997

@dsyme dsyme marked this pull request as ready for review February 24, 2026 04:21
@dsyme
Copy link
Contributor

dsyme commented Feb 24, 2026

@nojaf I think this should be a project file setting too right, like the other one. Agree with Repo Assist's assessment that it should be opt-in

@dsyme
Copy link
Contributor

dsyme commented Feb 24, 2026

/repo-assist This should be a project file setting rather than a command line flag. Obviously opt-in. Make sure docs get updated. Update this PR

…Project project file setting

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
Copy link
Contributor Author

Commit pushed: b3cf5b7

Generated by Repo Assist

@github-actions
Copy link
Contributor Author

🤖 Repo Assist here. Done — I've updated this PR to use a per-project file setting instead of a CLI flag.

What changed:

  • Removed --allowExecutableProjects CLI option from fsdocs build
  • Added FsDocsAllowExecutableProject MSBuild property, read per-project (matching the pattern of FsDocsWarnOnMissingDocs, IsTestProject, etc.)
  • The filter now checks info.FsDocsAllowExecutableProject on each individual project rather than a global flag
  • Updated the skip message to hint at the project file setting
  • Updated RELEASE_NOTES.md and docs/commandline.md

Usage: add to any .fsproj or Directory.Build.props:

(FsDocsAllowExecutableProject)true(/FsDocsAllowExecutableProject)

Generated by Repo Assist for issue #997

To install this workflow, run gh aw add githubnext/agentics/workflows/repo-assist.md@b87234850bf9664d198f28a02df0f937d0447295. View source at https://github.com/githubnext/agentics/tree/b87234850bf9664d198f28a02df0f937d0447295/workflows/repo-assist.md.

@dsyme dsyme changed the title [Repo Assist] Add --allowExecutableProjects flag to fsdocs [Repo Assist] Add FsDocsAllowExecutableProject setting to fsdocs Feb 24, 2026
@dsyme dsyme merged commit b20729c into main Feb 24, 2026
10 checks passed
@dsyme dsyme deleted the repo-assist/fix-issue-918-allow-executable-projects-cbba921211624626 branch February 24, 2026 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Can FSharp.Formatting support documenting programs?

2 participants