# runtime/entrypoints/writing.entrypoint.ts

> 20 lines of code and 4 definitions.

Tree: Bane's Lab Content
Language: typescript
Layer: runtime
Canonical: https://banes-lab.com/anatomy/content#file-content-runtime-entrypoints-writing-entrypoint-ts
Source text: https://banes-lab.com/source/content/runtime/entrypoints/writing.entrypoint.ts.txt

Listed in [runtime/entrypoints](https://banes-lab.com/api/source/content/runtime/entrypoints.md), after [runtime/entrypoints/tone.entrypoint.ts](https://banes-lab.com/source/content/runtime/entrypoints/tone.entrypoint.ts.md).

## Definitions

- `site` (lexical_declaration, line 16)
- `{ missing }` (lexical_declaration, line 17)
- `sections` (lexical_declaration, line 18)
- `absent` (lexical_declaration, line 19)

## Contained in

- [runtime/entrypoints](https://banes-lab.com/anatomy/content/folder-content-runtime-entrypoints.md)

## Enforces

- [Code Review](https://banes-lab.com/records/architecture/code-review.md)

## Source

```typescript
import { CLEAN_WRITING, NO_PAYLOAD, UNREAD_SUFFIX } from "#configuration/strings/derivation.strings";
import { READING_SCOPE, READING_SIGNOFFS } from "#configuration/records/writing.record";
import { conclude, say } from "#core/reporters/derivation.reporter";
import { packageSections, readSections, sitePages } from "#core/loaders/section.loader";
import { unreadCount, unsignedSections } from "#core/validators/writing.validator";
import { WRITING_COMMAND } from "#configuration/constants/contract.constants";
import { WRITING_SUMMARY } from "#configuration/strings/contract.strings";
import { absolutePath } from "@ssot/paths";
import { defineCheck } from "@govlab/context/check";
import { resolveArgv } from "@govlab/argv";

defineCheck({ detects: [], enforces: ["architecture:code-review"] });

resolveArgv({ command: WRITING_COMMAND, flags: [], summary: WRITING_SUMMARY });

const site = readSections(await sitePages());
const { missing } = site;
const sections = [...site.sections, ...(await packageSections(absolutePath("app.coordination")))];
const absent = missing
    .filter((page) => READING_SCOPE.includes(page))
    .map((page) => ({ file: page, message: `${NO_PAYLOAD}${page}` }));
say(`${String(unreadCount(READING_SCOPE, sections))}${UNREAD_SUFFIX}`);
conclude(WRITING_COMMAND, [...absent, ...unsignedSections(READING_SCOPE, READING_SIGNOFFS, sections)], CLEAN_WRITING);
```
