recall-os 0.1.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 (169) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +213 -0
  3. package/dist/cli.d.ts +1 -0
  4. package/dist/cli.js +5213 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/index.d.ts +16 -0
  7. package/dist/index.js +5212 -0
  8. package/dist/index.js.map +1 -0
  9. package/examples/generated-flutter/.recall/config.json +17 -0
  10. package/examples/generated-flutter/.recall/hooks/pre-commit +9 -0
  11. package/examples/generated-flutter/AGENTS.md +15 -0
  12. package/examples/generated-flutter/CLAUDE.md +7 -0
  13. package/examples/generated-flutter/README.md +10 -0
  14. package/examples/generated-flutter/docs/00-product/BRD.md +9 -0
  15. package/examples/generated-flutter/docs/00-product/PRD.md +13 -0
  16. package/examples/generated-flutter/docs/10-architecture/ARCHITECTURE.md +11 -0
  17. package/examples/generated-flutter/docs/10-architecture/FILE_WRITE_POLICY.md +8 -0
  18. package/examples/generated-flutter/docs/10-architecture/MEMORY_ENGINE.md +16 -0
  19. package/examples/generated-flutter/docs/20-security/SECURITY_MODEL.md +11 -0
  20. package/examples/generated-flutter/docs/20-security/THREAT_MODEL.md +7 -0
  21. package/examples/generated-flutter/docs/30-modules/README.md +17 -0
  22. package/examples/generated-flutter/docs/40-features/README.md +22 -0
  23. package/examples/generated-flutter/docs/50-quality/QUALITY_GATES.md +11 -0
  24. package/examples/generated-flutter/docs/50-quality/TESTING_STRATEGY.md +5 -0
  25. package/examples/generated-flutter/docs/60-engineering/AI_AGENT_RULES.md +6 -0
  26. package/examples/generated-flutter/docs/60-engineering/ENGINEERING_STANDARDS.md +11 -0
  27. package/examples/generated-flutter/docs/adrs/README.md +5 -0
  28. package/examples/generated-flutter/docs/adrs/proposed/ADR-PROPOSED-flutter-platform.md +10 -0
  29. package/examples/generated-flutter/docs/ai/AI_AGENTS_SKILLS_MCP_STRATEGY.md +7 -0
  30. package/examples/generated-flutter/docs/ai/MCP_STRATEGY.md +6 -0
  31. package/examples/generated-flutter/docs/ai/RECALL_COMMANDS.md +133 -0
  32. package/examples/generated-flutter/docs/ai/presets/flutter-guidance.md +4 -0
  33. package/examples/generated-generic/.recall/config.json +17 -0
  34. package/examples/generated-generic/.recall/hooks/pre-commit +9 -0
  35. package/examples/generated-generic/AGENTS.md +15 -0
  36. package/examples/generated-generic/CLAUDE.md +7 -0
  37. package/examples/generated-generic/README.md +10 -0
  38. package/examples/generated-generic/docs/00-product/BRD.md +9 -0
  39. package/examples/generated-generic/docs/00-product/PRD.md +13 -0
  40. package/examples/generated-generic/docs/10-architecture/ARCHITECTURE.md +11 -0
  41. package/examples/generated-generic/docs/10-architecture/FILE_WRITE_POLICY.md +8 -0
  42. package/examples/generated-generic/docs/10-architecture/MEMORY_ENGINE.md +16 -0
  43. package/examples/generated-generic/docs/20-security/SECURITY_MODEL.md +11 -0
  44. package/examples/generated-generic/docs/20-security/THREAT_MODEL.md +7 -0
  45. package/examples/generated-generic/docs/30-modules/README.md +17 -0
  46. package/examples/generated-generic/docs/40-features/README.md +22 -0
  47. package/examples/generated-generic/docs/50-quality/QUALITY_GATES.md +11 -0
  48. package/examples/generated-generic/docs/50-quality/TESTING_STRATEGY.md +5 -0
  49. package/examples/generated-generic/docs/60-engineering/AI_AGENT_RULES.md +6 -0
  50. package/examples/generated-generic/docs/60-engineering/ENGINEERING_STANDARDS.md +11 -0
  51. package/examples/generated-generic/docs/adrs/README.md +5 -0
  52. package/examples/generated-generic/docs/ai/AI_AGENTS_SKILLS_MCP_STRATEGY.md +7 -0
  53. package/examples/generated-generic/docs/ai/MCP_STRATEGY.md +6 -0
  54. package/examples/generated-generic/docs/ai/RECALL_COMMANDS.md +133 -0
  55. package/examples/generated-generic/docs/ai/presets/generic-guidance.md +3 -0
  56. package/examples/generated-ios-swift/.recall/config.json +17 -0
  57. package/examples/generated-ios-swift/.recall/hooks/pre-commit +9 -0
  58. package/examples/generated-ios-swift/AGENTS.md +15 -0
  59. package/examples/generated-ios-swift/CLAUDE.md +7 -0
  60. package/examples/generated-ios-swift/README.md +10 -0
  61. package/examples/generated-ios-swift/docs/00-product/BRD.md +9 -0
  62. package/examples/generated-ios-swift/docs/00-product/PRD.md +13 -0
  63. package/examples/generated-ios-swift/docs/10-architecture/ARCHITECTURE.md +11 -0
  64. package/examples/generated-ios-swift/docs/10-architecture/FILE_WRITE_POLICY.md +8 -0
  65. package/examples/generated-ios-swift/docs/10-architecture/MEMORY_ENGINE.md +16 -0
  66. package/examples/generated-ios-swift/docs/20-security/SECURITY_MODEL.md +11 -0
  67. package/examples/generated-ios-swift/docs/20-security/THREAT_MODEL.md +7 -0
  68. package/examples/generated-ios-swift/docs/30-modules/README.md +17 -0
  69. package/examples/generated-ios-swift/docs/40-features/README.md +22 -0
  70. package/examples/generated-ios-swift/docs/50-quality/QUALITY_GATES.md +11 -0
  71. package/examples/generated-ios-swift/docs/50-quality/TESTING_STRATEGY.md +5 -0
  72. package/examples/generated-ios-swift/docs/60-engineering/AI_AGENT_RULES.md +6 -0
  73. package/examples/generated-ios-swift/docs/60-engineering/ENGINEERING_STANDARDS.md +11 -0
  74. package/examples/generated-ios-swift/docs/adrs/README.md +5 -0
  75. package/examples/generated-ios-swift/docs/adrs/proposed/ADR-PROPOSED-ios-swift-architecture-mvvm.md +23 -0
  76. package/examples/generated-ios-swift/docs/adrs/proposed/ADR-PROPOSED-ios-swift-concurrency-async.md +23 -0
  77. package/examples/generated-ios-swift/docs/adrs/proposed/ADR-PROPOSED-ios-swift-persistence-swiftdata.md +23 -0
  78. package/examples/generated-ios-swift/docs/adrs/proposed/ADR-PROPOSED-ios-swift-platform.md +24 -0
  79. package/examples/generated-ios-swift/docs/adrs/proposed/ADR-PROPOSED-ios-swift-ui-swiftui.md +23 -0
  80. package/examples/generated-ios-swift/docs/ai/AI_AGENTS_SKILLS_MCP_STRATEGY.md +7 -0
  81. package/examples/generated-ios-swift/docs/ai/MCP_STRATEGY.md +6 -0
  82. package/examples/generated-ios-swift/docs/ai/RECALL_COMMANDS.md +133 -0
  83. package/examples/generated-ios-swift/docs/ai/presets/ios-swift-guidance.md +30 -0
  84. package/examples/generated-kotlin-android/.recall/config.json +17 -0
  85. package/examples/generated-kotlin-android/.recall/hooks/pre-commit +9 -0
  86. package/examples/generated-kotlin-android/AGENTS.md +15 -0
  87. package/examples/generated-kotlin-android/CLAUDE.md +7 -0
  88. package/examples/generated-kotlin-android/README.md +11 -0
  89. package/examples/generated-kotlin-android/docs/00-product/BRD.md +9 -0
  90. package/examples/generated-kotlin-android/docs/00-product/PRD.md +13 -0
  91. package/examples/generated-kotlin-android/docs/10-architecture/ARCHITECTURE.md +11 -0
  92. package/examples/generated-kotlin-android/docs/10-architecture/FILE_WRITE_POLICY.md +8 -0
  93. package/examples/generated-kotlin-android/docs/10-architecture/MEMORY_ENGINE.md +16 -0
  94. package/examples/generated-kotlin-android/docs/20-security/SECURITY_MODEL.md +11 -0
  95. package/examples/generated-kotlin-android/docs/20-security/THREAT_MODEL.md +7 -0
  96. package/examples/generated-kotlin-android/docs/30-modules/README.md +17 -0
  97. package/examples/generated-kotlin-android/docs/40-features/README.md +22 -0
  98. package/examples/generated-kotlin-android/docs/50-quality/QUALITY_GATES.md +11 -0
  99. package/examples/generated-kotlin-android/docs/50-quality/TESTING_STRATEGY.md +5 -0
  100. package/examples/generated-kotlin-android/docs/60-engineering/AI_AGENT_RULES.md +6 -0
  101. package/examples/generated-kotlin-android/docs/60-engineering/ENGINEERING_STANDARDS.md +11 -0
  102. package/examples/generated-kotlin-android/docs/adrs/README.md +5 -0
  103. package/examples/generated-kotlin-android/docs/adrs/proposed/ADR-PROPOSED-kotlin-android-architecture-mvvm.md +23 -0
  104. package/examples/generated-kotlin-android/docs/adrs/proposed/ADR-PROPOSED-kotlin-android-async-coroutines.md +23 -0
  105. package/examples/generated-kotlin-android/docs/adrs/proposed/ADR-PROPOSED-kotlin-android-di-hilt.md +23 -0
  106. package/examples/generated-kotlin-android/docs/adrs/proposed/ADR-PROPOSED-kotlin-android-persistence-room.md +23 -0
  107. package/examples/generated-kotlin-android/docs/adrs/proposed/ADR-PROPOSED-kotlin-android-platform.md +24 -0
  108. package/examples/generated-kotlin-android/docs/adrs/proposed/ADR-PROPOSED-kotlin-android-ui-compose.md +23 -0
  109. package/examples/generated-kotlin-android/docs/ai/AI_AGENTS_SKILLS_MCP_STRATEGY.md +7 -0
  110. package/examples/generated-kotlin-android/docs/ai/MCP_STRATEGY.md +6 -0
  111. package/examples/generated-kotlin-android/docs/ai/RECALL_COMMANDS.md +133 -0
  112. package/examples/generated-kotlin-android/docs/ai/presets/kotlin-android-guidance.md +30 -0
  113. package/examples/generated-nextjs/.recall/config.json +17 -0
  114. package/examples/generated-nextjs/.recall/hooks/pre-commit +9 -0
  115. package/examples/generated-nextjs/AGENTS.md +15 -0
  116. package/examples/generated-nextjs/CLAUDE.md +7 -0
  117. package/examples/generated-nextjs/README.md +10 -0
  118. package/examples/generated-nextjs/docs/00-product/BRD.md +9 -0
  119. package/examples/generated-nextjs/docs/00-product/PRD.md +13 -0
  120. package/examples/generated-nextjs/docs/10-architecture/ARCHITECTURE.md +11 -0
  121. package/examples/generated-nextjs/docs/10-architecture/FILE_WRITE_POLICY.md +8 -0
  122. package/examples/generated-nextjs/docs/10-architecture/MEMORY_ENGINE.md +16 -0
  123. package/examples/generated-nextjs/docs/20-security/SECURITY_MODEL.md +11 -0
  124. package/examples/generated-nextjs/docs/20-security/THREAT_MODEL.md +7 -0
  125. package/examples/generated-nextjs/docs/30-modules/README.md +17 -0
  126. package/examples/generated-nextjs/docs/40-features/README.md +22 -0
  127. package/examples/generated-nextjs/docs/50-quality/QUALITY_GATES.md +11 -0
  128. package/examples/generated-nextjs/docs/50-quality/TESTING_STRATEGY.md +5 -0
  129. package/examples/generated-nextjs/docs/60-engineering/AI_AGENT_RULES.md +6 -0
  130. package/examples/generated-nextjs/docs/60-engineering/ENGINEERING_STANDARDS.md +11 -0
  131. package/examples/generated-nextjs/docs/adrs/README.md +5 -0
  132. package/examples/generated-nextjs/docs/adrs/proposed/ADR-PROPOSED-nextjs-data-layer.md +23 -0
  133. package/examples/generated-nextjs/docs/adrs/proposed/ADR-PROPOSED-nextjs-framework.md +24 -0
  134. package/examples/generated-nextjs/docs/adrs/proposed/ADR-PROPOSED-nextjs-routing-app-router.md +23 -0
  135. package/examples/generated-nextjs/docs/adrs/proposed/ADR-PROPOSED-nextjs-styling-tailwind.md +23 -0
  136. package/examples/generated-nextjs/docs/adrs/proposed/ADR-PROPOSED-nextjs-testing.md +23 -0
  137. package/examples/generated-nextjs/docs/ai/AI_AGENTS_SKILLS_MCP_STRATEGY.md +7 -0
  138. package/examples/generated-nextjs/docs/ai/MCP_STRATEGY.md +6 -0
  139. package/examples/generated-nextjs/docs/ai/RECALL_COMMANDS.md +133 -0
  140. package/examples/generated-nextjs/docs/ai/presets/nextjs-guidance.md +30 -0
  141. package/examples/generated-python-fastapi/.recall/config.json +17 -0
  142. package/examples/generated-python-fastapi/.recall/hooks/pre-commit +9 -0
  143. package/examples/generated-python-fastapi/AGENTS.md +15 -0
  144. package/examples/generated-python-fastapi/CLAUDE.md +7 -0
  145. package/examples/generated-python-fastapi/README.md +11 -0
  146. package/examples/generated-python-fastapi/docs/00-product/BRD.md +9 -0
  147. package/examples/generated-python-fastapi/docs/00-product/PRD.md +13 -0
  148. package/examples/generated-python-fastapi/docs/10-architecture/ARCHITECTURE.md +11 -0
  149. package/examples/generated-python-fastapi/docs/10-architecture/FILE_WRITE_POLICY.md +8 -0
  150. package/examples/generated-python-fastapi/docs/10-architecture/MEMORY_ENGINE.md +16 -0
  151. package/examples/generated-python-fastapi/docs/20-security/SECURITY_MODEL.md +11 -0
  152. package/examples/generated-python-fastapi/docs/20-security/THREAT_MODEL.md +7 -0
  153. package/examples/generated-python-fastapi/docs/30-modules/README.md +17 -0
  154. package/examples/generated-python-fastapi/docs/40-features/README.md +22 -0
  155. package/examples/generated-python-fastapi/docs/50-quality/QUALITY_GATES.md +11 -0
  156. package/examples/generated-python-fastapi/docs/50-quality/TESTING_STRATEGY.md +5 -0
  157. package/examples/generated-python-fastapi/docs/60-engineering/AI_AGENT_RULES.md +6 -0
  158. package/examples/generated-python-fastapi/docs/60-engineering/ENGINEERING_STANDARDS.md +11 -0
  159. package/examples/generated-python-fastapi/docs/adrs/README.md +5 -0
  160. package/examples/generated-python-fastapi/docs/adrs/proposed/ADR-PROPOSED-python-fastapi-cache-redis.md +23 -0
  161. package/examples/generated-python-fastapi/docs/adrs/proposed/ADR-PROPOSED-python-fastapi-database-postgres.md +23 -0
  162. package/examples/generated-python-fastapi/docs/adrs/proposed/ADR-PROPOSED-python-fastapi-framework.md +23 -0
  163. package/examples/generated-python-fastapi/docs/adrs/proposed/ADR-PROPOSED-python-fastapi-testing-pytest.md +23 -0
  164. package/examples/generated-python-fastapi/docs/adrs/proposed/ADR-PROPOSED-python-fastapi-validation-pydantic.md +23 -0
  165. package/examples/generated-python-fastapi/docs/ai/AI_AGENTS_SKILLS_MCP_STRATEGY.md +7 -0
  166. package/examples/generated-python-fastapi/docs/ai/MCP_STRATEGY.md +6 -0
  167. package/examples/generated-python-fastapi/docs/ai/RECALL_COMMANDS.md +133 -0
  168. package/examples/generated-python-fastapi/docs/ai/presets/python-fastapi-guidance.md +31 -0
  169. package/package.json +65 -0
@@ -0,0 +1,6 @@
1
+ # MCP Strategy
2
+
3
+ MCP is not required for this repository.
4
+
5
+ If MCP is introduced later, document trusted servers, data accessed, permissions, risks, and
6
+ source-of-truth rules.
@@ -0,0 +1,133 @@
1
+ # Recall OS Commands
2
+
3
+ This document records the Recall OS commands available to humans and AI agents.
4
+
5
+ ## Completion Gate
6
+
7
+ Before claiming implementation work is complete, run:
8
+
9
+ ```txt
10
+ pnpm test:run
11
+ pnpm typecheck
12
+ recall doctor
13
+ ```
14
+
15
+ If `recall doctor` reports errors, fix them or report why they cannot be fixed. If it reports
16
+ warnings, address them or record why they are acceptable.
17
+
18
+ Package binary behavior is covered by binary integration tests.
19
+
20
+ ## Commands
21
+
22
+ ### `recall init`
23
+
24
+ Initialize neutral repository memory.
25
+
26
+ Options:
27
+
28
+ - `--preset <id>`: apply optional preset guidance and proposed decisions.
29
+ - `--dry-run`: show planned writes without writing files.
30
+ - `--force`: overwrite existing files explicitly.
31
+ - `--reinit`: required with `--force` to overwrite an existing Recall OS installation (a directory
32
+ that already has `.recall/config.json`). Without it, `--force` refuses, protecting existing
33
+ repository memory.
34
+
35
+ Init also generates a tracked pre-commit hook at `.recall/hooks/pre-commit` that runs
36
+ `recall doctor` plus any `preCommitGates` in `.recall/config.json`. Init proposes, but does not run,
37
+ the activation command `git config core.hooksPath .recall/hooks`.
38
+
39
+ ### `recall adopt`
40
+
41
+ Inspect an existing repository through read-only manifest and marker files, then write a proposed
42
+ adoption report and proposed framework ADRs for human review. Adopt never executes repository code
43
+ and never produces accepted memory.
44
+
45
+ Options:
46
+
47
+ - `--dry-run`: show planned writes without writing files.
48
+ - `--force`: overwrite existing files explicitly.
49
+
50
+ ### `recall skill create <name>`
51
+
52
+ Generate a portable AI agent skill as `SKILL.md` for both Claude Code (`.claude/skills/`) and the
53
+ portable Agent Skills target (`.agents/skills/`). Known names use the built-in catalog; unknown
54
+ names produce a valid skeleton. Generated skills contain no scripts.
55
+
56
+ Options:
57
+
58
+ - `--dry-run`: show planned writes without writing files.
59
+ - `--force`: overwrite existing files explicitly.
60
+
61
+ ### `recall skill list`
62
+
63
+ List the built-in catalog skills.
64
+
65
+ ### `recall mcp add <server>`
66
+
67
+ Generate offline, proposed memory for an MCP server (for example `figma`) as
68
+ `docs/ai/mcp/<server>.md` plus a proposed adoption ADR. Recall OS never connects to the MCP server
69
+ or makes network calls; the agent records durable MCP-derived context into the generated memory for
70
+ human review. It also installs a `capture-mcp-context` agent skill that prompts the agent to record
71
+ that context.
72
+
73
+ Options:
74
+
75
+ - `--dry-run`: show planned writes without writing files.
76
+ - `--force`: overwrite existing files explicitly.
77
+
78
+ ### `recall preset list`
79
+
80
+ List built-in presets.
81
+
82
+ ### `recall feature create <name>`
83
+
84
+ Create feature memory docs under the configured features directory.
85
+
86
+ Options:
87
+
88
+ - `--dry-run`: show planned writes without writing files.
89
+ - `--force`: overwrite existing files explicitly.
90
+
91
+ ### `recall adr create <title>`
92
+
93
+ Create a proposed ADR under the configured ADR directory.
94
+
95
+ Options:
96
+
97
+ - `--dry-run`: show planned writes without writing files.
98
+ - `--force`: overwrite existing files explicitly.
99
+
100
+ ### `recall adr accept <name>`
101
+
102
+ Promote a proposed ADR to accepted repository memory. A proposal under
103
+ `docs/adrs/proposed/ADR-PROPOSED-<slug>.md` becomes a numbered, accepted `ADR-####-<slug>.md` and
104
+ the proposal is removed; an existing numbered Proposed ADR is accepted in place.
105
+
106
+ Options:
107
+
108
+ - `--dry-run`: show planned writes without writing files.
109
+ - `--force`: overwrite existing files explicitly.
110
+
111
+ ### `recall module create <name>`
112
+
113
+ Create module memory docs under the configured modules directory.
114
+
115
+ Options:
116
+
117
+ - `--dry-run`: show planned writes without writing files.
118
+ - `--force`: overwrite existing files explicitly.
119
+
120
+ ### `recall doctor`
121
+
122
+ Check whether repository memory is structurally healthy enough for AI-assisted work, whether basic
123
+ engineering evidence is present, and whether memory references decisions that exist and are
124
+ accepted.
125
+
126
+ Doctor also runs deterministic drift checks: feature or module memory that references a missing ADR
127
+ is an error, and memory that references a not-yet-accepted ADR is a warning.
128
+
129
+ Exit codes:
130
+
131
+ - `0`: healthy
132
+ - `1`: warnings only
133
+ - `2`: errors
@@ -0,0 +1,3 @@
1
+ # Generic Preset Guidance
2
+
3
+ Use neutral repository memory first. Record architecture choices only after a human accepts them.
@@ -0,0 +1,17 @@
1
+ {
2
+ "version": "0.1.0",
3
+ "templateVersion": "0.1.0",
4
+ "preset": "ios-swift",
5
+ "memoryProfile": "standard",
6
+ "mode": "standard",
7
+ "aiTools": [
8
+ "claude",
9
+ "codex"
10
+ ],
11
+ "docsDir": "docs",
12
+ "featuresDir": "docs/40-features",
13
+ "modulesDir": "docs/30-modules",
14
+ "adrDir": "docs/adrs",
15
+ "writePolicy": "skip-existing",
16
+ "preCommitGates": []
17
+ }
@@ -0,0 +1,9 @@
1
+ #!/bin/sh
2
+ # Recall OS pre-commit hook.
3
+ # Generated by `recall init`. Edit gates in .recall/config.json (preCommitGates),
4
+ # then re-run `recall init --force` to regenerate this hook.
5
+ # Enable once per clone with:
6
+ # git config core.hooksPath .recall/hooks
7
+ set -e
8
+
9
+ recall doctor
@@ -0,0 +1,15 @@
1
+ # generated-ios-swift Agent Instructions
2
+
3
+ This repository uses Recall OS repository memory.
4
+
5
+ Start with durable source-of-truth docs under `docs/`.
6
+
7
+ Required reading:
8
+
9
+ - `docs/00-product/PRD.md`
10
+ - `docs/10-architecture/ARCHITECTURE.md`
11
+ - `docs/20-security/SECURITY_MODEL.md`
12
+ - `docs/50-quality/QUALITY_GATES.md`
13
+ - `docs/60-engineering/ENGINEERING_STANDARDS.md`
14
+
15
+ Repository rules override model preferences. If instructions conflict, stop and report the conflict.
@@ -0,0 +1,7 @@
1
+ # generated-ios-swift Claude Instructions
2
+
3
+ Use this file as a short routing guide.
4
+
5
+ The durable project memory lives in `docs/`. Do not rely on chat history as source of truth.
6
+
7
+ Read `AGENTS.md` and the relevant docs before changing code or repository memory.
@@ -0,0 +1,10 @@
1
+ # iOS Swift Example
2
+
3
+ This folder shows the repository memory generated by:
4
+
5
+ ```bash
6
+ recall init --preset ios-swift
7
+ ```
8
+
9
+ The iOS Swift preset adds platform-aware guidance and proposed decisions. It does not create
10
+ application code or silently accept architecture choices.
@@ -0,0 +1,9 @@
1
+ # BRD: generated-ios-swift
2
+
3
+ ## Purpose
4
+
5
+ Describe the business goal, target users, and success criteria for this repository.
6
+
7
+ ## Current Status
8
+
9
+ Draft.
@@ -0,0 +1,13 @@
1
+ # PRD: generated-ios-swift
2
+
3
+ ## Purpose
4
+
5
+ Describe what this repository is building and why.
6
+
7
+ ## Current Status
8
+
9
+ Draft.
10
+
11
+ ## Notes
12
+
13
+ Keep product intent durable here. Do not rely on chat history as source of truth.
@@ -0,0 +1,11 @@
1
+ # Architecture
2
+
3
+ ## Purpose
4
+
5
+ Describe the accepted architecture for this repository.
6
+
7
+ ## Current Status
8
+
9
+ No architecture decisions are accepted yet.
10
+
11
+ Use ADRs to accept architecture choices.
@@ -0,0 +1,8 @@
1
+ # File Write Policy
2
+
3
+ Default behavior:
4
+
5
+ - Skip existing files.
6
+ - Use dry run before risky writes.
7
+ - Require explicit force to overwrite.
8
+ - Never write outside the repository root.
@@ -0,0 +1,16 @@
1
+ # Repository Memory
2
+
3
+ Repository memory is the durable source of truth for humans and AI agents.
4
+
5
+ Source-of-truth order:
6
+
7
+ 1. Accepted ADRs and repository decisions
8
+ 2. Architecture docs
9
+ 3. Engineering standards
10
+ 4. Current PRD and accepted change requests
11
+ 5. Security and testing docs
12
+ 6. Module docs
13
+ 7. Feature plans
14
+ 8. Task files
15
+ 9. External context
16
+ 10. Chat history
@@ -0,0 +1,11 @@
1
+ # Security Model
2
+
3
+ ## Current Status
4
+
5
+ Draft.
6
+
7
+ ## Baseline Rules
8
+
9
+ - Do not commit secrets.
10
+ - Do not read or copy `.env` files into docs.
11
+ - Do not add network, telemetry, cloud, MCP runtime, or AI API behavior without explicit review.
@@ -0,0 +1,7 @@
1
+ # Threat Model
2
+
3
+ ## Current Status
4
+
5
+ Draft.
6
+
7
+ Track repository-specific risks here as the project evolves.
@@ -0,0 +1,17 @@
1
+ # Module Memory
2
+
3
+ Module memory records what each important module owns, how it should be tested, and which decisions
4
+ affect it.
5
+
6
+ Future module folders should use:
7
+
8
+ ```txt
9
+ docs/30-modules/<module>/
10
+ MODULE.md
11
+ TASKS.md
12
+ TEST_PLAN.md
13
+ DECISIONS.md
14
+ ```
15
+
16
+ Agents should update module memory when implementation changes responsibilities, boundaries, tests,
17
+ risks, or decisions.
@@ -0,0 +1,22 @@
1
+ # Feature Memory
2
+
3
+ Feature memory records requirements, acceptance criteria, plans, tests, reviews, and completion
4
+ evidence.
5
+
6
+ Future feature folders should use:
7
+
8
+ ```txt
9
+ docs/40-features/F-###-<feature>/
10
+ PRD.md
11
+ ACCEPTANCE.md
12
+ ARCHITECTURE_IMPACT.md
13
+ CHANGE_REQUESTS.md
14
+ PLAN.md
15
+ TASKS.md
16
+ TEST_PLAN.md
17
+ REVIEW.md
18
+ COMPLETION_REPORT.md
19
+ ```
20
+
21
+ Agents should not implement meaningful feature work without a feature plan or clear source-of-truth
22
+ reference.
@@ -0,0 +1,11 @@
1
+ # Quality Gates
2
+
3
+ Do not claim completion without evidence.
4
+
5
+ Completion evidence should include:
6
+
7
+ - Files changed.
8
+ - Tests run.
9
+ - Results.
10
+ - Skipped checks.
11
+ - Remaining risks.
@@ -0,0 +1,5 @@
1
+ # Testing Strategy
2
+
3
+ Tests should derive from acceptance criteria, risk, security invariants, and module boundaries.
4
+
5
+ Document required unit, integration, security, and golden tests as the repository grows.
@@ -0,0 +1,6 @@
1
+ # AI Agent Rules
2
+
3
+ AI agents must follow repository memory over model preference.
4
+
5
+ If a request conflicts with accepted repository memory or engineering standards, stop and report the
6
+ conflict.
@@ -0,0 +1,11 @@
1
+ # Engineering Standards
2
+
3
+ Repository rules override model preferences.
4
+
5
+ Baseline rules:
6
+
7
+ - Never commit secrets.
8
+ - Keep changes scoped.
9
+ - Update docs when behavior or architecture changes.
10
+ - Add tests or document why tests were skipped.
11
+ - Do not claim completion without evidence.
@@ -0,0 +1,5 @@
1
+ # Architecture Decision Records
2
+
3
+ Accepted architecture choices belong here.
4
+
5
+ Presets and AI agents may propose decisions, but humans accept them.
@@ -0,0 +1,23 @@
1
+ # Proposed ADR: Use MVVM
2
+
3
+ ## Status
4
+
5
+ Proposed
6
+
7
+ ## Context
8
+
9
+ The app needs a presentation architecture.
10
+
11
+ ## Decision
12
+
13
+ Consider MVVM with observable view models, awaiting human acceptance.
14
+
15
+ ## Alternatives Considered
16
+
17
+ - The Composable Architecture (TCA).
18
+ - Plain views with embedded logic.
19
+
20
+ ## Consequences
21
+
22
+ - Clear separation of UI and state.
23
+ - Teams must agree on view-model conventions.
@@ -0,0 +1,23 @@
1
+ # Proposed ADR: Use async/await and Observation
2
+
3
+ ## Status
4
+
5
+ Proposed
6
+
7
+ ## Context
8
+
9
+ The app needs a concurrency and state-observation approach.
10
+
11
+ ## Decision
12
+
13
+ Consider Swift async/await with the Observation framework, awaiting human acceptance.
14
+
15
+ ## Alternatives Considered
16
+
17
+ - Combine.
18
+ - Completion handlers and delegates.
19
+
20
+ ## Consequences
21
+
22
+ - Structured concurrency and simpler state flow.
23
+ - Requires a recent deployment target.
@@ -0,0 +1,23 @@
1
+ # Proposed ADR: Use SwiftData
2
+
3
+ ## Status
4
+
5
+ Proposed
6
+
7
+ ## Context
8
+
9
+ The app needs local persistence.
10
+
11
+ ## Decision
12
+
13
+ Consider SwiftData for local persistence, awaiting human acceptance.
14
+
15
+ ## Alternatives Considered
16
+
17
+ - Core Data directly.
18
+ - A lightweight store such as GRDB.
19
+
20
+ ## Consequences
21
+
22
+ - Swift-native modeling and SwiftUI integration.
23
+ - Requires a recent deployment target and migration care.
@@ -0,0 +1,24 @@
1
+ # Proposed ADR: Use iOS Swift
2
+
3
+ ## Status
4
+
5
+ Proposed
6
+
7
+ ## Context
8
+
9
+ The team needs a primary platform and language for the iOS application.
10
+
11
+ ## Decision
12
+
13
+ Consider iOS Swift as the platform direction. This is not accepted until a human reviews and accepts
14
+ it.
15
+
16
+ ## Alternatives Considered
17
+
18
+ - Objective-C.
19
+ - A cross-platform stack such as Flutter or React Native.
20
+
21
+ ## Consequences
22
+
23
+ - Native performance and first-class Apple APIs.
24
+ - Requires Swift and Apple toolchain proficiency.
@@ -0,0 +1,23 @@
1
+ # Proposed ADR: Use SwiftUI
2
+
3
+ ## Status
4
+
5
+ Proposed
6
+
7
+ ## Context
8
+
9
+ The app needs a UI framework. SwiftUI and UIKit are the main options.
10
+
11
+ ## Decision
12
+
13
+ Consider SwiftUI as the UI framework, awaiting human acceptance.
14
+
15
+ ## Alternatives Considered
16
+
17
+ - UIKit.
18
+ - A hybrid of SwiftUI and UIKit during migration.
19
+
20
+ ## Consequences
21
+
22
+ - Declarative UI and less boilerplate.
23
+ - Some advanced cases still require UIKit interop.
@@ -0,0 +1,7 @@
1
+ # AI Agents, Skills, And MCP Strategy
2
+
3
+ Root agent files are entry points, not guarantees.
4
+
5
+ Durable memory lives in `docs/`.
6
+
7
+ MCP is optional external context and does not override accepted repository memory.
@@ -0,0 +1,6 @@
1
+ # MCP Strategy
2
+
3
+ MCP is not required for this repository.
4
+
5
+ If MCP is introduced later, document trusted servers, data accessed, permissions, risks, and
6
+ source-of-truth rules.
@@ -0,0 +1,133 @@
1
+ # Recall OS Commands
2
+
3
+ This document records the Recall OS commands available to humans and AI agents.
4
+
5
+ ## Completion Gate
6
+
7
+ Before claiming implementation work is complete, run:
8
+
9
+ ```txt
10
+ pnpm test:run
11
+ pnpm typecheck
12
+ recall doctor
13
+ ```
14
+
15
+ If `recall doctor` reports errors, fix them or report why they cannot be fixed. If it reports
16
+ warnings, address them or record why they are acceptable.
17
+
18
+ Package binary behavior is covered by binary integration tests.
19
+
20
+ ## Commands
21
+
22
+ ### `recall init`
23
+
24
+ Initialize neutral repository memory.
25
+
26
+ Options:
27
+
28
+ - `--preset <id>`: apply optional preset guidance and proposed decisions.
29
+ - `--dry-run`: show planned writes without writing files.
30
+ - `--force`: overwrite existing files explicitly.
31
+ - `--reinit`: required with `--force` to overwrite an existing Recall OS installation (a directory
32
+ that already has `.recall/config.json`). Without it, `--force` refuses, protecting existing
33
+ repository memory.
34
+
35
+ Init also generates a tracked pre-commit hook at `.recall/hooks/pre-commit` that runs
36
+ `recall doctor` plus any `preCommitGates` in `.recall/config.json`. Init proposes, but does not run,
37
+ the activation command `git config core.hooksPath .recall/hooks`.
38
+
39
+ ### `recall adopt`
40
+
41
+ Inspect an existing repository through read-only manifest and marker files, then write a proposed
42
+ adoption report and proposed framework ADRs for human review. Adopt never executes repository code
43
+ and never produces accepted memory.
44
+
45
+ Options:
46
+
47
+ - `--dry-run`: show planned writes without writing files.
48
+ - `--force`: overwrite existing files explicitly.
49
+
50
+ ### `recall skill create <name>`
51
+
52
+ Generate a portable AI agent skill as `SKILL.md` for both Claude Code (`.claude/skills/`) and the
53
+ portable Agent Skills target (`.agents/skills/`). Known names use the built-in catalog; unknown
54
+ names produce a valid skeleton. Generated skills contain no scripts.
55
+
56
+ Options:
57
+
58
+ - `--dry-run`: show planned writes without writing files.
59
+ - `--force`: overwrite existing files explicitly.
60
+
61
+ ### `recall skill list`
62
+
63
+ List the built-in catalog skills.
64
+
65
+ ### `recall mcp add <server>`
66
+
67
+ Generate offline, proposed memory for an MCP server (for example `figma`) as
68
+ `docs/ai/mcp/<server>.md` plus a proposed adoption ADR. Recall OS never connects to the MCP server
69
+ or makes network calls; the agent records durable MCP-derived context into the generated memory for
70
+ human review. It also installs a `capture-mcp-context` agent skill that prompts the agent to record
71
+ that context.
72
+
73
+ Options:
74
+
75
+ - `--dry-run`: show planned writes without writing files.
76
+ - `--force`: overwrite existing files explicitly.
77
+
78
+ ### `recall preset list`
79
+
80
+ List built-in presets.
81
+
82
+ ### `recall feature create <name>`
83
+
84
+ Create feature memory docs under the configured features directory.
85
+
86
+ Options:
87
+
88
+ - `--dry-run`: show planned writes without writing files.
89
+ - `--force`: overwrite existing files explicitly.
90
+
91
+ ### `recall adr create <title>`
92
+
93
+ Create a proposed ADR under the configured ADR directory.
94
+
95
+ Options:
96
+
97
+ - `--dry-run`: show planned writes without writing files.
98
+ - `--force`: overwrite existing files explicitly.
99
+
100
+ ### `recall adr accept <name>`
101
+
102
+ Promote a proposed ADR to accepted repository memory. A proposal under
103
+ `docs/adrs/proposed/ADR-PROPOSED-<slug>.md` becomes a numbered, accepted `ADR-####-<slug>.md` and
104
+ the proposal is removed; an existing numbered Proposed ADR is accepted in place.
105
+
106
+ Options:
107
+
108
+ - `--dry-run`: show planned writes without writing files.
109
+ - `--force`: overwrite existing files explicitly.
110
+
111
+ ### `recall module create <name>`
112
+
113
+ Create module memory docs under the configured modules directory.
114
+
115
+ Options:
116
+
117
+ - `--dry-run`: show planned writes without writing files.
118
+ - `--force`: overwrite existing files explicitly.
119
+
120
+ ### `recall doctor`
121
+
122
+ Check whether repository memory is structurally healthy enough for AI-assisted work, whether basic
123
+ engineering evidence is present, and whether memory references decisions that exist and are
124
+ accepted.
125
+
126
+ Doctor also runs deterministic drift checks: feature or module memory that references a missing ADR
127
+ is an error, and memory that references a not-yet-accepted ADR is a warning.
128
+
129
+ Exit codes:
130
+
131
+ - `0`: healthy
132
+ - `1`: warnings only
133
+ - `2`: errors