-
Notifications
You must be signed in to change notification settings - Fork 0
π Build ScortonJS β Easy Wins, Tests & First PRsΒ #12
Copy link
Copy link
Open
Description
Join the first contributor wave and help shape ScortonJS β the open-source framework that makes human trust measurable and programmable.
Repo structure
scorton-js/
βββ scorton.py
βββ packages/
β βββ cli/
β βββ rust-core/
βββ FRAMEWORK_GUIDE.md
βββ tests/
How to pick a task
- Comment below with the task you pick (e.g., "Iβll take: Add pytest for scorton.py").
- Create a branch: git checkout -b feat/
- Send a PR linking this issue and use the PR checklist.
--- Starter tasks (first-timer friendly)
- β
Add a minimal test for
scorton.py
- Path:
tests/test_scorton_py/test_basic.py - What: Add a simple
pytestthat importsscorton.pyand asserts a trivial function (e.g.,compute_score({}) == 0or equivalent). - Commands:
pytest -q - Time: 15β45 min β’ Difficulty: easy
- Acceptance: tests pass locally
- β Add vitest for CLI (smoke test)
- Path:
packages/cli/ - What: Add
vitestdev dependency and a tiny test that runsnode ./bin/scorton --helpor validates exported CLI function. - Commands:
npm ci && npm run test - Time: 30β90 min β’ Difficulty: easy
- Acceptance:
npm run testpasses
- β Rust core: add a test skeleton
- Path:
packages/rust-core/ - What: Add
tests/integration_test.rswith a smallcargo testexample asserting an exported Rust function. - Commands:
cargo test - Time: 30β60 min β’ Difficulty: easy
- Acceptance:
cargo testpasses
- β Add CI workflow
- Path:
.github/workflows/test.yml - What: Run
pytest,npm test, andcargo teston PRs. - Time: 1β2 hours β’ Difficulty: medium
- Acceptance: CI green on PR
--- PR Checklist (copy into PR body)
- I followed CONTRIBUTING.md
- Tests added or updated
- All local tests pass:
pytest,npm test,cargo test - CI checks pass
Labels: good first issue, first-timer, testing, python, nodejs, rust, help wanted
If you want to be a mentor/reviewer for new contributors, add @<github-handle> below.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels