@diffpal/lintpal-darwin-arm64 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -23
- package/bin/lintpal +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
[](https://www.npmjs.com/package/lintpal)
|
|
8
8
|
[](LICENSE)
|
|
9
9
|
|
|
10
|
-
**Turn
|
|
10
|
+
**Turn your engineering rules into pull-request checks.**
|
|
11
11
|
|
|
12
|
-
LintPal checks
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
LintPal is a Go CLI that checks Git changes against your team's Markdown rules.
|
|
13
|
+
Your selected AI provider evaluates the rules; LintPal reports findings on
|
|
14
|
+
changed lines and applies a deterministic severity gate. Run it locally or
|
|
15
|
+
publish reviews directly to GitHub.
|
|
16
16
|
|
|
17
17
|
LintPal is part of the [DiffPal family](https://github.com/diffpal/diffpal).
|
|
18
18
|
It checks explicit repository rules; [DiffPal](https://diffpal.github.io/)
|
|
@@ -38,7 +38,7 @@ gate can then fail the check.
|
|
|
38
38
|
review and commit the rules with your code.
|
|
39
39
|
- **Gating:** choose which finding severities block CI while retaining the
|
|
40
40
|
complete findings artifact after each successful evaluation.
|
|
41
|
-
- **Platform feedback:** publish a
|
|
41
|
+
- **Platform feedback:** publish a GitHub review summary and
|
|
42
42
|
inline comments, or consume the same findings as JSON or Markdown in CI.
|
|
43
43
|
|
|
44
44
|
## Supported Providers
|
|
@@ -53,9 +53,10 @@ findings, and severity gate work the same way across providers.
|
|
|
53
53
|
| [**OpenAI**](docs/guides/configuration.md#openai) | A preset for compatible OpenAI Decisions | `--provider openai --model <model-id>` | `OPENAI_API_KEY` |
|
|
54
54
|
| [**Custom**](docs/guides/configuration.md#custom-compatible-service) | Your own compatible service, including a local endpoint | `--provider custom --base-url <url> --api-path <path>` | `LINTPAL_TOKEN` or your chosen token variable |
|
|
55
55
|
|
|
56
|
+
All four provider options are included in
|
|
57
|
+
[v0.6.0](https://github.com/diffpal/lintpal/releases/tag/v0.6.0).
|
|
56
58
|
The OpenAI preset assumes a compatible `/v1/decisions` API; live availability
|
|
57
|
-
has not been verified.
|
|
58
|
-
[releases](https://github.com/diffpal/lintpal/releases) for published package support.
|
|
59
|
+
has not been verified.
|
|
59
60
|
See [provider setup and commands](docs/guides/configuration.md#supported-providers)
|
|
60
61
|
for all four options. The quickstart below uses TypeSafe/Jev.
|
|
61
62
|
|
|
@@ -65,20 +66,22 @@ for all four options. The quickstart below uses TypeSafe/Jev.
|
|
|
65
66
|
| --- | --- |
|
|
66
67
|
| Rules | Loads the repository's `.lintpal/rules/**/*.md` requirements |
|
|
67
68
|
| Diff | Reads changed lines from the unique merge base through head, or from `HEAD` to the working tree with `--uncommitted` |
|
|
68
|
-
|
|
|
69
|
-
| Findings | Writes
|
|
70
|
-
| Feedback |
|
|
69
|
+
| Evaluation | Evaluates each applicable rule through the selected AI provider |
|
|
70
|
+
| Findings | Writes findings tied to changed lines as JSON or Markdown |
|
|
71
|
+
| Feedback (optional) | `feedback github` publishes GitHub comments; `--gate` applies the stored severity gate after publication |
|
|
71
72
|
|
|
72
|
-
|
|
73
|
-
|
|
73
|
+
Your repository defines the rules. Review and update them alongside the code
|
|
74
|
+
as your team's requirements change.
|
|
74
75
|
|
|
75
76
|
## Minimal GitHub Quickstart
|
|
76
77
|
|
|
78
|
+
Use Git and Node.js 16 or newer. npm packages provide native binaries for
|
|
79
|
+
Linux and macOS (x64 and arm64), and Windows (x64).
|
|
77
80
|
Install the CLI globally and add a versioned rule pack in your repository:
|
|
78
81
|
|
|
79
82
|
```bash
|
|
80
83
|
npm install -g lintpal
|
|
81
|
-
lintpal rule import github:diffpal/lintpal-rules//general@v1.1.0
|
|
84
|
+
lintpal rule import github:diffpal/lintpal-rules//general@v1.1.0 --prefix general
|
|
82
85
|
lintpal rule validate
|
|
83
86
|
```
|
|
84
87
|
|
|
@@ -133,8 +136,9 @@ jobs:
|
|
|
133
136
|
|
|
134
137
|
Open a same-repository pull request. LintPal publishes a review with
|
|
135
138
|
`No blocking findings`, `1 blocking finding`, or `N blocking findings`, plus
|
|
136
|
-
|
|
137
|
-
runs after publication; the workflow
|
|
139
|
+
inline comments for eligible new or changed findings. Unchanged comments are
|
|
140
|
+
deduplicated on later runs. The gate runs after publication; the workflow
|
|
141
|
+
keeps `.artifacts/lintpal/findings.json`
|
|
138
142
|
even when a blocking finding fails the job. Draft and fork pull requests are
|
|
139
143
|
skipped. GitHub supplies the pull-request context to the feedback command.
|
|
140
144
|
|
|
@@ -157,15 +161,20 @@ title: Unchecked error
|
|
|
157
161
|
Handle errors returned by calls when failure changes the result or behavior.
|
|
158
162
|
```
|
|
159
163
|
|
|
164
|
+
Save this rule as `.lintpal/rules/go/unchecked-error.md`. When the provider assigns
|
|
165
|
+
a violation probability of at least `0.97`, a finding identifies the changed file and line,
|
|
166
|
+
the `high` severity, and rule ID `go/unchecked-error.md`. Its message is
|
|
167
|
+
`Changed code may violate go/unchecked-error.md.` The default severity gate
|
|
168
|
+
blocks on high or critical findings.
|
|
169
|
+
|
|
160
170
|
Rules are ordinary project files: review them, version them, and change them
|
|
161
|
-
through the same pull-request process as code.
|
|
162
|
-
built-in mandates.
|
|
171
|
+
through the same pull-request process as code.
|
|
163
172
|
|
|
164
173
|
```bash
|
|
165
174
|
lintpal rule list
|
|
166
175
|
lintpal rule view general/authorization.md
|
|
167
176
|
lintpal rule validate
|
|
168
|
-
lintpal rule import github:diffpal/lintpal-rules//go@v1.1.0
|
|
177
|
+
lintpal rule import github:diffpal/lintpal-rules//go@v1.1.0 --prefix go
|
|
169
178
|
```
|
|
170
179
|
|
|
171
180
|
Read [rule authoring](docs/rules/authoring.md) for the complete format and
|
|
@@ -173,7 +182,9 @@ Read [rule authoring](docs/rules/authoring.md) for the complete format and
|
|
|
173
182
|
|
|
174
183
|
## Run Locally
|
|
175
184
|
|
|
176
|
-
|
|
185
|
+
Install the CLI and add rules using the [getting started guide](docs/guides/getting-started.md).
|
|
186
|
+
Then run from your Git repository to check working-tree changes before committing
|
|
187
|
+
or compare two committed revisions:
|
|
177
188
|
|
|
178
189
|
```bash
|
|
179
190
|
export TYPESAFE_API_KEY='your-provider-key'
|
|
@@ -195,8 +206,9 @@ artifact, or `--format json` for JSON on stdout. The default gate returns exit
|
|
|
195
206
|
code `10` when a high or critical finding blocks the run.
|
|
196
207
|
|
|
197
208
|
Choose TypeSafe/Jev, OpenRouter, OpenAI, or a custom compatible endpoint
|
|
198
|
-
from [Supported Providers](#supported-providers).
|
|
199
|
-
|
|
209
|
+
from [Supported Providers](#supported-providers). Configure credentials through
|
|
210
|
+
environment variables or an uncommitted `.env` file. The selected remote
|
|
211
|
+
provider receives bounded source context and rule text.
|
|
200
212
|
See [configuration](docs/guides/configuration.md) and [privacy](docs/architecture/privacy.md).
|
|
201
213
|
|
|
202
214
|
## Documentation by Goal
|
|
@@ -210,7 +222,9 @@ See [configuration](docs/guides/configuration.md) and [privacy](docs/architectur
|
|
|
210
222
|
| Understand findings and gates | [Report reference](docs/reference/report.md) |
|
|
211
223
|
| Automate the CLI | [CLI reference](docs/reference/cli.md) |
|
|
212
224
|
| Review security and data flow | [Privacy](docs/architecture/privacy.md) and [architecture](docs/architecture/overview.md) |
|
|
213
|
-
|
|
|
225
|
+
| Ask a setup question | [GitHub Discussions Q&A](https://github.com/diffpal/lintpal/discussions/categories/q-a) |
|
|
226
|
+
| Suggest a workflow improvement | [GitHub Discussions Ideas](https://github.com/diffpal/lintpal/discussions/categories/ideas) |
|
|
227
|
+
| Report a bug or incorrect finding | [GitHub Issues](https://github.com/diffpal/lintpal/issues/new) |
|
|
214
228
|
| Contribute to LintPal | [Contributing](CONTRIBUTING.md) |
|
|
215
229
|
|
|
216
230
|
## License
|
package/bin/lintpal
CHANGED
|
Binary file
|
package/package.json
CHANGED