Documentation sites: prose and spell checkers (aspell, codespell, sphinx-lint, markdownlint via npm exec), VitePress, legacy GitBook, Read the Docs builds, plain-Markdown docs with a link checker
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- python
- 領域
- documentation, tooling
調査の方向性
Start with the documentation-site ecosystem detection in ecosystems/documentation.py, which currently lists only MkDocs, Sphinx, Docusaurus, mdBook, Hugo and Jekyll, and the static-analysis and link-check checks that consume it. Run the validator on a small fixture with a docs/.vitepress/config.ts and check the --map output. Done when VitePress is detected as a documentation site and the prose-checker and link-checker cases in the issue are credited or judged rather than skipped. The issue bundles several separate proposals, so agree the scope with a maintainer first.
索引モデルが issue の本文から書いたものです。
説明
rust-lang/book runs aspell, mkdocs codespell and markdownlint-cli (via npm exec behind hatch), devguide sphinx-lint (the standard RST linter) and scikit-learn sphinx-lint + cython-lint → static-analysis FAIL "no static analyzer runs" for the site. vite's docs/ is a VitePress site (no Documentation site unit; link-check SKIP) and fastify runs two link checkers over its Markdown docs (link-check SKIP "not applicable to JavaScript"); cppbestpractices is a legacy GitBook (book.json + SUMMARY.md, "no recognised language"); bats-core's and flask's docs are built on Read the Docs (.readthedocs.yaml), not in CI.
Evidence from the corpus audit
rust-lang/book, mkdocs/mkdocs, python/devguide / static-analysis (prose and spell checkers)
- kind: UNSUPPORTED
- actual: FAIL "Documentation site: no static analyzer runs" (book, devguide); mkdocs: "markdownlint is configured
(.markdownlint.yaml) but does not run". - expected: credit for the prose checkers these sites actually run: aspell (book), codespell (mkdocs), sphinx-lint
(devguide, the standard RST linter); and markdownlint-cli vianpm execin mkdocs (hidden behind hatch, see below). - evidence: rust-lang/book
.github/workflows/main.yml:92-93:- name: Spellcheck/run: bash ci/spellcheck.sh list(ci/spellcheck.shrunsaspell, exit 1 on a typo); mkdocspyproject.toml:199:spelling = 'codespell mkdocs docs *.* ...',:200:markdown = "npm exec --yes -- markdownlint-cli README.md CONTRIBUTING.md docs/ ...";
devguide.pre-commit-config.yaml:23-27:repo: https://github.com/sphinx-contrib/sphinx-lint...id: sphinx-lint/args: [--enable=default-role](read by the validator as a pre-commit.ci command:--factsshows
"argv": ["sphinx-lint", "--enable=default-role"], but no tool claims it).docs/ecosystems/documentation.md
lists only markdownlint and vale. - repro:
.pre-commit-config.yamlwith the sphinx-lint hook andci:block, plusconf.py. - confidence: high
cpp-best-practices/cppbestpractices / detection (GitBook)
- kind: UNSUPPORTED
- actual:
.map.json:"languages": [], ecosystemsDataonly; 30 checks SKIP "not applicable to a project of no
recognised language". - expected: a Documentation site (legacy GitBook:
book.json+SUMMARY.md), so link-check/static-analysis are at
least asked (WARN). - evidence:
book.json:"plugins": [ "github" ];SUMMARY.mdpresent;docs/ecosystems/documentation.mdlists
MkDocs, Sphinx, Docusaurus, mdBook, Hugo, Jekyll only. - repro:
book.json+SUMMARY.md+README.md. - confidence: low (GitBook's open-source generator is dead; the repo is realistically "Markdown only")
vitejs/vite / detection (VitePress documentation site)
- kind: UNSUPPORTED
- actual:
--map: noDocumentation siteecosystem;link-checkSKIPnot applicable to JavaScript, Shell, TypeScript - expected: a documentation-site unit at
docs/(VitePress), as Docusaurus is detected for prettier. - evidence:
docs/.vitepress/config.ts,docs/.vitepress/theme/,docs/package.json;package.json:36:"docs-build": "pnpm --filter=./docs run docs-build".
Validatorecosystems/documentation.py:1-2:MkDocs, Sphinx, Docusaurus, mdBook, Hugo and Jekyllonly. VitePress is the
default site generator of the Vite/Vue ecosystem (vite, vitest, vue, pinia, vueuse, rollup). - repro:
docs/.vitepress/config.ts+docs/index.md. - confidence: medium
fastify/fastify / link-check
- kind: MESSAGE
- actual: SKIP:
not applicable to JavaScript, Shell, TypeScript - expected: PASS or at least a judged result: CI runs two link checkers over the Markdown documentation on every docs PR.
- evidence:
.github/workflows/links-check.yml:uses: lycheeverse/lychee-action@8646ba30535128ac92d33dfc9133794bfdd9b411 # 2.8.0withfail: trueand
args: --offline --verbose --no-progress --root-dir "$(pwd)" './**/*.md'; thenuses: JustinBeckwith/linkinator-action@7b6b0bc671f6264e1a8daa4488a5bd91ce61dcd4 # 2.4.2.
docs/is a plain Markdown tree (no generator config), so no "Documentation site" unit exists and the check is skipped even though the practice is present. - repro:
docs/Guide.md+ the lychee step above. - confidence: low (the check's scope is documentation sites; a Markdown
docs/tree may be out of scope by design)
open-telemetry/opentelemetry-proto / link-check
- kind: UNSUPPORTED
- actual: SKIP: not applicable to a project of no recognised language
- expected: PASS (or at least applicable): CI runs lychee over the repository's Markdown documentation (
docs/*.md,README.md) with a committed.lychee.toml, every push; the check only knows documentation sites (Sphinx, mdBook...), so plain Markdown docs plus lychee are invisible, and the SKIP reason ("no recognised language") is unrelated to what the check judges. - evidence:
.github/workflows/build-check.yaml:161-162:- name: run markdown-link-check/run: make markdown-link-check;Makefile:172-181:LYCHEEIMAGE := $(shell awk '$$4=="lychee" {print $$2}' $(DEPENDENCIES_DOCKERFILE))/docker run --rm ... $(LYCHEEIMAGE) --config home/repo/.lychee.toml --root-dir /home/repo -v home/repo;.lychee.toml:1:include_fragments = true. - repro:
docs/index.md,.lychee.toml, workflowrun: lychee --config .lychee.toml .. - confidence: low
asyncapi/spec, OAI/OpenAPI-Specification / static-analysis (markdownlint on specification prose)
- kind: UNSUPPORTED
- actual: FAIL
static-analysis: JavaScript/TypeScript: no static analyzer runs; …with nothing said about the
Markdown specification; markdownlint is only recognised for a Documentation-site unit (static-analysis hint
markdownlint-cli2 … or vale), and neither repo has a site generator. - expected: a specification repository whose product is Markdown prose could be a documentation unit; both lint
it in CI. - evidence: asyncapi/spec
.github/workflows/lint.yml:16:run: docker run -v $PWD:/workdir ghcr.io/igorshubovych/markdownlint-cli:v0.35.0 "spec/asyncapi.md"; OAI.github/workflows/validate-markdown.yaml:31:
run: yarn validate-markdownwith.markdownlint.yamlandspec.markdownlint.yamlin the root
(package.json:27:"validate-markdown": "oai-spec-validate-markdown"). - repro: n/a
- confidence: low
Found by the regression-corpus audit (235 real repositories, one or more per ecosystem profile; corpus and expected results in corpus/). Evidence is quoted from the audited checkouts at the commits pinned in corpus/projects.toml; <checkouts>/<owner>__<repo> is such a checkout.
🤖 Generated with Claude Code
- 主要言語
- Python
- スター
- 4
- フォーク
- 1
- 平均マージ
- 10時間 41分
- マージ済み PR(30日)
- 79
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
cpp-best-practices/project_validator のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
cpp-best-practices/project_validator#267 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
cpp-best-practices/project_validator#263 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
cpp-best-practices/project_validator#260 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
cpp-best-practices/project_validator#259 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
cpp-best-practices/project_validator#255 ·
メンテナーはふだん 1 日以内に返信
cpp-best-practices/project_validator の issue をすべて見る
似ている issue
-
plot_graph crashes when a mesh node has no m2m edge対応中かも @tygvi が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
mllam/neural-lam#883 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
enhancement possible-duplicate
難易度 1/5 1〜3時間 初心者へのやさしさ 78/100
AOSSIE-Org/PictoPy#1715 · コメント 2 件 ·
メンテナーはふだん 6 日以内に返信
-
SQLite connector omits generated columns from the catalog, and drops relationships sourced on themオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
NVIDIA/auto-ontology#511 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
ethereum/execution-specs#3996 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Project-N-E-K-O/N.E.K.O#3725 ·
メンテナーはふだん 1 日以内に返信