Skip to content

feat(devshell): init devshell#1014

Merged
elijah-potter merged 8 commits intoAutomattic:masterfrom
alDuncanson:feature/dev-shell
Apr 10, 2025
Merged

feat(devshell): init devshell#1014
elijah-potter merged 8 commits intoAutomattic:masterfrom
alDuncanson:feature/dev-shell

Conversation

@alDuncanson
Copy link
Copy Markdown
Contributor

@alDuncanson alDuncanson commented Apr 3, 2025

Issues

n/a

Description

I was inspired to open this as a draft before everything was fully working, in hopes that someone might be inclined to help out!

I really appreciate the conventional commits—combined with formatting and linting checks in CI—and anything else to make contributing to a project easier for both contributors and maintainers.

I started to put together a Nix flake that outputs a development shell with all of the tooling required for new contributors to get started easily.

For those unfamiliar with Nix, this is a declarative way to setup an ephemeral and hermetically sealed development environment with all of the tooling installed for you.

In the screenshot below you can see I have all of the tooling installed and Harper running in a development server, but running into a few errors when running just setup.

Demo

Screenshot 2025-04-03 at 11 24 06 AM

How Has This Been Tested?

just test

Checklist

  • I have performed a self-review of my own code
  • I have added tests to cover my changes

@alDuncanson
Copy link
Copy Markdown
Contributor Author

I was able to get the dev shell working 👍🏻

Just going to test some more and make sure I'm able to run all of the necessary development scripts and tests.

@alDuncanson
Copy link
Copy Markdown
Contributor Author

Great information about Nix and Rust in this discourse thread: https://discourse.nixos.org/t/how-do-i-install-rust/7491/12

Comment thread .envrc
@@ -0,0 +1 @@
use flake
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instructs direnv to automatically load the environment defined by the Nix flake when entering the directory.

Leave the directory and direnv will unload the environment.

@alDuncanson alDuncanson marked this pull request as ready for review April 4, 2025 05:49
Use a nix template to initialize devshell (utils-generic) and add
development environment dependencies.

Ignore `.direnv/*` files from source control.
@alDuncanson
Copy link
Copy Markdown
Contributor Author

I'm assuming I should add some setup documentation for users who want to use this.

What do you think @elijah-potter ?

I can put something together this weekend.

@elijah-potter
Copy link
Copy Markdown
Collaborator

I'm assuming I should add some setup documentation for users who want to use this.

100%. Ideally somewhere under the contributors section. Code is in packages/web.

@alDuncanson
Copy link
Copy Markdown
Contributor Author

Here's an updated working demo:

Kapture 2025-04-05 at 17 49 55

Comment thread flake.nix
Copy link
Copy Markdown
Collaborator

@elijah-potter elijah-potter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me. Do you mind if I ping you if people have problems?

@elijah-potter elijah-potter added this pull request to the merge queue Apr 10, 2025
@alDuncanson
Copy link
Copy Markdown
Contributor Author

This looks good to me. Do you mind if I ping you if people have problems?

Great!

Not at all :)

Merged via the queue into Automattic:master with commit 9343aa3 Apr 10, 2025
22 checks passed
@alDuncanson alDuncanson deleted the feature/dev-shell branch April 10, 2025 23:25
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Apr 20, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [Automattic/harper/harper-ls](https://github.com/Automattic/harper) | minor | `v0.26.0` -> `v0.29.1` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>Automattic/harper (Automattic/harper/harper-ls)</summary>

### [`v0.29.1`](https://github.com/Automattic/harper/releases/tag/v0.29.1)

[Compare Source](Automattic/harper@v0.29.0...v0.29.1)

#### What's Changed

-   chore: "off of a" false positive by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1081
-   feat: phrase corrections: like a plague, have went, case and point, aswell by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1078
-   Dictionary curation 2025 04 17 by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1080
-   fix: [#&#8203;1075](Automattic/harper#1075) package logo font for vscode extension by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1077

**Full Changelog**: Automattic/harper@v0.29.0...v0.29.1

### [`v0.29.0`](https://github.com/Automattic/harper/releases/tag/v0.29.0)

[Compare Source](Automattic/harper@v0.28.0...v0.29.0)

#### What's Changed

-   refactor: remove unneeded logic for repeated words by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1020
-   fix: improve to handle -s -es and -ed endings by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1003
-   feat: start clarifying affix system by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#972
-   refactor: improve logic and robustness of then→than by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1021
-   Curate existing rules by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#1023
-   fix: new logic and false positives by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1024
-   build(deps): bump tokio from 1.44.1 to 1.44.2 by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#1040
-   build(deps): bump indexmap from 2.8.0 to 2.9.0 by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#1037
-   build(deps): bump uuid from 1.12.0 to 1.16.0 by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#1038
-   feat: use the old code if `parallel` unavailable by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1019
-   feat: mention which verb triggered lint in msg by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1034
-   feat: Expand "cuz", correct "on face value" by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1030
-   feat: exempt "you guys" from the possessive your linter by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1027
-   feat: trail and error→trial and error by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1044
-   chore: tweak priority/position of statusbar item and add Harper logo by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1043
-   chore: "side of a" false positive by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1029
-   feat: Add special cases to sentence capitalization by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1031
-   feat: don't allow "let's" to trigger a following compound by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1032
-   Dictionary curation 2025 04 04 by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1028
-   feature: highly kept (secret)→well-kept by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1045
-   Documentation updates by [@&#8203;mcecode](https://github.com/mcecode) in Automattic/harper#1000
-   chore: manually spotted 3 things our lints would flag in doc comments by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1047
-   feat: sequential pronouns: don't detect "my US", make case insensitive by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1026
-   feat(devshell): init devshell by [@&#8203;alDuncanson](https://github.com/alDuncanson) in Automattic/harper#1014
-   `harper.js` API reference generation improvements by [@&#8203;mcecode](https://github.com/mcecode) in Automattic/harper#1050
-   fix(comments): ignore comments CSpell compatibility by [@&#8203;mcecode](https://github.com/mcecode) in Automattic/harper#1046
-   fix: update vscode deps by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1042
-   feat: hone in on→home in on by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1059
-   Adj of a curation 2025 04 09 by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1053
-   Dictionary curation 2025 04 08 by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1052
-   fix: make modal-of linter case insensitive by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1048
-   build(deps): bump clap from 4.5.34 to 4.5.36 by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#1060
-   build(deps): bump anyhow from 1.0.97 to 1.0.98 by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#1063
-   build(deps): bump lru from 0.13.0 to 0.14.0 by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#1061
-   build(deps): bump smallvec from 1.14.0 to 1.15.0 by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#1062
-   feat(core): add simple corrections from my notes by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#1025
-   Fix bug 1066 "Stack Overflow", dictionary curation, adjective-of-a curation by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1068
-   feat: add for (a)while, after (a)while, unless if, suffice to say by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1071

**Full Changelog**: Automattic/harper@v0.28.0...v0.29.0

### [`v0.28.0`](https://github.com/Automattic/harper/releases/tag/v0.28.0)

[Compare Source](Automattic/harper@v0.27.0...v0.28.0)

#### What's Changed

-   fix(vscode-plugin): sleep a longer time after openUntitled by [@&#8203;kiding](https://github.com/kiding) in Automattic/harper#1004
-   docs: update link to website by [@&#8203;alDuncanson](https://github.com/alDuncanson) in Automattic/harper#1007
-   feat(harper-cli): make lint accept user & file-local dictionary by [@&#8203;kiding](https://github.com/kiding) in Automattic/harper#987
-   feat(ls): use PlainEnglish parser for language id "text" by [@&#8203;86xsk](https://github.com/86xsk) in Automattic/harper#968
-   docs: fix grammar by [@&#8203;alDuncanson](https://github.com/alDuncanson) in Automattic/harper#1009
-   feat(comments): add `scala` support by [@&#8203;tymcauley](https://github.com/tymcauley) in Automattic/harper#970
-   docs(core): update the `Author a Rule` page to align with code by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#1008
-   feat(core): make `LintConfig` sorted by key by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#1012
-   feat: wrote first draft of statistics logging by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#454
-   feat(obsidian): add debounce setting by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#1015
-   feat(harper.js): significantly improve worker performance by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#1016
-   feat: [#&#8203;20](Automattic/harper#20) : comma spacing and [#&#8203;498](Automattic/harper#498) : Asian commas by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#891
-   feat(core): added a bunch more common rules by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#940
-   chore: merge and sort original and non-US sections by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#977
-   Adj of a curation 2025 04 02 by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#1006

#### New Contributors

-   [@&#8203;alDuncanson](https://github.com/alDuncanson) made their first contribution in Automattic/harper#1007
-   [@&#8203;tymcauley](https://github.com/tymcauley) made their first contribution in Automattic/harper#970

**Full Changelog**: Automattic/harper@v0.27.0...v0.28.0

### [`v0.27.0`](https://github.com/Automattic/harper/releases/tag/v0.27.0)

[Compare Source](Automattic/harper@v0.26.0...v0.27.0)

#### What's Changed

-   fix(harper-ls): handle language mode change and VS Code auto detect by [@&#8203;kiding](https://github.com/kiding) in Automattic/harper#966
-   feat: linters for common mistakes with "another" by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#963
-   Dictionary curation 2025 03 06 by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#837
-   feat(core): flag "<adjective> of a" by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#967
-   fix: include the full set of personal pronouns and possessives by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#964
-   fix: 2 words in curated dict lack / before annotations by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#958
-   feat: implement [#&#8203;828](Automattic/harper#828) by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#853
-   VS Code Extension Updates by [@&#8203;mcecode](https://github.com/mcecode) in Automattic/harper#960
-   doc(core): write up the difference between a `Linter` and a `PatternLinter` by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#973
-   fix(core): remove bad phrase by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#974
-   fix: handle another false positive in "adjective of a" by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#980
-   feat(harper-typst): ignore file path as arguments, regex, .display by [@&#8203;kiding](https://github.com/kiding) in Automattic/harper#976
-   Improve doc coverage by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#979
-   feat: detect capitalized false positives by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#988
-   fix(harper-cli): set American as the default dialect by [@&#8203;kiding](https://github.com/kiding) in Automattic/harper#986
-   build(deps): bump once_cell from 1.21.1 to 1.21.3 by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#996
-   feat: more false positives: "inside of" & "out of" by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#992
-   template for feature requests on github by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#981
-   build(deps): bump clap from 4.5.32 to 4.5.34 by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#995
-   feat: implement [#&#8203;993](Automattic/harper#993) by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#994
-   Dialect indicator for VS Code extension by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#985
-   chore: "head of a" false positive + test by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#999
-   test(core): confirm that [#&#8203;720](Automattic/harper#720) is no longer present by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#975
-   fix(wordpress): crashes when options menu is opened by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#1002

**Full Changelog**: Automattic/harper@v0.26.0...v0.27.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjguMCIsInVwZGF0ZWRJblZlciI6IjM5LjI0OC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
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.

2 participants