- Read
CLAUDE.mdfirst for the primary contributor workflow and architecture context. - Use focused deep dives only when needed:
dev/STYLE.mdfor coding patterns and API conventions.dev/GIT.mdfor commit and branch practices.dev/DOCS.mdfor documentation syntax and style.dev/PERFORMANCE.mdfor profiling and optimization work.
- Human gate is required: all AI-assisted code must be reviewed, approved, and tested by a human before merge or PR.
visidata/: main package (features/,loaders/,apps/,themes/).tests/: functional replay tests (.vd/.vdj/.vdx) andtests/golden/outputs.visidata/tests/: Python unit tests.docs/anddev/: user and developer documentation.
python3 -m pip install .: install local package.python3 -m pip install ".[test]": install optional test dependencies.vd --version: startup sanity check.pytest -sv visidata/tests/: run unit tests.dev/test.sh -j 4: run functional cmdlog tests and comparetests/golden/.vd . --batch: quick load smoke test.
- Follow
dev/STYLE.mdfor naming, quoting, decorators, and sheet/column patterns. - Use the canonical command pattern shown in
CLAUDE.md:BaseSheet.addCommand('', 'command-name', 'code', 'help text')
- For class placement decisions and exceptions, defer to
dev/STYLE.md.
- Update
tests/*.vd*for workflow-visible behavior changes. - Update
visidata/tests/for isolated Python logic. - Before PR: run
pytest -sv visidata/tests/anddev/test.sh -j 4.
- Base PRs on
develop(notstable). - Follow existing short, imperative subjects; optional scope prefixes like
[test],[docs],[vdsql]. - Keep commits focused and include tests/docs for behavior changes.
- PRs should include problem, approach, risks, and linked issues; add screenshots/gifs and reproducible
.vdscripts for UI changes. - Follow CAA and copyright assignment requirements in
CONTRIBUTING.md.