@deftai/directive-content 0.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/.agents/skills/deft/SKILL.md +6 -0
  2. package/.agents/skills/deft-directive-article-review/SKILL.md +11 -0
  3. package/.agents/skills/deft-directive-build/SKILL.md +10 -0
  4. package/.agents/skills/deft-directive-cost/SKILL.md +12 -0
  5. package/.agents/skills/deft-directive-debug/SKILL.md +13 -0
  6. package/.agents/skills/deft-directive-gh-arch/SKILL.md +11 -0
  7. package/.agents/skills/deft-directive-gh-slice/SKILL.md +10 -0
  8. package/.agents/skills/deft-directive-glossary/SKILL.md +10 -0
  9. package/.agents/skills/deft-directive-interview/SKILL.md +9 -0
  10. package/.agents/skills/deft-directive-pre-pr/SKILL.md +9 -0
  11. package/.agents/skills/deft-directive-refinement/SKILL.md +10 -0
  12. package/.agents/skills/deft-directive-release/SKILL.md +12 -0
  13. package/.agents/skills/deft-directive-review-cycle/SKILL.md +10 -0
  14. package/.agents/skills/deft-directive-setup/SKILL.md +10 -0
  15. package/.agents/skills/deft-directive-swarm/SKILL.md +10 -0
  16. package/.agents/skills/deft-directive-sync/SKILL.md +9 -0
  17. package/.agents/skills/deft-directive-triage/SKILL.md +9 -0
  18. package/.agents/skills/deft-directive-write-skill/SKILL.md +9 -0
  19. package/LICENSE.md +22 -0
  20. package/QUICK-START.md +167 -0
  21. package/UPGRADING.md +517 -0
  22. package/coding/build-output.md +28 -0
  23. package/coding/coding.md +235 -0
  24. package/coding/debugging.md +110 -0
  25. package/coding/holzmann.md +96 -0
  26. package/coding/hygiene.md +127 -0
  27. package/coding/security.md +158 -0
  28. package/coding/testing.md +162 -0
  29. package/coding/toolchain.md +44 -0
  30. package/commands.md +300 -0
  31. package/context/context.md +57 -0
  32. package/context/deterministic-split.md +67 -0
  33. package/context/examples.md +26 -0
  34. package/context/fractal-summaries.md +69 -0
  35. package/context/long-horizon.md +46 -0
  36. package/context/spec-deltas.md +177 -0
  37. package/context/tool-design.md +34 -0
  38. package/context/working-memory.md +62 -0
  39. package/contracts/boundary-maps.md +65 -0
  40. package/contracts/deterministic-questions.md +59 -0
  41. package/contracts/hierarchy.md +77 -0
  42. package/conventions/content-manifest.json +399 -0
  43. package/conventions/machine-generated-banner.md +130 -0
  44. package/conventions/references.md +120 -0
  45. package/conventions/rule-ownership.json +382 -0
  46. package/conventions/task-caching.md +43 -0
  47. package/conventions/vbrief-filenames.md +70 -0
  48. package/deployments/README.md +37 -0
  49. package/deployments/agentuity/README.md +138 -0
  50. package/deployments/agentuity/via-cli.md +380 -0
  51. package/deployments/agentuity/via-cloud.md +425 -0
  52. package/deployments/agentuity/via-github-actions.md +664 -0
  53. package/deployments/agentuity/via-gravity-network.md +606 -0
  54. package/deployments/agentuity/via-vpc.md +607 -0
  55. package/deployments/aws/README.md +38 -0
  56. package/deployments/aws/via-app-runner.md +612 -0
  57. package/deployments/aws/via-ecs-fargate.md +561 -0
  58. package/deployments/aws/via-elastic-beanstalk.md +628 -0
  59. package/deployments/aws/via-lambda.md +649 -0
  60. package/deployments/azure/README.md +37 -0
  61. package/deployments/azure/via-aks.md +390 -0
  62. package/deployments/azure/via-app-service.md +564 -0
  63. package/deployments/azure/via-container-apps.md +599 -0
  64. package/deployments/azure/via-functions.md +552 -0
  65. package/deployments/cloud-gov/README.md +63 -0
  66. package/deployments/cloud-gov/agents/compliance-docs.md +154 -0
  67. package/deployments/cloud-gov/agents.md +39 -0
  68. package/deployments/cloud-gov/cicd.md +64 -0
  69. package/deployments/cloud-gov/deployment.md +150 -0
  70. package/deployments/cloud-gov/logging.md +43 -0
  71. package/deployments/cloud-gov/manifest.md +121 -0
  72. package/deployments/cloud-gov/overview.md +58 -0
  73. package/deployments/cloud-gov/security.md +46 -0
  74. package/deployments/cloud-gov/services.md +72 -0
  75. package/deployments/cloud-gov/upstream/README.md +18 -0
  76. package/deployments/cloudflare/README.md +33 -0
  77. package/deployments/cloudflare/via-dashboard.md +83 -0
  78. package/deployments/cloudflare/via-git.md +90 -0
  79. package/deployments/cloudflare/via-github-actions.md +185 -0
  80. package/deployments/cloudflare/via-terraform.md +157 -0
  81. package/deployments/cloudflare/via-wrangler.md +165 -0
  82. package/deployments/fly-io/README.md +37 -0
  83. package/deployments/fly-io/via-dockerfile.md +648 -0
  84. package/deployments/fly-io/via-flyctl.md +653 -0
  85. package/deployments/fly-io/via-github-actions.md +695 -0
  86. package/deployments/fly-io/via-multi-region.md +598 -0
  87. package/deployments/google/README.md +34 -0
  88. package/deployments/google/via-app-engine.md +42 -0
  89. package/deployments/google/via-cloud-functions.md +23 -0
  90. package/deployments/google/via-cloud-run.md +330 -0
  91. package/deployments/google/via-gke.md +23 -0
  92. package/deployments/netlify/README.md +99 -0
  93. package/deployments/netlify/via-cli.md +17 -0
  94. package/deployments/netlify/via-functions.md +19 -0
  95. package/deployments/netlify/via-git.md +25 -0
  96. package/deployments/vercel/README.md +90 -0
  97. package/deployments/vercel/via-api.md +16 -0
  98. package/deployments/vercel/via-cli.md +17 -0
  99. package/deployments/vercel/via-git.md +24 -0
  100. package/docs/BROWNFIELD.md +179 -0
  101. package/docs/getting-started.md +137 -0
  102. package/docs/good-agents-md.md +137 -0
  103. package/events/README.md +89 -0
  104. package/events/event-record.schema.json +26 -0
  105. package/events/registry.json +166 -0
  106. package/events/registry.schema.json +71 -0
  107. package/glossary.md +145 -0
  108. package/incidents/README.md +81 -0
  109. package/incidents/_template.md +38 -0
  110. package/interfaces/cli.md +104 -0
  111. package/interfaces/rest.md +212 -0
  112. package/interfaces/tui.md +242 -0
  113. package/interfaces/web.md +123 -0
  114. package/languages/6502-DASM.md +132 -0
  115. package/languages/c.md +235 -0
  116. package/languages/commands.md +23 -0
  117. package/languages/cpp.md +132 -0
  118. package/languages/csharp.md +259 -0
  119. package/languages/dart.md +183 -0
  120. package/languages/delphi.md +218 -0
  121. package/languages/elixir.md +208 -0
  122. package/languages/go.md +78 -0
  123. package/languages/java.md +278 -0
  124. package/languages/javascript.md +163 -0
  125. package/languages/julia.md +175 -0
  126. package/languages/kotlin.md +193 -0
  127. package/languages/markdown.md +168 -0
  128. package/languages/mermaid.md +146 -0
  129. package/languages/officejs.md +392 -0
  130. package/languages/python.md +209 -0
  131. package/languages/r.md +163 -0
  132. package/languages/rust.md +216 -0
  133. package/languages/sql.md +216 -0
  134. package/languages/swift.md +153 -0
  135. package/languages/typescript.md +132 -0
  136. package/languages/vba.md +279 -0
  137. package/languages/vhdl.md +180 -0
  138. package/languages/visual-basic.md +151 -0
  139. package/languages/zig.md +196 -0
  140. package/meta/SOUL.md +27 -0
  141. package/meta/code-field.md +44 -0
  142. package/meta/morals.md +40 -0
  143. package/meta/philosophy.md +39 -0
  144. package/meta/project.md +49 -0
  145. package/meta/ralph.md +223 -0
  146. package/meta/security.md +80 -0
  147. package/meta/versioning.md +326 -0
  148. package/package.json +22 -0
  149. package/packs/lessons/lessons-pack-0.1.json +553 -0
  150. package/packs/patterns/patterns-pack-0.1.json +57 -0
  151. package/packs/rules/rules-pack-0.1.json +4767 -0
  152. package/packs/skills/skills-pack-0.1.json +262 -0
  153. package/packs/strategies/strategies-pack-0.1.json +167 -0
  154. package/packs/swarm-spec/swarm-spec-pack-0.1.json +17 -0
  155. package/patterns/executor-layer-credentials.md +227 -0
  156. package/patterns/llm-app.md +156 -0
  157. package/patterns/multi-agent.md +278 -0
  158. package/patterns/prompt-assembly-layer-ordering.md +154 -0
  159. package/patterns/role-as-overlay.md +179 -0
  160. package/platforms/2600.md +137 -0
  161. package/platforms/unity.md +329 -0
  162. package/references/composer-skill-porting.md +152 -0
  163. package/references/cost-models.md +163 -0
  164. package/references/ip-risk.md +246 -0
  165. package/references/plain-english-ux.md +275 -0
  166. package/resilience/context-pruning.md +67 -0
  167. package/resilience/continue-here.md +62 -0
  168. package/scm/changelog.md +276 -0
  169. package/scm/git.md +139 -0
  170. package/scm/github.md +265 -0
  171. package/secrets/.gitkeep +0 -0
  172. package/skills/deft-build/SKILL.md +20 -0
  173. package/skills/deft-directive-article-review/SKILL.md +156 -0
  174. package/skills/deft-directive-build/SKILL.md +302 -0
  175. package/skills/deft-directive-cost/SKILL.md +201 -0
  176. package/skills/deft-directive-debug/SKILL.md +140 -0
  177. package/skills/deft-directive-decompose/SKILL.md +96 -0
  178. package/skills/deft-directive-gh-arch/SKILL.md +160 -0
  179. package/skills/deft-directive-gh-slice/SKILL.md +199 -0
  180. package/skills/deft-directive-glossary/SKILL.md +118 -0
  181. package/skills/deft-directive-interview/SKILL.md +528 -0
  182. package/skills/deft-directive-pre-pr/SKILL.md +131 -0
  183. package/skills/deft-directive-probe/SKILL.md +127 -0
  184. package/skills/deft-directive-refinement/SKILL.md +403 -0
  185. package/skills/deft-directive-release/SKILL.md +266 -0
  186. package/skills/deft-directive-review-cycle/SKILL.md +401 -0
  187. package/skills/deft-directive-setup/SKILL.md +717 -0
  188. package/skills/deft-directive-swarm/SKILL.md +989 -0
  189. package/skills/deft-directive-sync/SKILL.md +288 -0
  190. package/skills/deft-directive-triage/SKILL.md +137 -0
  191. package/skills/deft-directive-write-skill/SKILL.md +169 -0
  192. package/skills/deft-interview/SKILL.md +16 -0
  193. package/skills/deft-pre-pr/SKILL.md +16 -0
  194. package/skills/deft-review-cycle/SKILL.md +16 -0
  195. package/skills/deft-roadmap-refresh/SKILL.md +16 -0
  196. package/skills/deft-setup/SKILL.md +20 -0
  197. package/skills/deft-swarm/SKILL.md +16 -0
  198. package/skills/deft-sync/SKILL.md +16 -0
  199. package/strategies/README.md +83 -0
  200. package/strategies/artifact-guards.md +85 -0
  201. package/strategies/bdd.md +115 -0
  202. package/strategies/brownfield.md +7 -0
  203. package/strategies/discuss.md +129 -0
  204. package/strategies/emit-hints.md +69 -0
  205. package/strategies/enterprise.md +193 -0
  206. package/strategies/interview.md +551 -0
  207. package/strategies/map.md +179 -0
  208. package/strategies/probe.md +151 -0
  209. package/strategies/rapid.md +155 -0
  210. package/strategies/research.md +155 -0
  211. package/strategies/roadmap.md +9 -0
  212. package/strategies/speckit.md +437 -0
  213. package/strategies/v0-20-contract.md +134 -0
  214. package/strategies/yolo.md +169 -0
  215. package/swarm/swarm.md +300 -0
  216. package/templates/COST-ESTIMATE.md +114 -0
  217. package/templates/PULL_REQUEST_TEMPLATE.md +35 -0
  218. package/templates/agent-prompt-preamble.md +409 -0
  219. package/templates/agents-entry.md +211 -0
  220. package/templates/agents-entry.placeholders.md +75 -0
  221. package/templates/embed.go +20 -0
  222. package/templates/embed_test.go +36 -0
  223. package/templates/make-spec-example.md +9 -0
  224. package/templates/make-spec.md +246 -0
  225. package/templates/project.md.template +52 -0
  226. package/templates/specification.md +1 -0
  227. package/templates/swarm-greptile-poller-prompt.md +556 -0
  228. package/templates/user.md.template +31 -0
  229. package/tools/RWLDL.md +80 -0
  230. package/tools/greptile.md +141 -0
  231. package/tools/installer.md +23 -0
  232. package/tools/taskfile-migration.md +32 -0
  233. package/tools/taskfile.md +185 -0
  234. package/tools/telemetry.md +285 -0
  235. package/vbrief/schemas/cache-meta.schema.json +137 -0
  236. package/vbrief/schemas/candidates.schema.json +130 -0
  237. package/vbrief/schemas/codebase-map.schema.json +213 -0
  238. package/vbrief/schemas/lessons-pack.schema.json +134 -0
  239. package/vbrief/schemas/patterns-pack.schema.json +84 -0
  240. package/vbrief/schemas/rules-pack.schema.json +105 -0
  241. package/vbrief/schemas/skills-pack.schema.json +94 -0
  242. package/vbrief/schemas/slices.schema.json +87 -0
  243. package/vbrief/schemas/strategies-pack.schema.json +89 -0
  244. package/vbrief/schemas/swarm-spec-pack.schema.json +84 -0
  245. package/vbrief/schemas/vbrief-core.schema.json +1022 -0
  246. package/vbrief/vbrief.md +684 -0
  247. package/verification/integration.md +76 -0
  248. package/verification/plan-checking.md +85 -0
  249. package/verification/uat.md +60 -0
  250. package/verification/verification.md +117 -0
package/tools/RWLDL.md ADDED
@@ -0,0 +1,80 @@
1
+ # Ralph Wiggum's Loop-de-Loop (RWLDL)
2
+
3
+ Iterative code refinement by alternating micro (detailed) and macro (high-level) improvements.
4
+
5
+ Legend (from RFC2119): !=MUST, ~=SHOULD, ≉=SHOULD NOT, ⊗=MUST NOT, ?=MAY.
6
+
7
+ **⚠️ See also**: [taskfile.md](./taskfile.md) | [../coding/coding.md](../coding/coding.md) | [../coding/testing.md](../coding/testing.md)
8
+
9
+ ## Overview
10
+
11
+ - ! Perform up to **N** full Loop-de-Loops (LDLs); N is configurable (default: 5)
12
+ - ! Stop early if no meaningful improvements (>5% impact on perf, coverage, or complexity) are found in two consecutive evaluation steps (1 or 3)
13
+ - ! Stop early if all verification criteria are met
14
+ - ! Track state in `ldl-progress.md`
15
+
16
+ ## Loop-de-Loop Steps
17
+
18
+ ### Step 1 — Micro Review (Close-Up Scrutiny)
19
+
20
+ - ! Read current state: `ldl-progress.md`, recent git commits, test results, logs
21
+ - ! Examine code granularly for:
22
+ - Comments and readability
23
+ - Code quality (naming, style)
24
+ - DRY violations
25
+ - Micro-performance (e.g., loop optimizations)
26
+ - Testing gaps
27
+ - ~ Quantify with tools (lint scores, complexity metrics)
28
+ - ! List 2–5 prioritized fixes, each atomic (<100 LOC change)
29
+ - ? If none found, note and proceed to Step 5 (verification)
30
+
31
+ ### Step 2 — Micro Implement & Test
32
+
33
+ - ! For each fix from Step 1, implement in small steps
34
+ - ! Self-critique: list 3 downsides; mitigate top 2
35
+ - ! Run before committing:
36
+ - Unit and integration tests
37
+ - Fuzzing / property-based tests
38
+ - Lint and type checks
39
+ - Performance profiles
40
+ - ! Fix all failures before committing
41
+ - ! Git commit with descriptive message
42
+ - ! Update `ldl-progress.md` with summary, metrics deltas, and completed checkboxes
43
+
44
+ ### Step 3 — Macro Review (5,000-Foot View)
45
+
46
+ - ! Reset perspective — ignore micro details
47
+ - ! Evaluate holistically for:
48
+ - Speed and scalability (Big O, parallelism)
49
+ - Modularity (SOLID, separation of concerns)
50
+ - Broader DRY and reliability (error handling, redundancy)
51
+ - Security and performance at scale
52
+ - ~ Check externalities: dependencies, docs, APIs
53
+ - ! List 1–3 high-impact changes; quantify potential gains
54
+ - ? If none found, note and proceed to Step 5 (verification)
55
+
56
+ ### Step 4 — Macro Implement & Test
57
+
58
+ - ! Same process as Step 2, but for Step 3 changes
59
+ - ! Additionally include:
60
+ - Security scans (e.g., SAST)
61
+ - End-to-end tests
62
+ - ! Commit and update `ldl-progress.md`
63
+
64
+ ### Step 5 — Loop or Verify
65
+
66
+ - If improvements were made → return to Step 1 for next LDL
67
+ - Otherwise, verify:
68
+ - ! All tests pass (coverage ≥95%)
69
+ - ! No lint or security issues
70
+ - ! Benchmarks stable
71
+ - ! README and docs current
72
+ - If verified → output **COMPLETE**
73
+ - Else → **CONTINUE** to next LDL
74
+
75
+ ## Progress Tracking
76
+
77
+ - ! After each LDL, append to `ldl-progress.md`:
78
+ - LDL count
79
+ - Key metrics (coverage, complexity, perf)
80
+ - Rationale for continuing or stopping
@@ -0,0 +1,141 @@
1
+ # Greptile Integration
2
+
3
+ Legend (from RFC2119): !=MUST, ~=SHOULD, ≉=SHOULD NOT, ⊗=MUST NOT, ?=MAY.
4
+
5
+ **⚠️ See also**: [deft-directive-review-cycle skill](../skills/deft-directive-review-cycle/SKILL.md) | [Greptile docs](https://greptile.com/docs)
6
+
7
+ **Scope:** Configuring the Greptile AI code review bot for use with deft projects.
8
+
9
+ ## Overview
10
+
11
+ Greptile reviews pull requests with full codebase context. When used with deft, it integrates with the `deft-directive-review-cycle` skill to enable automated review/fix loops.
12
+
13
+ ## Recommended Dashboard Settings (org-wide)
14
+
15
+ ! Configure these in the [Greptile dashboard](https://app.greptile.com/review/github) as organization defaults — they apply to all repos and avoid per-repo duplication.
16
+
17
+ ### Review Triggers
18
+
19
+ - ! `triggerOnUpdates` ("Automatically trigger on new commits") → **on** — re-reviews on every push so the review-cycle loop can reach its exit condition
20
+ - ? `triggerOnDrafts` ("Review draft pull requests") → on if you want early feedback on draft PRs
21
+
22
+ ### Status
23
+
24
+ - ! `statusCheck` ("Create a status check for each PR") → **on** — posts a `"Greptile Review"` check run that org rulesets can require
25
+ - ~ `statusCommentsEnabled` ("Enable status comments") → **on**
26
+
27
+ ### Comments
28
+
29
+ - ~ `strictness` → **2** (balanced) — 1 is verbose, 3 is critical-only
30
+ - ~ `commentTypes` → **Syntax, Logic** enabled, **Style** disabled — deft has its own style conventions via RFC 2119 rules
31
+ - ~ `fixWithAI` ("Fix with AI Prompt") → **on** — helps agents understand suggested fixes
32
+
33
+ ### PR Summary
34
+
35
+ - ! Confidence Score → **on** — the review-cycle skill uses this for its exit condition (must be >3)
36
+ - ~ PR Summary → **on**
37
+ - ~ Issues Table → **on**
38
+ - ? Diagram → optional (adds visual but increases review size)
39
+ - ~ Comments Outside Diff → **on** — the review-cycle skill fetches these explicitly
40
+
41
+ ### Author Exclusions
42
+
43
+ - ~ Exclude `dependabot[bot]` and `renovate[bot]` — avoids noisy reviews on automated PRs
44
+
45
+ ## Per-Repo Configuration (optional)
46
+
47
+ Dashboard settings cover most needs. Per-repo `.greptile/` folders are only needed for repo-specific overrides.
48
+
49
+ ### When to use `.greptile/`
50
+
51
+ - ? `config.json` — override org defaults for a specific repo (e.g. different strictness for a high-risk service)
52
+ - ~ `rules.md` — repo-specific review rules in prose (additive with org rules). SHOULD be present in every repo to give Greptile project-specific context.
53
+ - ? `files.json` — point Greptile at repo-specific context docs (architecture docs, API specs, schemas)
54
+
55
+ ### Starter `.greptile/rules.md` Template
56
+
57
+ ~ Every repo using Greptile SHOULD include a `.greptile/rules.md` with at least the following sections. Adapt the content to your project.
58
+
59
+ ```markdown
60
+ # Review Rules
61
+
62
+ ## Project Context
63
+ - This project uses [brief tech stack description].
64
+ - Primary language(s): [languages].
65
+
66
+ ## Conventions
67
+ - Commit messages follow Conventional Commits: type(scope): description.
68
+ - All files use UTF-8 without BOM.
69
+ - RFC2119 enforcement markers (!, ~, ⊗) are used for rules.
70
+
71
+ ## Review Focus
72
+ - Flag any TODO/FIXME/HACK comments in new code.
73
+ - Verify error handling is present (no silent failures).
74
+ - Check that new public APIs have documentation.
75
+
76
+ ## Ignore
77
+ - Do not flag style issues in generated files.
78
+ - Do not flag line length in markdown files.
79
+ ```
80
+
81
+ ### Configuration hierarchy (highest → lowest precedence)
82
+
83
+ 1. Org enforced rules (dashboard — cannot be overridden)
84
+ 2. `.greptile/` folder (per-repo, recommended format)
85
+ 3. `greptile.json` in repo root (legacy format, still supported)
86
+ 4. Dashboard settings (org defaults)
87
+
88
+ ~ Use `.greptile/` over `greptile.json` — it supports cascading, per-directory overrides, structured rules with severity, and `rules.md` prose.
89
+
90
+ ⊗ Duplicate behavioral settings (`triggerOnUpdates`, `statusCheck`, etc.) in per-repo configs when they match the org defaults — maintain them in one place.
91
+
92
+ ## Check Runs vs. Commit Statuses
93
+
94
+ ! Greptile posts **check runs** (GitHub Checks API), not **commit statuses** (Statuses API). This distinction matters when verifying or debugging the integration.
95
+
96
+ To verify Greptile posted a check run on a commit:
97
+
98
+ ```
99
+ gh api repos/<owner>/<repo>/commits/<sha>/check-runs --jq '.check_runs[] | select(.name == "Greptile Review")'
100
+ ```
101
+
102
+ ⊗ Use `commits/<sha>/statuses` to look for Greptile — that endpoint will always be empty for Greptile.
103
+
104
+ The check run name is `"Greptile Review"` — this must match the context name in any org ruleset or branch protection rule that requires it.
105
+
106
+ ## Troubleshooting
107
+
108
+ ### Greptile reviews PRs but no check run appears
109
+
110
+ 1. Verify `statusCheck` is enabled in the dashboard
111
+ 2. Verify the repo is in the Enabled list on the Repositories tab
112
+ 3. Check the GitHub App permissions — needs R/W for `checks` and `commit statuses`
113
+ 4. Use the Checks API (not Statuses API) to verify: `gh api repos/<owner>/<repo>/commits/<sha>/check-runs`
114
+ 5. If all settings are correct and check runs still don't appear, contact Greptile support — this may be a repo-specific issue on their end
115
+
116
+ ### Greptile doesn't re-review after pushing fixes
117
+
118
+ 1. Verify `triggerOnUpdates` is enabled in the dashboard
119
+ 2. Re-reviews may have a delay (~3-5 minutes vs. near-instant for initial reviews)
120
+ 3. As a fallback, comment `@greptileai` on the PR to manually trigger a re-review
121
+ 4. Greptile edits its existing summary comment in place — check the `Last reviewed commit` field and `updated_at` timestamp
122
+
123
+ ### Review-cycle loop never exits
124
+
125
+ 1. Check the `deft-directive-review-cycle` skill's Pre-Flight Check section
126
+ 2. Verify `triggerOnUpdates` is enabled — without it, Greptile never produces a follow-up review
127
+ 3. Verify the confidence score section is enabled in dashboard settings — the exit condition requires confidence >3
128
+
129
+ ## Anti-Patterns
130
+
131
+ - ⊗ Maintain identical Greptile settings in per-repo configs across multiple repos — use dashboard org defaults
132
+ - ⊗ Use `commits/<sha>/statuses` to check for Greptile — use `commits/<sha>/check-runs`
133
+ - ⊗ Enter the review-cycle loop without verifying `triggerOnUpdates` is enabled
134
+ - ⊗ Assume Greptile re-reviews instantly — allow 3-5 minutes before falling back to `@greptileai`
135
+
136
+ ## References
137
+
138
+ - Greptile docs: https://greptile.com/docs
139
+ - `.greptile/` config reference: https://greptile.com/docs/code-review/greptile-config-reference
140
+ - `greptile.json` reference: https://greptile.com/docs/code-review/greptile-json-reference
141
+ - PR trigger configuration: https://greptile.com/docs/code-review-bot/trigger-code-review
@@ -0,0 +1,23 @@
1
+ # Installer
2
+
3
+ Legend: !=MUST, ~=SHOULD, ≉=SHOULD NOT, ⊗=MUST NOT, ?=MAY.
4
+
5
+ ## Version Currency
6
+
7
+ ! `deft-install` MUST query the GitHub Releases API (`GET /repos/deftai/directive/releases/latest`) after the welcome banner and before the project-name prompt, with a 1.5s combined connect/read timeout. The `User-Agent` header MUST be `deft-install/<version>`.
8
+
9
+ ! On version match, `deft-install` MUST print a one-line confirmation (`Running latest (<version>)`) and proceed without prompting.
10
+
11
+ ! On version mismatch, `deft-install` MUST print the embedded version, latest version, publish date, and download URL, then prompt `[y/N]` with default abort.
12
+
13
+ ! On network error or timeout, `deft-install` MUST print a "could not verify" message and prompt `[y/N]` with default abort.
14
+
15
+ ! On non-TTY stdin, `deft-install` MUST exit 1 for any non-match outcome unless `DEFT_NO_UPDATE_CHECK=1` is set or `--no-update-check` is passed.
16
+
17
+ ⊗ Run the version check for `--version` or `--help` invocations.
18
+
19
+ ⊗ Suppress the prompt for any class of drift: rc-vs-GA, patch, and minor drift all use the same confirmation rule.
20
+
21
+ ⊗ Warn when the embedded version is ahead of latest. Locally built development binaries must proceed without update-check noise in that case.
22
+
23
+ Comparison rule: warn iff `embedded < latest` under SemVer ordering. Pre-release identifiers sort below their corresponding GA per SemVer, so `v0.20.0-rc.1 < v0.20.0` without special-casing release candidates.
@@ -0,0 +1,32 @@
1
+ # Taskfile Migration Guide
2
+
3
+ Legend (from RFC2119): !=MUST, ~=SHOULD, ≉=SHOULD NOT, ⊗=MUST NOT, ?=MAY.
4
+
5
+ **⚠️ See also**: [taskfile.md](./taskfile.md) | [main.md](../../main.md)
6
+
7
+ ## When to Migrate
8
+
9
+ - ~ Migrate from Makefiles or shell scripts when the project adopts Deft
10
+ - ~ Migrate when build automation becomes complex enough to benefit from Task's dependency resolution and caching
11
+ - ? Skip migration for trivial scripts that are rarely changed
12
+
13
+ ## Migration Steps
14
+
15
+ 1. **Audit** -- List all existing build/test/deploy commands (Makefile targets, npm scripts, shell scripts)
16
+ 2. **Map** -- Map each command to a Task equivalent using [taskfile.md](./taskfile.md) naming conventions
17
+ 3. **Create** -- Write `Taskfile.yml` with mapped tasks; use `deps` for ordering, `sources`/`generates` for caching
18
+ 4. **Verify** -- Run each task and compare output to the original command
19
+ 5. **Remove** -- Delete or archive the old Makefile/scripts once all tasks are verified
20
+
21
+ ## Common Migrations
22
+
23
+ - `make build` -> `task build`
24
+ - `npm run test` -> `task test`
25
+ - `./scripts/deploy.sh` -> `task deploy`
26
+ - `make lint && make test` -> `task check` (with deps: [lint, test])
27
+
28
+ ## Anti-Patterns
29
+
30
+ - ⊗ Migrating and keeping the old system active (causes confusion about which to use)
31
+ - ⊗ Translating complex shell logic directly into Task `cmds` -- extract to scripts instead
32
+ - ≉ Migrating all scripts at once without verifying each individually
@@ -0,0 +1,185 @@
1
+ # Taskfile Guidelines
2
+
3
+ Legend (from RFC2119): !=MUST, ~=SHOULD, ≉=SHOULD NOT, ⊗=MUST NOT, ?=MAY.
4
+
5
+ **⚠️ See also**: [main.md](../../main.md) | [taskfile-migration.md](./taskfile-migration.md)
6
+
7
+ **Scope:** Task-based build automation using [Task](https://taskfile.dev/) instead of Makefiles or shell scripts.
8
+
9
+ ## Task-Centric Workflow
10
+
11
+ - ! Use `task` for repeatable operations
12
+ - ! Add tasks instead of standalone shell scripts
13
+ - ! Define default task: `task --list`
14
+ - ⊗ Manual shell scripts for repeatable workflows
15
+
16
+ ## Core Principles
17
+
18
+ **Entrypoint:**
19
+ - ! Task as single entry for common flows: `task dev`, `task test`, `task build`, `task release`
20
+ - ~ Avoid documenting raw commands in README beyond "install Task, then run X"
21
+
22
+ **Composability:**
23
+ - ~ Keep tasks small and declarative
24
+ - ~ Move logic to scripts/binaries, Task orchestrates
25
+ - ⊗ Embed complex shell logic in `cmds`
26
+
27
+ **Structure:**
28
+ - ! Default task shows available tasks (`task --list`)
29
+ - ~ Split large setups: `Taskfile.dev.yml`, `Taskfile.ci.yml`, `Taskfile.tools.yml`
30
+ - ~ Include from root `Taskfile.yml` for readability
31
+
32
+ ## Naming Conventions
33
+
34
+ **Single-language projects:**
35
+ - ! Use generic names: `fmt`, `lint`, `test`, `build`
36
+ - ! Use clear verbs: `generate`, `deploy`, `publish`, `clean`
37
+
38
+ **Multi-language projects:**
39
+ - ! Use namespaced names: `py:fmt`, `go:fmt`, `cpp:fmt`, `ts:fmt`
40
+ - ! Provide generic aliases delegating to all languages:
41
+ ```yaml
42
+ fmt:
43
+ deps: [py:fmt, go:fmt]
44
+ lint:
45
+ deps: [py:lint, go:lint]
46
+ ```
47
+
48
+ **Task namespaces:**
49
+ - ! Group related tasks: `docker:build`, `docker:push`, `db:migrate`, `db:seed`, `app:run`
50
+
51
+ ## Dependencies, Caching, Performance
52
+
53
+ **Dependencies:**
54
+ - ~ Use `deps` for task ordering/reuse
55
+ - ⊗ Manually sequence tasks in `cmds`
56
+
57
+ **Caching:**
58
+ - ~ Configure `sources`/`generates` + `method: checksum`
59
+ - ~ Incremental builds like Make-style
60
+ - ~ Only re-run when inputs change
61
+
62
+ **Idempotency:**
63
+ - ~ Use `status` or `preconditions` for idempotent setup
64
+ - ~ Skip heavy steps if already completed (e.g. "tool installed", "DB running")
65
+
66
+ ## Robustness & Safety
67
+
68
+ **Shell options:**
69
+ - ! Set `set: [errexit, nounset, pipefail]` on tasks
70
+ - Exits on errors, undefined vars, pipe failures
71
+
72
+ **Validation:**
73
+ - ~ Use `requires: vars: [VAR]` to fail early
74
+ - Example: `requires: vars: [AWS_PROFILE, VERSION]`
75
+ - ⊗ Let scripts misbehave with missing vars
76
+
77
+ **Cleanup:**
78
+ - ~ Use `defer` for cleanup (temp files, background processes)
79
+ - ~ Cleanup runs even on task failure
80
+
81
+ ## UX for Teams & CI
82
+
83
+ **Documentation:**
84
+ - ! Add `desc` for every user-facing task
85
+ - ! `task --list` must be self-documenting CLI
86
+ - ~ Mark internal tasks as `internal: true`
87
+ - ⊗ Expose internal wiring tasks to users
88
+
89
+ **Variables & Templates:**
90
+ - ~ Use `vars`, `env`, `{{.CLI_ARGS}}`, `{{.USER_WORKING_DIR}}`
91
+ - ~ Support monorepos/multi-service setups cleanly
92
+ - ~ Avoid duplicating similar tasks
93
+
94
+ **Artifacts:**
95
+ - ~ Keep local/ephemeral artifacts in temp dir
96
+ - ~ Use `TASK_TEMP_DIR` for generated caches/checksums
97
+ - ~ Ignore in VCS or commit for reproducible codegen
98
+
99
+ ## Common Task Commands
100
+
101
+ ```bash
102
+ task fmt # Format code
103
+ task lint # Lint code
104
+ task test # Run tests
105
+ task test:coverage # Run tests with coverage (! ≥85%)
106
+ task quality # All quality checks
107
+ task check # Pre-commit (! run: fmt+lint+type+test)
108
+ task build # Build project
109
+ ```
110
+
111
+ ## Example Taskfile Structure
112
+
113
+ ```yaml
114
+ version: '3'
115
+
116
+ set: [errexit, nounset, pipefail]
117
+
118
+ tasks:
119
+ default:
120
+ desc: List all tasks
121
+ cmds:
122
+ - task --list
123
+ silent: true
124
+
125
+ fmt:
126
+ desc: Format code
127
+ sources:
128
+ - '**/*.py'
129
+ cmds:
130
+ - ruff format .
131
+
132
+ lint:
133
+ desc: Lint code
134
+ sources:
135
+ - '**/*.py'
136
+ cmds:
137
+ - ruff check .
138
+
139
+ test:
140
+ desc: Run tests
141
+ deps: [fmt, lint]
142
+ cmds:
143
+ - pytest
144
+
145
+ build:
146
+ desc: Build project
147
+ deps: [test]
148
+ sources:
149
+ - 'src/**/*.py'
150
+ generates:
151
+ - 'dist/*'
152
+ cmds:
153
+ - python -m build
154
+
155
+ clean:
156
+ desc: Clean build artifacts
157
+ cmds:
158
+ - rm -rf dist/ build/ *.egg-info
159
+ ```
160
+
161
+ ## Best Practices
162
+
163
+ - ! Always include default task
164
+ - ! Use RFC 2119 keywords in task descriptions
165
+ - ~ Keep tasks <20 lines; extract scripts if larger
166
+ - ~ Use `dotenv` for environment files
167
+ - ~ Prefer `cmd` over `sh` for simple commands
168
+ - ⊗ Hardcode paths; use templates
169
+ - ⊗ Silent failures; add error handling
170
+
171
+ ## Anti-Patterns
172
+
173
+ - ⊗ Shell scripts for repeatable tasks → use Task
174
+ - ⊗ Complex shell in `cmds` → extract to scripts
175
+ - ⊗ Undocumented tasks → add `desc`
176
+ - ⊗ Ignoring `deps` → use for ordering
177
+ - ⊗ No caching config → add `sources`/`generates`
178
+ - ⊗ Exposing internal tasks → mark `internal: true`
179
+
180
+ ## References
181
+
182
+ - Docs: https://taskfile.dev/
183
+ - Styleguide: https://taskfile.dev/docs/styleguide
184
+ - Installation: https://taskfile.dev/installation/
185
+ - Migration: [taskfile-migration.md](./taskfile-migration.md)