<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>strictcli Documentation</title>
  <link href="https://smmh.dev/strictcli/feed.xml" rel="self"/>
  <link href="https://smmh.dev/strictcli/"/>
  <id>https://smmh.dev/strictcli/</id>
  <updated>2026-08-12T00:00:00Z</updated>
  <entry>
    <title>Flag System</title>
    <link href="https://smmh.dev/strictcli/flag-system/"/>
    <id>https://smmh.dev/strictcli/flag-system/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>strictcli's flag system is strict by design. Every flag must have help text, every type must be explicit, and every default must be deliberate. This guide covers the full flag and argument system using Python examples. The Go and TypeScript implementations have identical semantics (see the quickstart guides for language-specific syntax).</summary>
  </entry>
  <entry>
    <title>API Reference</title>
    <link href="https://smmh.dev/strictcli/gen-index/"/>
    <id>https://smmh.dev/strictcli/gen-index/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>Go Quickstart</title>
    <link href="https://smmh.dev/strictcli/go-quickstart/"/>
    <id>https://smmh.dev/strictcli/go-quickstart/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>This guide walks through building a CLI application with the Go implementation of strictcli.</summary>
  </entry>
  <entry>
    <title>go/strictcli/testdata/noncomparable</title>
    <link href="https://smmh.dev/strictcli/go-strictcli-testdata-noncomparable/"/>
    <id>https://smmh.dev/strictcli/go-strictcli-testdata-noncomparable/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>go/strictcli</title>
    <link href="https://smmh.dev/strictcli/go-strictcli/"/>
    <id>https://smmh.dev/strictcli/go-strictcli/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>strictcli</title>
    <link href="https://smmh.dev/strictcli/"/>
    <id>https://smmh.dev/strictcli/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>A strict CLI framework with three first-class implementations -- Python, Go, and TypeScript -- kept in behavioral lockstep by a shared conformance suite.</summary>
  </entry>
  <entry>
    <title>Python Quickstart</title>
    <link href="https://smmh.dev/strictcli/python-quickstart/"/>
    <id>https://smmh.dev/strictcli/python-quickstart/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>This guide walks through building a CLI application with the Python implementation of strictcli.</summary>
  </entry>
  <entry>
    <title>python.strictcli</title>
    <link href="https://smmh.dev/strictcli/python-strictcli/"/>
    <id>https://smmh.dev/strictcli/python-strictcli/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>TypeScript Quickstart</title>
    <link href="https://smmh.dev/strictcli/typescript-quickstart/"/>
    <id>https://smmh.dev/strictcli/typescript-quickstart/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>strictcli is a strict CLI framework where you declare everything and infer nothing. Every flag, arg, command, and group requires explicit help text. Types are enforced at both compile time and runtime. This guide covers the TypeScript implementation, published on npm as `strictcli`.</summary>
  </entry>
  <entry>
    <title>typescript/src/app</title>
    <link href="https://smmh.dev/strictcli/typescript-src-app/"/>
    <id>https://smmh.dev/strictcli/typescript-src-app/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/atprefix</title>
    <link href="https://smmh.dev/strictcli/typescript-src-atprefix/"/>
    <id>https://smmh.dev/strictcli/typescript-src-atprefix/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/checks/cmd</title>
    <link href="https://smmh.dev/strictcli/typescript-src-checks-cmd/"/>
    <id>https://smmh.dev/strictcli/typescript-src-checks-cmd/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/checks/coverage</title>
    <link href="https://smmh.dev/strictcli/typescript-src-checks-coverage/"/>
    <id>https://smmh.dev/strictcli/typescript-src-checks-coverage/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/checks/effects_bypass</title>
    <link href="https://smmh.dev/strictcli/typescript-src-checks-effects_bypass/"/>
    <id>https://smmh.dev/strictcli/typescript-src-checks-effects_bypass/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/checks/framework</title>
    <link href="https://smmh.dev/strictcli/typescript-src-checks-framework/"/>
    <id>https://smmh.dev/strictcli/typescript-src-checks-framework/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/checks/provider</title>
    <link href="https://smmh.dev/strictcli/typescript-src-checks-provider/"/>
    <id>https://smmh.dev/strictcli/typescript-src-checks-provider/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/checks/runner</title>
    <link href="https://smmh.dev/strictcli/typescript-src-checks-runner/"/>
    <id>https://smmh.dev/strictcli/typescript-src-checks-runner/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/checks/tagdsl</title>
    <link href="https://smmh.dev/strictcli/typescript-src-checks-tagdsl/"/>
    <id>https://smmh.dev/strictcli/typescript-src-checks-tagdsl/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/config</title>
    <link href="https://smmh.dev/strictcli/typescript-src-config/"/>
    <id>https://smmh.dev/strictcli/typescript-src-config/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/confirm</title>
    <link href="https://smmh.dev/strictcli/typescript-src-confirm/"/>
    <id>https://smmh.dev/strictcli/typescript-src-confirm/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/context</title>
    <link href="https://smmh.dev/strictcli/typescript-src-context/"/>
    <id>https://smmh.dev/strictcli/typescript-src-context/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/describe</title>
    <link href="https://smmh.dev/strictcli/typescript-src-describe/"/>
    <id>https://smmh.dev/strictcli/typescript-src-describe/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/effects</title>
    <link href="https://smmh.dev/strictcli/typescript-src-effects/"/>
    <id>https://smmh.dev/strictcli/typescript-src-effects/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/effects_exec</title>
    <link href="https://smmh.dev/strictcli/typescript-src-effects_exec/"/>
    <id>https://smmh.dev/strictcli/typescript-src-effects_exec/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/env</title>
    <link href="https://smmh.dev/strictcli/typescript-src-env/"/>
    <id>https://smmh.dev/strictcli/typescript-src-env/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/errors</title>
    <link href="https://smmh.dev/strictcli/typescript-src-errors/"/>
    <id>https://smmh.dev/strictcli/typescript-src-errors/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/factories</title>
    <link href="https://smmh.dev/strictcli/typescript-src-factories/"/>
    <id>https://smmh.dev/strictcli/typescript-src-factories/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/float</title>
    <link href="https://smmh.dev/strictcli/typescript-src-float/"/>
    <id>https://smmh.dev/strictcli/typescript-src-float/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/help</title>
    <link href="https://smmh.dev/strictcli/typescript-src-help/"/>
    <id>https://smmh.dev/strictcli/typescript-src-help/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/index</title>
    <link href="https://smmh.dev/strictcli/typescript-src-index/"/>
    <id>https://smmh.dev/strictcli/typescript-src-index/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/infer</title>
    <link href="https://smmh.dev/strictcli/typescript-src-infer/"/>
    <id>https://smmh.dev/strictcli/typescript-src-infer/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/infra</title>
    <link href="https://smmh.dev/strictcli/typescript-src-infra/"/>
    <id>https://smmh.dev/strictcli/typescript-src-infra/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/invoke</title>
    <link href="https://smmh.dev/strictcli/typescript-src-invoke/"/>
    <id>https://smmh.dev/strictcli/typescript-src-invoke/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/mcp</title>
    <link href="https://smmh.dev/strictcli/typescript-src-mcp/"/>
    <id>https://smmh.dev/strictcli/typescript-src-mcp/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/outcome</title>
    <link href="https://smmh.dev/strictcli/typescript-src-outcome/"/>
    <id>https://smmh.dev/strictcli/typescript-src-outcome/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/parse</title>
    <link href="https://smmh.dev/strictcli/typescript-src-parse/"/>
    <id>https://smmh.dev/strictcli/typescript-src-parse/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/routing</title>
    <link href="https://smmh.dev/strictcli/typescript-src-routing/"/>
    <id>https://smmh.dev/strictcli/typescript-src-routing/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/schema</title>
    <link href="https://smmh.dev/strictcli/typescript-src-schema/"/>
    <id>https://smmh.dev/strictcli/typescript-src-schema/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/sources</title>
    <link href="https://smmh.dev/strictcli/typescript-src-sources/"/>
    <id>https://smmh.dev/strictcli/typescript-src-sources/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/toml</title>
    <link href="https://smmh.dev/strictcli/typescript-src-toml/"/>
    <id>https://smmh.dev/strictcli/typescript-src-toml/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/tool</title>
    <link href="https://smmh.dev/strictcli/typescript-src-tool/"/>
    <id>https://smmh.dev/strictcli/typescript-src-tool/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/types</title>
    <link href="https://smmh.dev/strictcli/typescript-src-types/"/>
    <id>https://smmh.dev/strictcli/typescript-src-types/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/values</title>
    <link href="https://smmh.dev/strictcli/typescript-src-values/"/>
    <id>https://smmh.dev/strictcli/typescript-src-values/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>typescript/src/version</title>
    <link href="https://smmh.dev/strictcli/typescript-src-version/"/>
    <id>https://smmh.dev/strictcli/typescript-src-version/</id>
    <updated>2026-08-12T00:00:00Z</updated>
    <summary>&lt;!-- generated by selfdoc gen, do not edit --&gt;</summary>
  </entry>
  <entry>
    <title>Cross-Language Conformance</title>
    <link href="https://smmh.dev/strictcli/conformance/"/>
    <id>https://smmh.dev/strictcli/conformance/</id>
    <updated>2026-08-06T00:00:00Z</updated>
    <summary>strictcli ships three independent implementations -- Python, Go, and TypeScript -- that must behave identically for the same inputs. The conformance suite is the mechanism that enforces this. It lives in `conformance/` at the repository root and is structured as a `dev_node` project: never released independently, existing solely as test infrastructure.</summary>
  </entry>
  <entry>
    <title>Architecture and Internals</title>
    <link href="https://smmh.dev/strictcli/architecture/"/>
    <id>https://smmh.dev/strictcli/architecture/</id>
    <updated>2026-08-04T00:00:00Z</updated>
    <summary>strictcli is a strict CLI framework implemented in Python, Go, and TypeScript, kept in behavioral lockstep by a shared conformance test suite. This document explains how the framework works internally, covering the parse pipeline, the registration-time validation model, the schema format, the config system, flag negation, and the error handling philosophy.</summary>
  </entry>
</feed>
