Config docs rewrite (shipped model), PyPI standalone install docs, typeshed warning-row navigation#326
Merged
Merged
Conversation
The configuration pages documented a model that no longer exists and omitted the one that ships: - Document [tool.basilisk.rule-tags] (the second of the two flat maps) and the full tag vocabulary; it was entirely absent and the page even claimed 'there are no family switches'. - Remove [tool.basilisk.per-path-overrides] everywhere - the key has no implementation and [CHKARCH-CONFIG-MODEL] explicitly excludes glob path patterns; scoped policy is a folder-level pyproject.toml. - Describe nearest-deciding-table-wins rule resolution instead of 'tables merge cumulatively'. - Document the PEP-rules-are-graded-never-disabled invariant. - Correct python-version/python-platform defaults (project-file resolution and interpreter probe - no '3.12' fallback), and document runtime typeshed acquisition keys (typeshed-commit/url/cache/verify) per [STUBRES-TYPESHED-CONFIG]. - Replace removed 'Strict preset' claims with the tag-entry workflow and describe adoption debt as warning-severity rules entries ([AUTOFIX-ADOPTION]). - Add block suppressions (# type: end-...) to the inline-suppression docs; mirror everything in the zh pages. Refs [CHKARCH-CONFIG-MODEL], [CHKARCH-CONFIG-DISCOVERY], [CHKARCH-CONFIG-EXCLUDE], [CHKARCH-VERSION-TARGET], [STUBRES-TYPESHED]
…editor The Server Info UNPINNED row's own message says 'Pin current to make this reproducible', but the row was a read-only InfoTextItem with no command - clicking it did nothing, and nothing led the user to the Pin current action, which lives in the configuration editor's typeshed panel. Typeshed warning rows now carry a navigation-only command that opens the configuration editor (basilisk.openConfigurationEditor). The command is attached only while the server advertises the editor capability, so no shown-but-dead command can render (issue #103 defect 1); without the capability the row stays read-only. Mutations still happen only inside the editor - the row never pins anything itself. Spec: [LSPCFGED-TYPESHED-SERVICE-INFO] amended from 'carry no command' to 'never mutate; warning rows carry one navigation-only command, capability-gated'. Tests: info-panel.test.ts gains a failing-first test asserting the UNPINNED row carries the open-editor command plus an imperative tooltip, and a guard asserting the row stays inert without the capability.
…nd website The CLI has been on PyPI as basilisk-python (issue #322 asked for uv tool install support); the README (en/zh) and the website install pages now say so. Presented as a standalone tool install only — uv tool install basilisk-python, or pipx — never pip into a project environment. Refs #322
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TLDR
Rewrites the website configuration docs (en + zh) to match the shipped two-flat-maps config model, documents the PyPI standalone install (
uv tool install basilisk-python, Refs #322), and makes the info panel's typeshedUNPINNEDwarning row navigate to the Configuration Editor where its fix lives.What Was Added?
basilisk-python): a new "Install" section inREADME.md/README.zh.md, a "PyPI (uv, pipx)" section leadingwebsite/src/docs/install-cli.md, and matching sections on the zh installation page. Presented strictly as a standalone tool install (uv tool install/pipx install), neverpip installinto a project environment; notes thebasilisk-pythonnaming workaround, the published wheel platforms, and that every channel ships the same binary.typeshedWarningIteminvscode-extension/src/info-panel.ts: typeshed warning rows (e.g.UNPINNED) now carry a navigation-only command that opens the Configuration Editor — attached only while the server advertises the capability-gatedbasilisk.openConfigurationEditor, so a shown-but-dead command (issue Sidebar: merge Module Explorer + Type Health, fix & slim the info panel #103 defect 1) cannot reappear.info-panel.test.tscovering both sides of that gate (see below).What Was Changed or Deleted?
website/src/docs/configuration.md+ zh mirror — full rewrite to the shipped config model (CHKARCH-CONFIG-MODEL): rule configuration documented as exactly two flat maps ([tool.basilisk.rules]+[tool.basilisk.rule-tags]); a new "Zero configuration" section (PEP rules aterror, house rules off, no file needed); PEP rules documented as gradeable but never disablable; folder-scoped configuration via the nearest-deciding-table walk; typeshed source pinning (typeshed-commit/typeshed-path). Removed examples that no longer match the model (globper-path-overridestables,disabled = [...]lists).migration.md,quick-start.md, docs index pages, and the site landing page updated to the same model; installation overview pages now list PyPI among the CLI install channels.docs/specs/LSP-CONFIGURATION-EDITOR-SPEC.md([LSPCFGED-TYPESHED-SERVICE-INFO]): typeshed status rows previously "carry no command"; now a warning row carries exactly one navigation-only, capability-gated command, and all rows remain non-mutating.How Do The Automated Tests Prove It Works?
info-panel.test.ts— "the UNPINNED warning row opens the configuration editor where Pin current lives" asserts the row exposes thebasilisk.openConfigurationEditorcommand when the capability is advertised, and "the UNPINNED warning row stays inert while no server advertises the configuration editor" asserts no command is attached otherwise.make _test_vsix, real VS Code + real LSP): 576 passing, 0 failing; extension coverage 93% ≥ 92% threshold.gen_rules_reference.py --datadiff clean,gen_conformance_reference.py --checkclean), the Eleventy build succeeds, and the Playwright navigation + screenshot smoke suite passes 26/26 (desktop + mobile) against the rebuilt site — exercising the rewritten configuration/installation pages.cargo fmt --check,ruff format --check, clippy-D warnings,cargo audit, eslint, and the deslop duplication gate.Spec / Doc Changes
LSP-CONFIGURATION-EDITOR-SPEC.md— typeshed warning-row navigation contract (summarised above).README.md/README.zh.md— new Install section (PyPI standalone, Homebrew, Scoop, Releases).Breaking Changes