<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Reference on DevFlow</title><link>https://devflow.cloud/docs/reference/</link><description>Recent content in Reference on DevFlow</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://devflow.cloud/docs/reference/index.xml" rel="self" type="application/rss+xml"/><item><title>df-tools CLI</title><link>https://devflow.cloud/docs/reference/df-tools/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://devflow.cloud/docs/reference/df-tools/</guid><description>&lt;p&gt;&lt;code&gt;df-tools&lt;/code&gt; is a CommonJS CLI, not a library. Roughly fifty skill and agent files&#10;call it. Skills resolve it through the home mirror:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node ~/.claude/devflow/bin/df-tools.cjs &amp;lt;command&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;args&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;--raw&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;--raw&lt;/code&gt; emits compact JSON instead of pretty-printed — use it when piping.&lt;/p&gt;&#10;&lt;p&gt;Throughout this site the command is written &lt;code&gt;df-tools &amp;lt;command&amp;gt;&lt;/code&gt; for brevity.&lt;/p&gt;&#10;&lt;h2 id="complete-command-surface"&gt;Complete command surface&lt;/h2&gt;&#10;&lt;div class="table-wrap"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&lt;tr&gt;&lt;th&gt;Command&lt;/th&gt;&lt;th&gt;Subcommands&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;awareness&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;benchmark&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;changelog&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;update&lt;/code&gt; &lt;code&gt;check&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;check-todos&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;commit&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;config-ensure-section&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;config-get&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;config-set&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;context&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;current-timestamp&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;decision-queue&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;defaults-table&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;init&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;deprecation&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;detect&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;novel-domain&lt;/code&gt; &lt;code&gt;brownfield-map&lt;/code&gt; &lt;code&gt;flutter-ui-scope&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;dup-detect&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;find-objective&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;flutter-ui&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;setup&lt;/code&gt; &lt;code&gt;eval&lt;/code&gt; &lt;code&gt;bootstrap&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;frontmatter&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;get&lt;/code&gt; &lt;code&gt;set&lt;/code&gt; &lt;code&gt;merge&lt;/code&gt; &lt;code&gt;validate&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;generate&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;uat&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;generate-slug&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;gh&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;status&lt;/code&gt; &lt;code&gt;sync-objectives&lt;/code&gt; &lt;code&gt;comment&lt;/code&gt; &lt;code&gt;close-issue&lt;/code&gt; &lt;code&gt;sync-release&lt;/code&gt; &lt;code&gt;resolve&lt;/code&gt; &lt;code&gt;sync&lt;/code&gt; &lt;code&gt;pull&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;global-config&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;handoff&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;create&lt;/code&gt; &lt;code&gt;complete&lt;/code&gt; &lt;code&gt;list&lt;/code&gt; &lt;code&gt;get&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;history-digest&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;init&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;execute-objective&lt;/code&gt; &lt;code&gt;plan-objective&lt;/code&gt; &lt;code&gt;new-project&lt;/code&gt; &lt;code&gt;new-milestone&lt;/code&gt; &lt;code&gt;quick&lt;/code&gt; &lt;code&gt;resume&lt;/code&gt; &lt;code&gt;verify-work&lt;/code&gt; &lt;code&gt;objective-op&lt;/code&gt; &lt;code&gt;todos&lt;/code&gt; &lt;code&gt;milestone-op&lt;/code&gt; &lt;code&gt;map-codebase&lt;/code&gt; &lt;code&gt;security-audit&lt;/code&gt; &lt;code&gt;progress&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;initiatives&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;intent&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;resolve&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;list-todos&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;micro&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;migrate&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;plan&lt;/code&gt; &lt;code&gt;apply&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;milestone&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;complete&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;objective&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;next-decimal&lt;/code&gt; &lt;code&gt;add&lt;/code&gt; &lt;code&gt;insert&lt;/code&gt; &lt;code&gt;remove&lt;/code&gt; &lt;code&gt;complete&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;objective-job-index&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;objectives&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;list&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;org-awareness&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;override&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;planning&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;sibling-trd-scan&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;progress&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;project-accept&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;project-decline&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;project-hygiene&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;check&lt;/code&gt; &lt;code&gt;move&lt;/code&gt; &lt;code&gt;archive&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;project-state&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;requirements&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;mark-complete&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;resolve-model&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;roadmap&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;get-objective&lt;/code&gt; &lt;code&gt;analyze&lt;/code&gt; &lt;code&gt;update-job-progress&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;scaffold&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;session-audit&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;skill-active&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;skill-route&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;state&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;update&lt;/code&gt; &lt;code&gt;get&lt;/code&gt; &lt;code&gt;patch&lt;/code&gt; &lt;code&gt;advance-job&lt;/code&gt; &lt;code&gt;record-metric&lt;/code&gt; &lt;code&gt;update-progress&lt;/code&gt; &lt;code&gt;add-decision&lt;/code&gt; &lt;code&gt;add-blocker&lt;/code&gt; &lt;code&gt;resolve-blocker&lt;/code&gt; &lt;code&gt;record-session&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;state-snapshot&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;summary-extract&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;survey&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;decimal-objectives&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;sync-roadmap&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;telemetry&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;template&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;select&lt;/code&gt; &lt;code&gt;fill&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;todo&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;complete&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;transcript-export&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;trd-tdd&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;inspect&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;tui&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;validate&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;consistency&lt;/code&gt; &lt;code&gt;health&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;verify&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;job-structure&lt;/code&gt; &lt;code&gt;objective-completeness&lt;/code&gt; &lt;code&gt;references&lt;/code&gt; &lt;code&gt;commits&lt;/code&gt; &lt;code&gt;artifacts&lt;/code&gt; &lt;code&gt;key-links&lt;/code&gt; &lt;code&gt;trd-pre&lt;/code&gt; &lt;code&gt;api-contract&lt;/code&gt; &lt;code&gt;flutter-ui-bootstrap&lt;/code&gt; &lt;code&gt;flutter-state-coverage&lt;/code&gt; &lt;code&gt;flutter-ui-eval&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;verify-path-exists&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;verify-summary&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;websearch&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;span style="color:var(--text-muted)"&gt;—&lt;/span&gt;&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;&lt;code&gt;workstreams&lt;/code&gt;&lt;/td&gt;&#10; &lt;td&gt;&lt;code&gt;analyze&lt;/code&gt; &lt;code&gt;provision&lt;/code&gt; &lt;code&gt;reconcile&lt;/code&gt; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h2 id="the-commands-you-will-use-directly"&gt;The commands you will use directly&lt;/h2&gt;&#10;&lt;h3 id="state"&gt;State&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;df-tools state &lt;span class="c1"&gt;# load and print&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;df-tools state get &amp;lt;key&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;df-tools state patch --key value&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;df-tools state advance-job&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;df-tools state update-progress&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;df-tools state add-decision --objective &lt;span class="m"&gt;4&lt;/span&gt; --summary &lt;span class="s2"&gt;&amp;#34;...&amp;#34;&lt;/span&gt; --rationale &lt;span class="s2"&gt;&amp;#34;...&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;df-tools state add-blocker --text &lt;span class="s2"&gt;&amp;#34;...&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;df-tools state resolve-blocker --text &lt;span class="s2"&gt;&amp;#34;...&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;df-tools state record-metric --objective &lt;span class="m"&gt;4&lt;/span&gt; --job &lt;span class="m"&gt;02&lt;/span&gt; --duration &lt;span class="m"&gt;620&lt;/span&gt; --tasks &lt;span class="m"&gt;3&lt;/span&gt; --files &lt;span class="m"&gt;7&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;df-tools state record-session --stopped-at &lt;span class="s2"&gt;&amp;#34;...&amp;#34;&lt;/span&gt; --resume-file &amp;lt;path&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;df-tools state-snapshot&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="commits"&gt;Commits&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;df-tools commit &lt;span class="s2"&gt;&amp;#34;feat(api): add rate limiting&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;df-tools commit &lt;span class="s2"&gt;&amp;#34;...&amp;#34;&lt;/span&gt; --files src/a.go src/b.go&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;df-tools commit &lt;span class="s2"&gt;&amp;#34;...&amp;#34;&lt;/span&gt; --amend&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This is what &lt;code&gt;gate-commits&lt;/code&gt; redirects raw &lt;code&gt;git commit&lt;/code&gt; to. It preserves objective&#10;scope and task IDs and updates &lt;code&gt;STATE.md&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>File structure</title><link>https://devflow.cloud/docs/reference/file-structure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://devflow.cloud/docs/reference/file-structure/</guid><description>&lt;h2 id="project-root"&gt;Project root&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.planning/&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; PROJECT.md vision, constraints, `kind` on frontmatter&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; REQUIREMENTS.md scoped v1/v2 requirements with stable IDs&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ROADMAP.md objectives in dependency order, with checkboxes&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; STATE.md decisions, blockers, position, session history&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; MILESTONES.md archive of completed milestones&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SESSION_PICKUP.md resume note written by `status pause`&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; STATE_ARCHIVE.md rolled-off state history&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; config.json workflow configuration&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; state.json machine-readable position mirror&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="subdirectories"&gt;Subdirectories&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; research/ domain research (new-project)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; codebase/ brownfield mapping (map-codebase)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; todos/pending/ captured ideas&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; todos/done/&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; debug/ active debug sessions&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; debug/resolved/&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; decisions/pending/ parked DECISION-NNN.md&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; milestones/ archived milestone directories&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; quick/ quick-job records&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="per-objective"&gt;Per objective&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; objectives/NN-objective-name/&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; OBJECTIVE.md goal, success criteria, `work` on frontmatter&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; CONTEXT.md your preferences (discuss-objective)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; RESEARCH.md ecosystem research (research-objective)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; NN-YY-JOB.md atomic execution plan, one per job&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; NN-YY-SUMMARY.md execution outcome and evidence&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; VERIFICATION.md verification results&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; UAT.md acceptance walkthrough&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; verification/ Maestro YAML flows, capture manifests&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="markers-and-caches"&gt;Markers and caches&lt;/h2&gt;&#10;&lt;p&gt;Rarely touched, but they explain otherwise-confusing behaviour.&lt;/p&gt;</description></item><item><title>Glossary</title><link>https://devflow.cloud/docs/reference/glossary/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://devflow.cloud/docs/reference/glossary/</guid><description>&lt;p&gt;&lt;strong&gt;Ambient mode&lt;/strong&gt; — a session in a DevFlow project with no skill currently running.&#10;&lt;code&gt;gate-edits&lt;/code&gt; denies direct edits in this mode by default.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Atomic commit&lt;/strong&gt; — one commit per task, carrying objective scope and task ID.&#10;Produced by &lt;code&gt;df-tools commit&lt;/code&gt;, enforced by &lt;code&gt;gate-commits&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Checkpoint&lt;/strong&gt; — a formalised stop in an execution plan. Three types:&#10;&lt;code&gt;human-verify&lt;/code&gt;, &lt;code&gt;decision&lt;/code&gt;, &lt;code&gt;human-action&lt;/code&gt;. Behaviour depends on &lt;code&gt;mode&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Confidence tag&lt;/strong&gt; — &lt;code&gt;VERIFIED&lt;/code&gt; or &lt;code&gt;SUSPECTED&lt;/code&gt; on every finding from&#10;&lt;code&gt;codebase-mapper&lt;/code&gt; and &lt;code&gt;security-auditor&lt;/code&gt;. Only &lt;code&gt;VERIFIED&lt;/code&gt; findings are acted on&#10;downstream.&lt;/p&gt;</description></item></channel></rss>