Add jev-belay, jev-commit and jev.nvim - #7
valentynkit wants to merge 1 commit into
Conversation
|
Closed by mistake, reopened. |
AsafMazuz1
left a comment
There was a problem hiding this comment.
Hi @valentynkit — thank you for being our first community contributor! 🎉 All three tools fit the Developer tools category and bring useful workflows to the list. We appreciate the project pages, the tests in your repositories, and the clear disclosure of authorship, AI assistance, and what you haven't tested live.
We'd like to get these into the catalog. There are a few concrete fixes to make first, mostly around helping someone follow the setup successfully and understand what leaves their machine. We'll handle the README merge conflict ourselves. You can continue updating this same PR.
Before we merge:
-
Keep detected credentials out of Jev Commit's outgoing requests. In the reviewed CLI,
belt.scan()finds credentials, butjudge(states, env)still receives the original diff before the commit is blocked. We reproduced this with a synthetic private-key header and a local fake API: one request contained the header, then the hook exited 20. Please fix this upstream so content flagged by the blocking credential patterns cannot reach the provider, add an offline regression test, and update the catalog's reviewed revision. Skipping inference when one of those patterns matches is a straightforward approach. Also correct the blanket claim that missing-key/API failures always exit 0: the local credential check still blocks without a key. -
Use an installation revision that exists. The Jev Commit pre-commit example specifies
rev: v0.1.0, but upstream currently has no tags. Please use a valid reviewed commit SHA, or publish the intended tag. Identify the snippet as.pre-commit-config.yamland state the Python 3.10+ requirement. -
Make key setup work for the installed hooks. Both Belay and Commit suggest copying
.env.exampleto.env, but neither entry point reads that file. We verified that a key present only there leaves Belay reportingno keyand Commit unable to find it. Please document exportingTYPESAFE_API_KEYinto the environment inherited by Claude Code/Git, or another supported loading mechanism. For Belay, explain that Claude Code needs to inherit the variable when launched. The setup should also work for someone who installed through the marketplace or pipx and has no source checkout in their current directory. Please update the upstream instructions and the catalog pages together. -
Align the remaining descriptions with the source. Belay sends a redacted, capped task/final-message projection plus file-change counts and check summaries, rather than the entire transcript slice; see buildState(). Mention its optional local decision log. Label Jev Commit's demo probabilities, latency, and costs as simulated/placeholders, as its demo guide explains, and distinguish estimated costs from billing. For jev.nvim, include the Apache-2.0 query files alongside MIT (NOTICE); clarify that quickfix retains below-threshold results while virtual-text marks are filtered. Cost estimates use the configured assumptions and do not establish any alternative endpoint's pricing.
What we checked: at PR commit 2dc88de, npm run check passed. We independently ran Belay's tests at 98f39e0 (69 passed, 5 skipped) and Commit's at 311e163 (98 passed, 1 skipped). We inspected jev.nvim's source at a1577b0 and its successful CI run across four Neovim versions; we did not run Neovim locally. The reproductions used synthetic data and local fake endpoints. No live TypeSafe calls were made, and we're not asking you to pay for live evaluation to address this review.
To make the next pass easier, here's a prompt you can paste into your coding agent. It covers the changes above and asks it to collect the evidence we'll need to re-review.
Copy/paste prompt for your agent
Help me address the maintainer review on:
https://github.com/AppitStudio/awesome-jev/pull/7
I maintain valentynkit/jev-belay, valentynkit/jev-commit, and
valentynkit/jev.nvim. The PR lists those projects in Awesome Jev.
Read the current PR review and inspect the actual implementations before
changing anything. Use the Awesome Jev contributor skill at:
https://github.com/AppitStudio/awesome-jev/blob/main/skills/awesome-jev-contributor/SKILL.md
Read CONTRIBUTING.md, community/PROJECT_TEMPLATE.md, and the PR template
from the current catalog. Use the TypeSafe skill/current official docs
when checking the API integration. Treat these projects as experimental;
do not invent live results, measured accuracy, or billing evidence.
Prepare focused fixes in my upstream projects and my existing catalog
PR branch. Preserve unrelated changes. The maintainers will handle the
catalog README merge conflict; do not rebase or force-push to solve it.
1. In jev-commit, trace scan -> request -> verdict. Prevent content caught
by blocking credential patterns from reaching any model request.
Prefer skipping inference when such a pattern matches. Keep the amend
policy explicit: skipping an upload must not accidentally change the
documented rule that clean-index amends never block. Add offline tests
using synthetic credential-shaped content and a recording fake transport
to prove the sensitive content cannot leave, the normal clean path still
works, and missing-key/API-error behavior matches the docs. Do not claim
the scanner can detect every secret.
2. Replace the nonexistent v0.1.0 installation reference with an existing
reviewed revision. Use the fixed revision once it is available upstream.
State Python 3.10+, the config filename, and the commit-msg installation
command. Check the documented installation path in a disposable repo.
3. Fix Belay/Commit API-key instructions upstream and in the catalog.
Neither currently loads .env automatically. Show a supported environment
setup for the installed entry point and verify with dummy values; do not
read real credentials. Ensure Claude Code inherits the variable at launch.
4. Correct Belay's outgoing data and optional local logging description;
label Commit's demo responses/latency/cost as simulated; identify estimated
costs as estimates. Correct jev.nvim's MIT/Apache-2.0 license description,
quickfix versus virtual-text threshold behavior, and pricing assumptions.
Add direct links to the relevant demos/fixtures and runnable offline checks.
5. Keep each catalog detail page, category listing, and README entry
consistent. Record the exact revisions actually inspected and tested.
Update only claims supported by the source or observed results.
6. Run the relevant upstream offline suites and regression tests, then run
npm ci --ignore-scripts and npm run check in the catalog. Use isolated
scratch directories for hook installation; do not change my real hooks
or editor configuration. No paid model calls are required or authorized.
If a runtime is unavailable, report that honestly and distinguish upstream
CI evidence from tests you ran yourself.
Finish with a short mapping of each review item to its fix, changed files,
exact tested commits, commands/results (including skipped checks), and any
remaining limitation. Prepare updated PR verification/AI-assistance text
with honest checklist states. Keep drafts, source clones, raw test captures,
and credentials outside the public catalog. Do not push, publish a tag,
post comments, or merge until I review and authorize the prepared changes.
This is a young repository, and contributions like yours help shape it. Thank you for putting the work into all three tools. Once the fixes are up, leave a note here and we'll take another look — happy to help if any part of the feedback needs clarification.
|
Following up on the earlier CHANGES_REQUESTED review — there are still no new commits on this branch, and the upstream items remain open:
I re-confirmed the judge-after-scan path at Separately (new since the first review): the catalog layout has moved on. Project pages must live under Once upstream fixes + path migration + updated reviewed SHAs are up, leave a note and we’ll re-review. Thank you again for the three tools — we still want them in the list after these blockers clear. |
|
Follow-up on the earlier CHANGES_REQUESTED review — there are still no new commits on this branch, and the upstream items (credential non-upload in jev-commit, real install revision instead of missing Separately, the catalog layout has moved on: project pages must live under Once upstream fixes + path migration + updated reviewed SHAs are up, leave a note and we’ll re-review. Thank you again for the three tools — we still want them in the list after these blockers clear. |
|
Catalog Curator phase-1 hourly check (~10:50 Europe/Sofia 2026-09-20) Still leaving open — no force-merge. Reconfirmed:
Unchanged blockers from prior reviews:
When upstream items land, please rebase onto current |
|
Catalog Curator phase-1 hourly check (~11:48 Europe/Sofia 2026-09-20) Still leaving open — no force-merge. Reconfirmed:
Upstream blockers unchanged:
We'll handle the README merge conflict once the upstream items land on this same PR. Happy to re-review when you push. |
|
Catalog Curator phase-1 hourly check (~12:46 Europe/Sofia 2026-09-20) Still leaving open — no force-merge. Reconfirmed:
Upstream blockers unchanged:
We'll handle the README merge conflict once the upstream items land on this same PR. Happy to re-review when you push. |
|
Catalog Curator phase-1 hourly check (~14:48 Europe/Sofia 2026-09-20) Still leaving open — no force-merge. Reconfirmed:
Upstream blockers unchanged:
We'll handle the README merge conflict once the upstream items land on this same PR. Happy to re-review when you push. |
|
Catalog Curator hourly check (~15:45 Europe/Sofia 2026-09-20) Still leaving open — no force-merge. Reconfirmed:
Upstream blockers unchanged:
We'll handle the README merge conflict once the upstream items land on this same PR. Happy to re-review when you push. |
|
Catalog Curator phase-1 hourly check (~16:48 Europe/Sofia 2026-09-20) Still leaving open — no force-merge. Reconfirmed:
Upstream blockers unchanged:
We'll handle the README merge conflict once the upstream + layout fixes land. Leave a note when ready and we'll re-review. |
|
Curator hourly 2026-09-20 ~18:56 Europe/Sofia: leaving open (still CONFLICTING + CHANGES_REQUESTED). Please rebase onto current main and split to one resource per PR per CONTRIBUTING when ready. |
|
Curator note (2026-09-20 ~19:58–20:10 Europe/Sofia): Still CONFLICTING + CHANGES_REQUESTED. Leaving open this hour — not trivially mergeable (needs author rebase onto current |
|
Catalog Curator hourly check (~22:47 Europe/Sofia 2026-09-20) Still leaving open — no force-merge. Reconfirmed:
Upstream blockers unchanged (credential non-exfiltration in jev-commit, real install revision / tags, API key env inheritance, Belay/Commit/nvim description + SHA + path migration). Happy to re-review after a conflict-free update on this PR. Hourly curation continues with separate one-resource PRs. |
Three tools of mine built on Jev, all MIT, each calling the API directly: jev-belay, a Claude Code Stop hook that blocks an unverified done; jev-commit, a pre-commit hook that checks the message against the staged diff; jev.nvim, a Neovim plugin that turns a plain-language question into a quickfix list. Each gets a project page, a Developer tools index entry and a README line per CONTRIBUTING; npm run check passes. AI assistance: an agent drafted the project pages from the repos' own READMEs and ran the checks; I maintain all three and each page's Maintainer field says so. Not run against a live TypeSafe key for this submission.