CRUDUI

Documentation maintenance

한국어.

Location Content
README.md Project introduction, minimum setup and document links.
docs/spec/ Approved structures, contracts, rules and acceptance criteria.
docs/features.md Implementation, verification evidence and deployment status.
docs/operations/ Current setup, execution, deployment and verification procedures.
CHANGELOG.md Actual behavior changes and verification results.
docs/plans/ Proposals awaiting approval; remove after incorporation into the specification.
AGENTS.md Development procedures and required checks.

Each subject has a document for each supported language. Update the language versions in the same change and compare their meaning. Store personal preferences and conversation context outside Git.

Documentation navigation uses English and includes a Korean document index. API navigation includes the validator, shared generator core and all three framework packages, plus Go, Rust and PHP references.

Update the specification before changing direction. Mark unfinished behavior in the feature table. Update implementation status, verification evidence and the changelog with the behavior change. Test results apply only to the code tested; they do not establish deployment.

Run make docs-check for API documentation, local links, required translations and feature status fields. Run make docs to generate API references, schema and the documentation web. Automated checks do not establish content accuracy; review the relevant source and tests before recording a result.

npm run docs:dev registers a recursive file-system subscription under docs/ before the initial build. It excludes generated docs/.web/ events, serializes rebuilds and combines source events received during one build into one additional build. A build failure is reported and a later source event can request another build. A file-system subscription failure closes the server with status 1. The development server does not scan source files on an interval.

The documentation web build checks internal links. Fix invalid source or generated links instead of disabling the link check for the whole web. API Documenter generates relative links and an index page for each TypeScript package. Relative links to repository files outside docs/ are checked for file existence and rendered as GitHub source links on the web. Document sources retain their repository-relative links. A missing repository file fails the build.

API generation requires API Extractor, API Documenter, Go, Cargo and phpDocumentor. For each TypeScript package, API Extractor checks the public API against the committed report etc/<package>.api.md and writes its doc model to var/api-model/<package>, and API Documenter writes the Markdown pages of that model to docs/api/<package>. A tool failure or missing output fails generation; the generator does not replace failed output with a success page. PHP documentation uses var/tools/phpdocumentor/phpDocumentor.phar.

make crudui-install-phpdocumentor installs phpDocumentor 3.10.0 and checks it by its SHA-256. Go, Cargo and PHP must be available on PATH; PHP requires the mbstring extension.

make crudui-install-phpdocumentor
make docs
make docs-verify-idempotent

TypeScript references describe the five public package entries. Svelte uses its built declarations, including Form. Native PHP and Rust HTML is included in the web under docs/public/api/. The repeated generation check compares those assets, Markdown references and the schema. Go references include every package under validator/, including composition, expressions and validation.

Use repository-relative paths in scripts and documents. External source tools must require an explicit input path. They must not depend on another project's checkout or a developer's home directory.

make docs-check (node_modules/@polyspec/kit/dist/check-documents.mjs, config/documents.json) checks every Markdown document of the repository except examples/cross-check-console/client/README.md and benchmarks/validators/README.md. Each English document has a Korean twin .ko.md, and both files hold the same marker <!-- doc-id: <id> -->, where the id is the path of the English file without .md, in lowercase, with - between words. The Korean file also holds <!-- source-sha256: <sha256> -->, the sha256 of the English file: after a change to an English document, review the Korean twin and run make documents-stamp, which sets the marker of every Korean file to the sha256 of its English file. The check compares explicit section anchors, fenced code blocks (info string and content), relative links and anchors, the feature status table (docs/features.md) and CHANGELOG.md; prose equivalence requires review.

GitHub Pages

The documentation URL is https://polyspec.github.io/crudui/. The repository's Pages publishing source is GitHub Actions. CI runs make docs-check with DOCS_BASE_PATH=/crudui/, uploads docs/.web/dist, and deploys it to the github-pages environment. A main push or manual CI run on main publishes the web.

Preview the published path from the repository root:

DOCS_BASE_PATH=/crudui/ npm run docs:preview

Open http://127.0.0.1:4173/crudui/. Confirm the GitHub deployment result and the public index, a Korean page, an API entry and the stylesheet before updating deployment status.

Repository writing

Maintained documentation, comments, change records and user-visible text describe current behavior directly. Each statement names the component, operation, target and result. A necessary cause is stated in one sentence. Test results use passes and fails, and acceptance checks use check or verification.

These records do not use metaphors, personification, color-coded test status, informal conversation or implementation-origin history. They do not identify an external project unless its identity, API or path is required to run the current operation. Language versions provide the same information.

npm run test:docs checks maintained Markdown, source comments and descriptive fixture text for the defined writing rules. External dependencies, generated references retain their original contents and are excluded from this check.