-
Notifications
You must be signed in to change notification settings - Fork 75
Add basic F# GitHub Copilot instructions and GitHub MCP #726
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces basic F# GitHub Copilot instructions and integrates the GitHub MCP configuration for secure API access.
- Updated CHANGELOG.md to log the new instructions entry.
- Added .mcp.json for GitHub MCP configuration using a GitHub personal access token.
- Added .github/copilot-instructions.md which outlines best practices and latest F# coding conventions for using Copilot.
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
File | Description |
---|---|
CHANGELOG.md | Added a log entry for the new Copilot instructions and GitHub MCP |
.mcp.json | New configuration file establishing connection parameters for MCP |
.github/copilot-instructions.md | Introduces F# coding guidelines and best practices for Copilot usage |
089fafe
to
1e6b31b
Compare
bf649a0
to
f518f57
Compare
@Numpsy, @webwarrior-ws, @BennieCopeland do you have any suggestions? |
f518f57
to
442fbf4
Compare
442fbf4
to
f470eb6
Compare
|
||
Prefer `voption` over `option` | ||
|
||
Prefer `task` CE over `async` CE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@xperiandri let's put this line backwards, async is idomatic F#
``created object``.otherField <- fieldValue | ||
|
||
[<DefaultValue>] | ||
val mutable otherField : FieldType |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@xperiandri let's not encourage Copilot to use the mutable
keyword
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I usually add such a sample to Copilot instructions as neither it knows how to implement non-default constructors, nor I remember.
https://sharplab.io/#v2:DYLgZgzgNAJiDUAfALgTwA4FMAEARTATgJYBumMAwsAIYQTYC8AsAFDbvZEB2AFoUcmwB7AEYArVqw7YumAO7YAFAANl1AgHMArgFtMXZPT4FMqgJTZa2VQGMT1ZOWHjMN5KqnSOzNl/YB6f2w7TAccai5UZzFXQ2wtCCdubGQ+bBFaHBsaOmChLghkAi03IQJPP2BMQTAiTGAYADVqYC0cBmwAIk6KrwBvXr92bmMBaKUzQY4AXyn2VP05r1t7Rxho2NUAOiEFggAxOobsAB4AWmxa+qaWtslfdgBtE/wwai1gZGbWzAA+AF1eiQWsI9odrtgQNhCsQuBpWEA==
Do you know the syntax to declare a field with a non-default constructor without the mutable keyword?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The mutable keyword can be mentioned separately to bring its attention to the preference of not using it.
## [0.25.0] - 2025-07-11 - Migrate from `Paket` to `Directory.Packages.props` #722 [@xperiandri] - Migrate to .NET `9.0.201` and FCS `43.9.201` #722 [@xperiandri] - Write test logs to test context output #722 [@xperiandri] - Use string interpolation instead of `+` concatenation #724 [@xperiandri] - Run tests in parallel #728 [@xperiandri] - Remove `NoPartialFunctions` compiler workaround (#698) [@webwarrior-ws] - Add `SLNX` and `SLNF` format support and migrate to SLNX solution #723 [@xperiandri] Remove `Ionide.ProjInfo.Sln` NuGet package dependency - Remove `Newtonsoft.Json` NuGet dependency #725 [@xperiandri] - Add missing rule checks for FL0079-FL0081 #713 [@BennieCopeland] - Modify `.gitignore` to the Visual Studio standard one #735 [@xperiandri] - Add basic Copilot instructions and GitHub MCP #726 [@xperiandri] - Migrate `Fornax` to `0.16.0-beta002` and `FSharp.Formatting` to `20.0.1` #736 [@xperiandri, @Numpsy] - Update the build instructions to use `dotnet fsi` instead of `fake-cli` #734 [@Numpsy]
No description provided.