9b395f5cc3
E2E Headed Chrome / e2e-headed (macos-15) (push) Has been cancelled
E2E Headed Chrome / e2e-headed (ubuntu-latest) (push) Has been cancelled
E2E Headed Chrome / e2e-headed (windows-latest) (push) Has been cancelled
CI / build (macos-latest) (push) Has been cancelled
CI / build (ubuntu-latest) (push) Has been cancelled
CI / build (windows-latest) (push) Has been cancelled
CI / unit-test (push) Has been cancelled
CI / bun-test (push) Has been cancelled
CI / adapter-test (push) Has been cancelled
CI / smoke-test (macos-latest) (push) Has been cancelled
CI / smoke-test (ubuntu-latest) (push) Has been cancelled
Security Audit / audit (push) Has been cancelled
Build Chrome Extension / build (push) Has been cancelled
Trigger Website Rebuild (Docs Updated) / dispatch (push) Has been cancelled
369 lines
10 KiB
Markdown
369 lines
10 KiB
Markdown
# Documentation Audit — 2026-05
|
|
|
|
This document reviews the current long-form docs, README surfaces, and developer guides in `opencli`. It focuses on stale facts, internal contradictions, and documentation structure that now causes drift.
|
|
|
|
## Scope
|
|
|
|
- `README.md`
|
|
- `README.zh-CN.md`
|
|
- `docs/`
|
|
- `skills/` references that are linked from user-facing docs
|
|
|
|
## Executive View
|
|
|
|
The docs are usable, but they are drifting in four visible ways:
|
|
|
|
1. **Hard-coded counts and feature claims are stale.**
|
|
2. **Developer docs describe an older architecture and older test layout.**
|
|
3. **English and Chinese docs are no longer updated with the same rigor.**
|
|
4. **Some pages still describe deleted concepts or old workflows.**
|
|
|
|
The highest-value work is:
|
|
|
|
1. Fix the stale facts in `README*`, `docs/index.md`, `docs/zh/index.md`, and `docs/guide/getting-started.md`.
|
|
2. Rewrite `docs/developer/testing.md` and `docs/developer/architecture.md` against current `main`.
|
|
3. Make English and Chinese entry docs derive from the same source-of-truth checklist.
|
|
4. Stop writing command/adapters counts by hand unless they are generated.
|
|
|
|
## Priority 0 — Clearly stale or incorrect
|
|
|
|
### 1. Adapter / site counts are stale across multiple entry points
|
|
|
|
Affected files:
|
|
|
|
- `README.md`
|
|
- `README.zh-CN.md`
|
|
- `docs/guide/getting-started.md`
|
|
- `docs/comparison.md`
|
|
|
|
Current problems:
|
|
|
|
- `README.md` and `README.zh-CN.md` still say `90+` adapters.
|
|
- `docs/guide/getting-started.md` still says `87+` pre-built adapters.
|
|
- `docs/comparison.md` still says `87+` sites.
|
|
|
|
Current reality:
|
|
|
|
- `node dist/src/main.js list --format json | jq 'map(.site) | unique | length'` returns `106`.
|
|
|
|
Why this matters:
|
|
|
|
- These are the first pages people read.
|
|
- The mismatch is easy to notice and weakens trust in the rest of the docs.
|
|
- These values will keep drifting if we maintain them manually.
|
|
|
|
Recommended fix:
|
|
|
|
- Replace all hard-coded counts with one of:
|
|
- `100+`
|
|
- `100+ sites`
|
|
- `over 100 registered sites`
|
|
- Best option: generate this number into docs at release time or avoid explicit counts entirely.
|
|
|
|
### 2. `docs/developer/testing.md` is materially out of date
|
|
|
|
Affected file:
|
|
|
|
- `docs/developer/testing.md`
|
|
|
|
Current problems:
|
|
|
|
- It says adapter tests live in `clis/**/*.test.{ts,js}`.
|
|
- The file examples name adapter tests such as:
|
|
- `clis/zhihu/download.test.ts`
|
|
- `clis/twitter/timeline.test.ts`
|
|
- `clis/reddit/read.test.ts`
|
|
- `clis/bilibili/dynamic.test.ts`
|
|
- Those files do not exist.
|
|
- It says E2E coverage is `5` files.
|
|
- Current reality is `11` E2E files.
|
|
- It presents `npm test` as the main local gate, while current team rule is to prefer the smallest sufficient test set instead of default full-suite runs.
|
|
|
|
Current reality from the repo:
|
|
|
|
- `find src -name '*.test.ts' | wc -l` → `60`
|
|
- `find clis -iregex '.*\\.test\\.(ts|js)$' | wc -l` → `0`
|
|
- `find tests/e2e -name '*.test.ts' | wc -l` → `11`
|
|
- `find tests/smoke -name '*.test.ts' | wc -l` → `1`
|
|
|
|
Why this matters:
|
|
|
|
- This page is the main developer testing contract.
|
|
- A new contributor following it will get the wrong mental model of the test layout.
|
|
- It encourages a heavier default test habit than the team currently wants.
|
|
|
|
Recommended fix:
|
|
|
|
- Rewrite the page from current files, not from remembered structure.
|
|
- Separate:
|
|
- `fast local checks`
|
|
- `targeted validation`
|
|
- `full CI coverage`
|
|
- Remove nonexistent adapter test examples.
|
|
- Add a short rule:
|
|
- local default = smallest sufficient validation
|
|
- full-suite = broader refactor, shared runtime changes, or CI
|
|
|
|
### 3. `docs/developer/architecture.md` describes an older system shape
|
|
|
|
Affected file:
|
|
|
|
- `docs/developer/architecture.md`
|
|
|
|
Current problems:
|
|
|
|
- It refers to `src/browser.ts`, but that file does not exist.
|
|
- The directory structure block says `src/clis/`, but adapters live at top-level `clis/`.
|
|
- The architecture diagram is too simplified for the current system and omits important pieces such as:
|
|
- `daemon.ts`
|
|
- `external.ts`
|
|
- `plugin.ts`
|
|
- `electron-apps.ts`
|
|
- update check / diagnostics / runtime detection paths
|
|
- It says “3-tier authentication strategy” but lists `5` strategies.
|
|
|
|
Why this matters:
|
|
|
|
- This is the page people read to understand the project.
|
|
- Once architecture docs are stale, all deeper docs become harder to trust.
|
|
|
|
Recommended fix:
|
|
|
|
- Rewrite this page around current modules:
|
|
- command discovery and registry
|
|
- execution
|
|
- browser / daemon bridge
|
|
- external CLI integration
|
|
- plugin system
|
|
- desktop / CDP path
|
|
- pipeline engine
|
|
- Replace the static tree with a curated module map that matches current filenames.
|
|
- Change “3-tier” to a neutral label like `authentication strategies`.
|
|
|
|
### 4. Home pages still mention deleted concepts
|
|
|
|
Affected files:
|
|
|
|
- `docs/index.md`
|
|
- `docs/zh/index.md`
|
|
|
|
Current problems:
|
|
|
|
- Both home pages say:
|
|
- `explore`
|
|
- `synthesize`
|
|
- `cascade`
|
|
- `docs/developer/ai-workflow.md` explicitly says those commands do not exist and that the skill drives the loop.
|
|
|
|
Why this matters:
|
|
|
|
- The home page is currently teaching a product vocabulary that the actual CLI does not have.
|
|
- This creates immediate confusion for users who go from docs to terminal.
|
|
|
|
Recommended fix:
|
|
|
|
- Replace those phrases with current concepts:
|
|
- `browser primitives`
|
|
- `adapter-authoring skill`
|
|
- `verify loop`
|
|
- Keep the homepage aligned with `docs/developer/ai-workflow.md`.
|
|
|
|
### 5. Chinese getting-started page lists a deleted built-in command
|
|
|
|
Affected file:
|
|
|
|
- `docs/zh/guide/getting-started.md`
|
|
|
|
Current problem:
|
|
|
|
- It says built-in commands include `list、explore、validate...`
|
|
- `explore` is not a current built-in command.
|
|
|
|
Why this matters:
|
|
|
|
- This is a hard user-facing error.
|
|
|
|
Recommended fix:
|
|
|
|
- Replace the example list with current built-ins such as:
|
|
- `list`
|
|
- `validate`
|
|
- `verify`
|
|
- `browser`
|
|
- `doctor`
|
|
- `plugin`
|
|
- `adapter`
|
|
|
|
## Priority 1 — Inconsistent or incomplete
|
|
|
|
### 6. Installation pages are inconsistent about runtime support and update flow
|
|
|
|
Affected files:
|
|
|
|
- `README.md`
|
|
- `README.zh-CN.md`
|
|
- `docs/guide/installation.md`
|
|
- `docs/zh/guide/installation.md`
|
|
|
|
Current problems:
|
|
|
|
- `README.md` says Node `>= 21` or Bun `>= 1.0`.
|
|
- `docs/guide/installation.md` and `docs/zh/guide/installation.md` only mention Node.
|
|
- `README.md` documents skill refresh on update.
|
|
- `docs/zh/guide/installation.md` only documents package update and omits skills refresh.
|
|
|
|
Why this matters:
|
|
|
|
- Entry docs should agree on install prerequisites and upgrade procedure.
|
|
|
|
Recommended fix:
|
|
|
|
- Pick one official runtime support statement and reuse it everywhere.
|
|
- If Bun is supported, add it consistently to guide pages.
|
|
- Mirror the post-update skill refresh guidance in the install/update guides.
|
|
|
|
### 7. README and docs still use top-level tables and examples that will drift by hand
|
|
|
|
Affected files:
|
|
|
|
- `README.md`
|
|
- `README.zh-CN.md`
|
|
|
|
Current problems:
|
|
|
|
- The “Built-in Commands” section is manually curated and already partially selective.
|
|
- The surrounding copy still frames it like a broad current snapshot.
|
|
|
|
Why this matters:
|
|
|
|
- Manual command snapshots go stale quickly in a repo with active adapter growth.
|
|
|
|
Recommended fix:
|
|
|
|
- Reframe the section as:
|
|
- “Representative built-in commands”
|
|
- “Sample sites”
|
|
- Keep `opencli list` and `docs/adapters/index.md` as the full registry surface.
|
|
|
|
### 8. `docs/comparison.md` contains stale scale claims
|
|
|
|
Affected file:
|
|
|
|
- `docs/comparison.md`
|
|
|
|
Current problem:
|
|
|
|
- It still says `87+` sites.
|
|
|
|
Why this matters:
|
|
|
|
- Comparison pages shape market positioning.
|
|
- Stale numbers make the project look less maintained than it is.
|
|
|
|
Recommended fix:
|
|
|
|
- Remove exact numbers from comparison copy unless they are generated.
|
|
|
|
## Priority 2 — Structural drift risks
|
|
|
|
### 9. English and Chinese docs are drifting independently
|
|
|
|
Most visible examples:
|
|
|
|
- `docs/index.md` and `docs/zh/index.md` both kept the deleted `explore / synthesize / cascade` language.
|
|
- `docs/zh/guide/getting-started.md` contains a stale built-in command example that should have been caught by parity review.
|
|
- `README.md` and `README.zh-CN.md` both carry the same stale adapter count.
|
|
|
|
Why this keeps happening:
|
|
|
|
- We have mirrored content with no explicit parity checklist.
|
|
- Updates land in one place and rely on memory for the rest.
|
|
|
|
Recommended fix:
|
|
|
|
- Introduce a small doc parity checklist for any change that touches:
|
|
- `README.md`
|
|
- `README.zh-CN.md`
|
|
- `docs/index.md`
|
|
- `docs/zh/index.md`
|
|
- `docs/guide/*`
|
|
- `docs/zh/guide/*`
|
|
- Add one PR checklist item:
|
|
- “Did this change require an English/Chinese mirror update?”
|
|
|
|
### 10. Core product pages mix generated facts with narrative copy
|
|
|
|
Examples:
|
|
|
|
- command counts
|
|
- site counts
|
|
- test counts
|
|
- lists of built-in commands
|
|
|
|
Why this matters:
|
|
|
|
- Numbers and command inventories drift faster than narrative guidance.
|
|
|
|
Recommended fix:
|
|
|
|
- For fast-changing facts:
|
|
- generate them
|
|
- or generalize them
|
|
- Reserve hand-written docs for:
|
|
- mental models
|
|
- workflows
|
|
- constraints
|
|
- trade-offs
|
|
|
|
## Suggested rewrite order
|
|
|
|
### Pass 1 — Fix trust-breaking errors
|
|
|
|
1. `README.md`
|
|
2. `README.zh-CN.md`
|
|
3. `docs/index.md`
|
|
4. `docs/zh/index.md`
|
|
5. `docs/guide/getting-started.md`
|
|
6. `docs/zh/guide/getting-started.md`
|
|
7. `docs/comparison.md`
|
|
|
|
### Pass 2 — Rebuild the technical source-of-truth pages
|
|
|
|
1. `docs/developer/testing.md`
|
|
2. `docs/developer/architecture.md`
|
|
3. `docs/guide/installation.md`
|
|
4. `docs/zh/guide/installation.md`
|
|
|
|
### Pass 3 — Prevent the next round of drift
|
|
|
|
1. Add a docs parity checklist to PR workflow.
|
|
2. Remove exact counts from hand-written copy unless generated.
|
|
3. Decide which pages are authoritative for:
|
|
- install
|
|
- browser bridge
|
|
- testing
|
|
- architecture
|
|
- AI workflow
|
|
|
|
## Concrete edits I would make next
|
|
|
|
### Small fast edits
|
|
|
|
- Replace all `87+` / `90+` claims with `100+`.
|
|
- Remove `explore / synthesize / cascade` from both home pages.
|
|
- Remove `explore` from `docs/zh/guide/getting-started.md`.
|
|
- Align install docs on Node/Bun support and skill refresh.
|
|
|
|
### Medium rewrites
|
|
|
|
- Rewrite `docs/developer/testing.md` from current filesystem state.
|
|
- Rewrite `docs/developer/architecture.md` from current module boundaries.
|
|
|
|
### Process fix
|
|
|
|
- Add a lightweight “doc drift” checklist to PRs that touch command surface, runtime support, testing strategy, or adapter discovery.
|
|
|
|
## Bottom line
|
|
|
|
The docs do not need a ground-up rewrite. They need a focused trust repair pass on entry pages, then a source-of-truth rebuild for testing and architecture, then a small process change so counts and mirrored pages stop drifting.
|