Saedra Docs
CLI

Document Commands

Create, read, edit, push, and delete documents

saedra doc create

Create a new document inside a project. Shows an interactive project selector, then prompts for the document name and an optional local file path to use as content (leave empty to create a blank document).

$ saedra doc create

? Select a project: > my-infra
                      saedra-test
? Document name (e.g. README.md): architecture.md
? File path (leave empty for blank content): ./docs/architecture.md

Document created successfully!
  Name: architecture.md
  ID:   a1b2c3d4-0000-4ae1-a810-db1c00284b7d

saedra doc list

List all documents belonging to a project. Shows an interactive project selector.

$ saedra doc list

? Select a project: > my-infra
                      saedra-test

  Documents in my-infra:

  - README.md
      ID:      a1b2c3d4-0000-4ae1-a810-db1c00284b7d
      Created: 2/10/2026
      Updated: 2/10/2026
  - architecture.md
      ID:      e5f6a7b8-0000-4ae1-a810-db1c00284b7d
      Created: 2/23/2026
      Updated: 2/23/2026

saedra doc read [document]

Print the content of a document to the terminal. When called with a document name, fetches it directly without interactive prompts. Without arguments, shows interactive selectors for project and document.

# Direct access by name (non-interactive)
$ saedra doc read ANALYSIS.md
Using project: my-infra (from .saedra)

  ANALYSIS.md

# My Project
...

# Interactive mode
$ saedra doc read

? Select a project:  > my-infra
                       saedra-test
? Select a document: > README.md
                       architecture.md

  README.md

# My Project
...

The document name match is case-insensitive.

saedra doc edit

Replace the content of an existing document with the contents of a local file. Shows interactive selectors for project and document.

$ saedra doc edit

? Select a project:  > my-infra
                       saedra-test
? Select a document: > README.md
                       architecture.md
? File path with new content: ./docs/README.md

Document updated successfully.

saedra doc push [file]

Push a local .md file to a project in a single step. Uses the filename as the document name and automatically creates or updates the document depending on whether it already exists.

$ saedra doc push ./docs/architecture.md

? Select a project:  > my-infra
                       saedra-test

Document created successfully!
  Name: architecture.md
  ID:   a1b2c3d4-0000-4ae1-a810-db1c00284b7d

When called without arguments, lists the .md files found in the current directory for interactive selection:

$ saedra doc push

? Select a file to push: > architecture.md
                           README.md
? Select a project:      > my-infra
                           saedra-test

Document created successfully!
  Name: architecture.md
  ID:   a1b2c3d4-0000-4ae1-a810-db1c00284b7d

If the document already exists in the project, it asks for confirmation before updating:

$ saedra doc push ./docs/architecture.md

? Select a project: > my-infra
? Document "architecture.md" already exists in my-infra. Update it? (Y/n)

Document "architecture.md" updated successfully.

saedra doc delete

Delete a document. Shows interactive selectors for project and document.

$ saedra doc delete

? Select a project:  > my-infra
                       saedra-test
? Select a document: > README.md
                       architecture.md

Document deleted successfully.