Skip to content

Commit 5592595

Browse files
authored
Add repo-assist.md for automated repository assistant (#551)
1 parent caec1af commit 5592595

3 files changed

Lines changed: 396 additions & 5 deletions

File tree

.github/copilot-instructions.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# Project details
2-
F# 9
3-
C# 13
4-
.NET 8 and 9
2+
3+
F# 10
4+
C# 14
5+
.NET 10
56
Nullability checks enabled
67

78
## Shell operations
@@ -11,7 +12,8 @@ Always prefer installing PowerShell modules over installing CLI tools.
1112

1213
## GitHub operations
1314

14-
Use `PowerShellForGitHub` PowerShell module for all GitHub operations. Never use GitHub CLI (`gh`) or any other CLI tool for GitHub.
15+
First of all use GitHub MCP tools.
16+
If no tool avaialble, use `PowerShellForGitHub` PowerShell module for all GitHub operations. Never use GitHub CLI (`gh`) or any other CLI tool for GitHub.
1517

1618
## Libraries we use
1719

@@ -39,6 +41,7 @@ Prefer `voption` over `option`
3941
Prefer `task` CE over `async` CE
4042

4143
This is how you define a non-default F# class constructor:
44+
4245
```fsharp
4346
type DerivedClass =
4447
inherit BaseClass
@@ -61,6 +64,7 @@ type DerivedClass =
6164
Always prefer F# class initializers over property assignment! **You absolutely must use F# class initializers instead of property assignment**!
6265

6366
Having a class declaration:
67+
6468
``` F#
6569
type MyClass (someConstructorParam : string) =
6670
member ReadOnlyProperty = someConstructorParam
@@ -70,13 +74,15 @@ type MyClass (someConstructorParam : string) =
7074
```
7175

7276
The following excerpt of class creation is wrong:
77+
7378
``` F#
7479
let myClass = MyClass("some value")
7580
myClass.MutableProperty1 <- "new value"
7681
myClass.MutableProperty2 <- "new value"
7782
```
7883

7984
The following excerpt (uses initializer syntax) of class creation is right:
85+
8086
``` F#
8187
let myClass =
8288
MyClass(
@@ -93,9 +99,11 @@ let myClass =
9399
## Coding instructions
94100

95101
During the implementation, if you need some types or members defined in the other project but that project is not referenced, then:
102+
96103
1. stop implementing the solution;
97104
2. respond with summary about what is needed and which project it is defined in;
98105
3. ask if you can add the reference before continuing coding.
106+
99107
Never ever duplicate the code unless you got explicit confirmation that you are allowed to do so.
100108

101109
## Documentation and Naming

.github/workflows/copilot-setup-steps.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ on:
1414
jobs:
1515
# The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
1616
copilot-setup-steps:
17-
runs-on: windows-2025
17+
runs-on: ubuntu-latest
1818

1919
# Set the permissions to the lowest permissions possible needed for your steps.
2020
# Copilot will be given its own token for its operations.

0 commit comments

Comments
 (0)