Skip to content

Commit 15fafda

Browse files
committed
Instruct Copilot on using raco cover
1 parent 40d995d commit 15fafda

2 files changed

Lines changed: 29 additions & 5 deletions

File tree

.github/copilot-instructions.md

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1+
# Overview
2+
13
This repository is a Racket package called Resyntax, which is a refactoring and
24
static analysis tool for Racket code. It analyzes code using "refactoring
35
rules" written in a domain-specific sublanguage of Racket and implemented using
46
Racket's macro system. Resyntax then uses these rules to suggest ways people
57
can improve their Racket code. See the [Resyntax documentation][1] and
68
[Racket website][2] for more information.
79

10+
## Adding New Refactoring Rules
11+
812
When trying to add a new refactoring rule to Resyntax's default
913
recommendations, pay special attention to the sections in the Resyntax
1014
documentation on [what makes a good refactoring rule][3] and on
@@ -16,16 +20,34 @@ how to run it. Beware that Resyntax is *not* a `raco` command. Run it
1620
using `resyntax fix` or `resyntax analyze`, not `raco resyntax fix` or
1721
`raco resyntax analyze`.
1822

19-
When creating a pull request, avoid being overly verbose in the pull
20-
request description. Keep descriptions to a single paragraph. If you need to
21-
include example code, limit it to one or two small blocks. Do not write
22-
lengthy, detailed explanations or documentation in the PR description.
23-
2423
If you want to experiment with new refactoring rules you've created, consider
2524
doing so by cloning the [DrRacket][6], [Herbie][7], or [Typed Racket][8]
2625
repositories and running Resyntax on them. These repositories contain a lot
2726
of Racket code and are good candidates for testing new refactoring rules.
2827

28+
## Pull Request Style Conventions
29+
30+
When creating a pull request, avoid being overly verbose in the pull
31+
request description. Keep descriptions to a single paragraph. If you need to
32+
include example code, limit it to one or two small blocks. Do not write
33+
lengthy, detailed explanations or documentation in the PR description. Avoid
34+
mentioning things that are obvious from the code changes themselves, such as
35+
lists of files changed. Reserve the PR description for only the most essential
36+
information, and err on the side of omission. There is nothing wrong with a
37+
pull request description that is just a single sentence and a mention of what
38+
issue number is being addressed.
39+
40+
## Code Coverage
41+
42+
When writing tests, you can use the [`raco cover`][9] command to check the
43+
code coverage of your test cases. The command `raco cover path/to/file.rkt`
44+
will generate an HTML report showing what code is covered by the indicated test.
45+
To check for all tests in the repository, you can run `raco cover --pkgs resyntax`.
46+
Pull requests should aim for high code coverage, and an integration with Coveralls
47+
is set up to help track coverage over time. Beware that `raco cover` has some
48+
sharp edges and inconsistencies compared to `raco test`; see its documentation for
49+
more details.
50+
2951
[1]: https://docs.racket-lang.org/resyntax/
3052
[2]: https://racket-lang.org/
3153
[3]: https://docs.racket-lang.org/resyntax/Refactoring_Rules_and_Suites.html#%28part._.What_.Makes_a_.Good_.Refactoring_.Rule_%29
@@ -34,3 +56,4 @@ of Racket code and are good candidates for testing new refactoring rules.
3456
[6]: https://github.com/racket/drracket
3557
[7]: https://github.com/herbie-fp/herbie
3658
[8]: https://github.com/racket/typed-racket
59+
[9]: https://docs.racket-lang.org/cover/

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,5 @@ jobs:
2323
- uses: Bogdanp/setup-racket@v1.14
2424
with:
2525
version: stable
26+
- run: raco pkg install --batch --auto cover
2627
- run: raco pkg install --batch --auto --link --name resyntax

0 commit comments

Comments
 (0)