Jesús Pérez baff1c42ec
Some checks failed
CI / Lint (bash) (push) Has been cancelled
CI / Lint (markdown) (push) Has been cancelled
CI / Lint (nickel) (push) Has been cancelled
CI / Lint (nushell) (push) Has been cancelled
CI / Lint (rust) (push) Has been cancelled
CI / Benchmark (push) Has been cancelled
CI / Security Audit (push) Has been cancelled
CI / License Compliance (push) Has been cancelled
CI / Code Coverage (push) Has been cancelled
CI / Test (macos-latest) (push) Has been cancelled
CI / Test (ubuntu-latest) (push) Has been cancelled
CI / Test (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
refactor(core): eliminate field execution duplication, fix stack-unsafe retry, O(1) context passing
Deduplication
  - Consolidate three copies of match field.field_type into InquireBackend::execute_field_sync
    as single canonical implementation (backends/cli.rs)
  - Add previous_results param to execute_field_sync (pub(crate)); propagate options_from
    filtering previously absent from the cli.rs copy
  - Move filter_options_from to backends/cli.rs pub(crate); remove duplicate copies from
    executor.rs and nickel/roundtrip.rs (-346 lines, 0 behavior regressions)
  - Gate legacy sync path (execute_with_base_dir, execute, load_and_execute_from_file)
    on #[cfg(feature = "cli")]

  Retry fix
  - Replace unbounded recursive retry in execute_field_sync with loop+continue (O(1) stack)

  RenderContext clone cost
  - Change RenderContext.results from HashMap<String, Value> to Arc<HashMap<String, Value>>
  - Change executor accumulators to Arc in execute_with_backend_complete,
    execute_with_backend_tw    execute_with_backend_tw    execute_with_backend_tw    execute_with_backend_tw    execute_with_bante    execute_won:    execute_with_backend_tw    execute_with_backend_tw    execute_with_backend_tw    execute_count==1 (guaranteed at each insert site)
  - typedialog-ai/backend.rs: &context.results -> context.results.iter() for Arc deref

  Doctests
  - Fix five broken doctests: FormDefinition fields renamed, confirm() arity, FormBackend
    methods replaced, cli_loader ignore -> no_run with concr    methods replaced, cli_loader ignore -> no_run with concr    methods reken    methods replaced, cli_loader ignore -> no_run with concr    methods replaced, clsync path
  - docs/architecture.md Known Technical Debt: all items resolved, section closed
  EOF
2026-02-17 15:49:28 +00:00
..
2026-01-11 22:35:49 +00:00
2026-01-11 22:35:49 +00:00
2026-01-11 22:35:49 +00:00
2026-01-11 22:35:49 +00:00
2026-01-11 22:35:49 +00:00
2026-01-11 22:35:49 +00:00
2026-01-11 22:35:49 +00:00
2026-01-11 22:35:49 +00:00
2026-01-11 22:35:49 +00:00
2026-01-11 22:35:49 +00:00
2026-01-11 22:35:49 +00:00
2026-01-11 22:35:49 +00:00
2026-01-11 22:35:49 +00:00
2026-01-11 22:35:49 +00:00
2026-01-11 22:35:49 +00:00
2026-01-11 22:35:49 +00:00
2026-01-11 22:35:49 +00:00
2026-01-11 22:35:49 +00:00
2026-02-17 14:33:20 +00:00
2026-01-11 22:35:49 +00:00

TypeDialog Logo

TypeDialog Documentation

Complete documentation for using, building, and deploying TypeDialog.

Getting Started

  1. installation.md - Prerequisites and setup

    • System requirements
    • Dependency installation
    • Verification
  2. development.md - Local development

    • Using just for tasks
    • Common workflows
    • Examples and testing
  3. pre-commit-setup.md - Automated linting hooks

    • Pre-commit hook installation
    • Automatic code quality checks
    • Hook configuration and usage

Building & Distribution

  1. build.md - Building and packaging

    • Critical dependencies (prov-ecosystem, secretumvault, just, Nickel)
    • Single-platform builds
    • Cross-compilation setup
    • Distribution package creation
    • Docker builds
  2. release.md - Release workflow

    • Preparing releases
    • GitHub releases
    • Installation verification
    • CI/CD integration

Architecture

  • architecture.md - Technical positioning and internal architecture
    • Positioning vs Inquire, Ratatui, Axum, Nushell
    • BackendFactory mechanics and feature-gated dispatch
    • Three-phase form execution (selector fields, lazy fragments, field-by-field)
    • Known technical debt

Configuration

  1. configuration.md - Configuration guide

    • Backend-specific configs
    • Environment settings (dev, prod)
    • Custom configurations
    • Best practices
  2. field_types.md - Field types reference

    • All supported field types
    • RepeatingGroup arrays
    • Conditional display
    • i18n support

Installation & Setup

Backend-Specific Guides

Feature Guides

Development

Building

Release

Backend Documentation

Complete documentation for each TypeDialog backend:

Backend Path Description
CLI cli/ Command-line interface (inquire-based prompts)
TUI tui/ Terminal UI (Ratatui-powered interface)
Web web/ HTTP server (Axum-based browser forms)
AI ai/ AI backend (RAG, embeddings, knowledge graphs)
Agent agent/ AI agent execution (multi-provider LLM)

Feature Documentation

Documentation for TypeDialog features:

Feature Path Description
Encryption encryption/ Field encryption and secure data handling
Provisioning prov-gen/ Infrastructure as Code generation

Navigation

docs/
├── README.md                 ← You are here
├── installation.md           ← Prerequisites & setup
├── development.md            ← Local development
├── build.md                  ← Building & packaging
├── release.md                ← Release workflow
├── configuration.md          ← Configuration guide
├── field_types.md            ← Field types reference
├── nickel.md                 ← Nickel schema support
├── cli/                      ← CLI backend documentation
├── tui/                      ← TUI backend documentation
├── web/                      ← Web backend documentation
├── ai/                       ← AI backend documentation
├── agent/                    ← Agent system documentation
├── encryption/               ← Encryption documentation
└── prov-gen/                 ← Provisioning generator docs
```text

## Examples

Complete working examples are in the `examples/` directory:

- [examples/README.md](../examples/README.md) - Example guide
- [examples/01-basic/](../examples/01-basic/) - Getting started
- [examples/04-backends/](../examples/04-backends/) - Backend-specific
- [examples/09-templates/](../examples/09-templates/) - Production templates

## Main Resources

- [README.md](../README.md) - Project overview and features
- [Cargo.toml](../Cargo.toml) - Project manifest

## Common Tasks

### I want to

**...get started quickly**
→ Read [installation.md](installation.md), then [development.md](development.md)

**...build from source**
→ Read [build.md](build.md#building-binaries)

**...release a new version**
→ Read [release.md](release.md#release-workflow)

**...configure backends**
→ Read [configuration.md](configuration.md)

**...set up development environment**
→ Read [development.md](development.md)

**...cross-compile for other platforms**
→ Read [build.md](build.md#cross-compilation)

## Complete Documentation Structure

```text
docs/
├── README.md              ← Overview (you are here)
│
├── Getting Started
│   ├── installation.md    ← Setup & requirements
│   ├── development.md     ← Local development & `just` commands
│   └── configuration.md   ← Backend configuration
│
├── Building & Distribution
│   ├── build.md           ← Building & cross-compilation
│   └── release.md         ← Release workflow
│
├── Reference
│   ├── architecture.md    ← Technical positioning & internals
│   ├── field_types.md     ← Field types reference
│   └── nickel.md          ← Nickel schema support
│
├── Backends
│   ├── cli/               ← CLI backend
│   ├── tui/               ← TUI backend
│   ├── web/               ← Web backend
│   ├── ai/                ← AI backend
│   └── agent/             ← Agent system
│
└── Features
    ├── encryption/        ← Encryption & security
    └── prov-gen/          ← Infrastructure provisioning
```text

## Documentation Structure

This documentation follows a **layered approach**:

1. **Session Layer** (`.coder/`) - Interaction files (plans, summaries)
2. **Operational Layer** (`.claude/`) - Claude Code configuration
3. **Product Layer** (`docs/`) - User-facing documentation

See [Architecture](../README.md#architecture) for project structure.

---

**Latest Update**: December 2024
**Status**: Complete (+ Nickel support)