Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/bitwikiorg/init.md/llms.txt

Use this file to discover all available pages before exploring further.

init.md is a human- and machine-readable procedure for inspecting a target, determining what it requires, applying the appropriate initialization pattern, validating the result, and reporting its operational state. It works equally well when followed by a person or executed by an AI agent — the protocol is written in plain Markdown so both can read it directly.
init.md is not a fixed scaffold — it is a general procedure for determining what a target needs in order to become operational. No output file is universally required unless the selected template or target explicitly requires it.

What init.md Works For

init.md is deliberately target-neutral. The same six-stage procedure applies across a wide range of targets, including:
  • Software projects — repositories, applications, libraries, CLIs, websites, and monorepos
  • AI agents — agent workspaces, agent-enabled repos, automation workers, and tool-using assistant environments
  • Servers and services — server hosts, infrastructure, deployment targets, and service readiness
  • Workspaces and environments — local directories, remote environments, research environments, and data pipelines
  • Existing systems — targets requiring restoration, reconfiguration, or repair
The target determines which artifacts get created and which validation steps apply. A CLI tool and a research environment should not receive identical output.

The Root Protocol and Templates

init.md operates at two levels:
  • The root protocol (init.md) defines the target-neutral procedure. It describes how to inspect, determine, create, configure, validate, and report — without prescribing what any specific target must contain.
  • Templates (templates/) provide complete, concrete initialization procedures for common target categories. A template describes likely behavior for that target type, not a mandatory output bundle.
When a template closely matches the target, use it directly or adapt it. When no template fits exactly, use the root init.md and write a short target-specific plan before making changes. Templates can also be combined when a target spans multiple categories.

The Six Stages

Every initialization run follows the same high-level sequence. The implementation details come from the target and the selected template.
StageWhat Happens
InspectRead the target that exists: files, configuration, instructions, constraints, and reusable work.
DetermineDecide what the target requires, which template applies, and which outputs would be useful.
CreateCreate only the artifacts that apply to this target — not a universal bundle of files.
ConfigureConnect required paths, settings, dependencies, tools, services, or instructions so they work together.
ValidateRun or define a relevant check proving the intended operational result is actually reachable.
ReportState what became operational, what changed, what was validated, and what remains blocked or incomplete.

Key Concepts

Protocol

The target-neutral six-stage procedure: Inspect, Determine, Create, Configure, Validate, Report. Applicable to any target without prescribing its output.

Templates

Complete concrete initialization procedures for specific target categories: minimal, dry-run, development project, agent, and server.

Guides

Practical walkthroughs for humans and agents. Covers how to pick a template, run the procedure, and review the validation result.

Quickstart

No installation required. Copy init.md or a template, identify the target, and run the procedure in minutes.

Conditional Outputs

No output file is universally required. Every artifact is conditional on what the target actually needs:
  • Generate a README.md only when project documentation is missing or inadequate.
  • Generate a PRD.md only when product requirements need to be established.
  • Generate an AGENTS.md only when the target will be operated or modified by AI agents.
  • Generate a snapshot only when a point-in-time state record is useful.
  • Generate a server report only for server or infrastructure targets.
This is not a safety restriction — it is basic initialization correctness. The goal is an operational target, not a standard file tree.

Build docs developers (and LLMs) love