# `aristo doc` — first run, full generation

Source: `../aretta-sdk/docs/mockups/10-doc-and-graph/cli-sessions.md` § "I1 → First run".

Walks `.aristo/index.toml`, writes one markdown file per annotation to `.aristo/doc/<id-safe>.md` (where `<id-safe>` replaces `:` with `__` for filesystem safety). On a clean target dir, every file is written. Footer hints the user toward enabling the `aristo_doc` cargo feature and embedding `_summary.md`.

```console
$ aristo doc

→ Reading .aristo/index.toml … ok ([..] annotations: [..] intent, [..] assume)
→ Generating per-annotation markdown to .aristo/doc/ …
  • Wrote: .aristo/doc/aristos__balance_no_duplicate_cells.md
  • Wrote: .aristo/doc/aristos__edit_page_writes_each_cell_once.md
  • Wrote: .aristo/doc/cell_array_indices_in_bounds.md
  • Wrote: .aristo/doc/cells_extracted_without_aliasing.md
  • Wrote: .aristo/doc/storage_write_atomicity.md
...
  ([..] files written, 0 unchanged)

ok: doc artifacts updated.

Next steps:
  • Enable the `aristo_doc` cargo feature in your Cargo.toml:
        [features]
        default = ["aristo_doc"]
  • Or run `cargo doc --features aristo_doc` to render docs with annotations.
  • Optional: add `#[doc = include_str!(".aristo/doc/_summary.md")]`
    above your crate's `//!` doc to render the project-level summary.

```
