isorite 0.12.1 → 0.14.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 (166) hide show
  1. package/README.md +6 -5
  2. package/dist/main.js +6018 -8942
  3. package/docs/setup-for-agents.md +44 -102
  4. package/docs/setup.md +27 -90
  5. package/docs/terminal.md +54 -55
  6. package/guide/AGENTS.md +4 -0
  7. package/guide/atlas/find-what-it-rests-on.md +9 -0
  8. package/guide/atlas/the-atlas.md +21 -0
  9. package/guide/atlas/the-switches/satellites.svg +17 -0
  10. package/guide/atlas/the-switches.md +27 -0
  11. package/guide/iso/agents-md.md +13 -0
  12. package/guide/iso/artifacts/the-guide.csv +8 -0
  13. package/guide/iso/artifacts/the-guide.html +35 -0
  14. package/guide/iso/artifacts.md +15 -0
  15. package/guide/iso/ask-iso.md +7 -0
  16. package/guide/iso/give-it-notes.md +9 -0
  17. package/guide/iso/in-hand.md +18 -0
  18. package/guide/iso/iso-writes-marked.md +15 -0
  19. package/guide/iso/iso.md +17 -0
  20. package/guide/iso/let-it-write.md +11 -0
  21. package/guide/iso/write-agents-md.md +11 -0
  22. package/guide/notes/a-note-is-markdown.md +17 -0
  23. package/guide/notes/a-notes-details.md +23 -0
  24. package/guide/notes/diagrams-and-code.md +43 -0
  25. package/guide/notes/every-change-is-kept.md +14 -0
  26. package/guide/notes/folders.md +11 -0
  27. package/guide/notes/go-back-a-version.md +9 -0
  28. package/guide/notes/link-your-notes.md +9 -0
  29. package/guide/notes/links-and-their-kinds.md +23 -0
  30. package/guide/notes/make-move-delete.md +9 -0
  31. package/guide/notes/write-in-your-notes.md +9 -0
  32. package/guide/out-of-the-base/web-and-code-links.md +13 -0
  33. package/guide/questions-and-problems/ask-a-question.md +9 -0
  34. package/guide/questions-and-problems/how-iso-reads-you.md +9 -0
  35. package/guide/questions-and-problems/problems.md +15 -0
  36. package/guide/questions-and-problems/questions.md +27 -0
  37. package/guide/questions-and-problems/resolve-a-question.md +9 -0
  38. package/guide/questions-and-problems/why-markdown-links.md +7 -0
  39. package/guide/solve-this-one.md +11 -0
  40. package/guide/start-here.md +39 -0
  41. package/guide/terminal/let-the-agent-remember.md +9 -0
  42. package/guide/terminal/memory.md +13 -0
  43. package/guide/terminal/your-own-agent.md +24 -0
  44. package/guide/your-notes.md +6 -0
  45. package/guide/your-own-base/keeping-a-base-well.md +16 -0
  46. package/guide/your-own-base/starting-a-base.md +21 -0
  47. package/package.json +4 -7
  48. package/web/_app/immutable/assets/0.BPP604gH.css +1 -0
  49. package/web/_app/immutable/assets/4.fOHsAKBF.css +1 -0
  50. package/web/_app/immutable/assets/drawn.D6lJzDcc.css +1 -0
  51. package/web/_app/immutable/chunks/{D5XlJBy8.js → B-DzK7Gb.js} +1 -1
  52. package/web/_app/immutable/chunks/{BuUzVkG2.js → B35sQTcK.js} +1 -1
  53. package/web/_app/immutable/chunks/{Dh1lBxfx.js → BA78_vo5.js} +1 -1
  54. package/web/_app/immutable/chunks/{tUSDgbpy.js → BCGaqnao.js} +1 -1
  55. package/web/_app/immutable/chunks/{DT2w6KyY.js → BGW1TKtR.js} +1 -1
  56. package/web/_app/immutable/chunks/{EMo1IeTW.js → BK31dpt6.js} +1 -1
  57. package/web/_app/immutable/chunks/BPrp4s2r.js +1 -0
  58. package/web/_app/immutable/chunks/{DlXrOzlh.js → BT_btfh0.js} +1 -1
  59. package/web/_app/immutable/chunks/{Xm0YTnxV.js → BWE_HS0c.js} +1 -1
  60. package/web/_app/immutable/chunks/{BLmF1B2i.js → BXBhaEho.js} +1 -1
  61. package/web/_app/immutable/chunks/{BAclEN0O.js → Bb_N98K9.js} +1 -1
  62. package/web/_app/immutable/chunks/{gPtCGHiy.js → Bd-WxALw.js} +1 -1
  63. package/web/_app/immutable/chunks/{BA8Hpxhg.js → BhEqJU15.js} +1 -1
  64. package/web/_app/immutable/chunks/{DkxkvOjx.js → BiATTH-R.js} +1 -1
  65. package/web/_app/immutable/chunks/{D5vocsTl.js → Bj-5n5Pb.js} +1 -1
  66. package/web/_app/immutable/chunks/{DRX-TQzj.js → BqipEJXw.js} +1 -1
  67. package/web/_app/immutable/chunks/{DXTK-eyo.js → BvPxdlBc.js} +1 -1
  68. package/web/_app/immutable/chunks/{DfCZPwp1.js → C2npZzkn.js} +1 -1
  69. package/web/_app/immutable/chunks/{DF89zyH-.js → C5Z-Y7Lu.js} +1 -1
  70. package/web/_app/immutable/chunks/{CD6xPodA.js → C8h1oeAZ.js} +1 -1
  71. package/web/_app/immutable/chunks/{CFEI5lV9.js → CAlIuau0.js} +1 -1
  72. package/web/_app/immutable/chunks/{9z49435t.js → CFf_dAzX.js} +1 -1
  73. package/web/_app/immutable/chunks/{rq7JUohF.js → CIYFNih-.js} +1 -1
  74. package/web/_app/immutable/chunks/{D3-rqfsM.js → CMIt1Ma8.js} +1 -1
  75. package/web/_app/immutable/chunks/{-2Meesge.js → CMikI1NP.js} +3 -3
  76. package/web/_app/immutable/chunks/{CxAq1aod.js → CPSlCQsu.js} +74 -74
  77. package/web/_app/immutable/chunks/{Czz9qOh8.js → CT4_O9X_.js} +1 -1
  78. package/web/_app/immutable/chunks/{DX4bJJO0.js → CTDYUZPz.js} +1 -1
  79. package/web/_app/immutable/chunks/{By4S_gy5.js → CdY1G_wk.js} +1 -1
  80. package/web/_app/immutable/chunks/{DBC2xjOo.js → CdmC_l9F.js} +1 -1
  81. package/web/_app/immutable/chunks/{DbNETcPs.js → Cf-5I5_6.js} +1 -1
  82. package/web/_app/immutable/chunks/Cl5gQm2e.js +1 -0
  83. package/web/_app/immutable/chunks/{BWVMfAMh.js → CryuQgNh.js} +1 -1
  84. package/web/_app/immutable/chunks/{CT_Ry4q8.js → Ct_EK1xu.js} +1 -1
  85. package/web/_app/immutable/chunks/{BymwHy7o.js → CtkUy_15.js} +1 -1
  86. package/web/_app/immutable/chunks/{Dpa4Syyy.js → CzYPMYd4.js} +1 -1
  87. package/web/_app/immutable/chunks/{RlApGeew.js → D1LK3xRu.js} +1 -1
  88. package/web/_app/immutable/chunks/{DXK7PB4g.js → D6sVhEz3.js} +1 -1
  89. package/web/_app/immutable/chunks/{94XMxKlw.js → DBLoWLMb.js} +1 -1
  90. package/web/_app/immutable/chunks/{rghE0CVz.js → DCZYeMlH.js} +1 -1
  91. package/web/_app/immutable/chunks/{RFxekmX-.js → DDAG55ce.js} +1 -1
  92. package/web/_app/immutable/chunks/DFKYo3Wx.js +1 -0
  93. package/web/_app/immutable/chunks/{CyFLqlvP.js → DFuPQaNa.js} +1 -1
  94. package/web/_app/immutable/chunks/{BXAOBcPb.js → DHJ8FcFD.js} +1 -1
  95. package/web/_app/immutable/chunks/{Bt7VOT5H.js → DKqMzyyE.js} +1 -1
  96. package/web/_app/immutable/chunks/{Bq2GBAJ0.js → DRcTlHZP.js} +1 -1
  97. package/web/_app/immutable/chunks/{C_amgxV1.js → DjUnonHY.js} +1 -1
  98. package/web/_app/immutable/chunks/{whhiiiga.js → Djr0h_v1.js} +1 -1
  99. package/web/_app/immutable/chunks/{vfDvz3qP.js → DrVtdHUW.js} +1 -1
  100. package/web/_app/immutable/chunks/DxVFSMVD.js +523 -0
  101. package/web/_app/immutable/chunks/{BBHd0LvJ.js → DymLl-qY.js} +1 -1
  102. package/web/_app/immutable/chunks/{DSYLdqdc.js → Dzi94aDH.js} +1 -1
  103. package/web/_app/immutable/chunks/{CmExTt6_.js → NyWzYSz1.js} +1 -1
  104. package/web/_app/immutable/chunks/{oWM_kgYq.js → PsfIQCJ1.js} +1 -1
  105. package/web/_app/immutable/chunks/{Cl5zRP_n.js → TanDZqdf.js} +1 -1
  106. package/web/_app/immutable/chunks/{D95RKsvN.js → UDPiRmKc.js} +1 -1
  107. package/web/_app/immutable/chunks/X3aTZRe_.js +1 -0
  108. package/web/_app/immutable/chunks/{BTclWEfx.js → ZwM5k8r0.js} +1 -1
  109. package/web/_app/immutable/chunks/e2LGvGEb.js +3 -0
  110. package/web/_app/immutable/chunks/ej_0XxR7.js +1 -0
  111. package/web/_app/immutable/chunks/{CjtKPNlv.js → kG4HctVa.js} +1 -1
  112. package/web/_app/immutable/chunks/{CQd9D8Nc.js → l1LsK1sB.js} +1 -1
  113. package/web/_app/immutable/entry/app.BzA5QYtw.js +2 -0
  114. package/web/_app/immutable/entry/start.BOh0Gj31.js +1 -0
  115. package/web/_app/immutable/nodes/0.BmaxMLzC.js +2 -0
  116. package/web/_app/immutable/nodes/1.IQDu8pD1.js +1 -0
  117. package/web/_app/immutable/nodes/2.D2Oi-ADx.js +1 -0
  118. package/web/_app/immutable/nodes/3.CF1W85jb.js +1 -0
  119. package/web/_app/immutable/nodes/4.BMYBn904.js +15 -0
  120. package/web/_app/immutable/nodes/5.1vm6WZdM.js +1 -0
  121. package/web/_app/immutable/nodes/6.C9ia8cDm.js +1 -0
  122. package/web/_app/version.json +1 -1
  123. package/web/index.html +16 -19
  124. package/dist/core.js +0 -2464
  125. package/plugin/assets/mark-lapis.png +0 -0
  126. package/plugin/assets/mark-quartz.png +0 -0
  127. package/plugin/assets/wordmark-lapis.png +0 -0
  128. package/plugin/assets/wordmark-quartz.png +0 -0
  129. package/plugin/isorite.ts +0 -65
  130. package/plugin/logo.ts +0 -99
  131. package/plugin/notepage.tsx +0 -165
  132. package/plugin/notes.ts +0 -10
  133. package/plugin/noteview.ts +0 -60
  134. package/plugin/oneatlas.ts +0 -83
  135. package/plugin/palette.ts +0 -21
  136. package/plugin/play.ts +0 -104
  137. package/plugin/server.ts +0 -76
  138. package/plugin/sources.ts +0 -18
  139. package/plugin/tui.tsx +0 -556
  140. package/plugin/wordmark.ts +0 -180
  141. package/web/_app/immutable/assets/0.DqoJ_jEe.css +0 -1
  142. package/web/_app/immutable/assets/4.CUdclsPi.css +0 -1
  143. package/web/_app/immutable/assets/5.rBvyRuST.css +0 -1
  144. package/web/_app/immutable/assets/Drawing.Q7J9MyIo.css +0 -1
  145. package/web/_app/immutable/assets/NoteEditor.S3q5lmKq.css +0 -1
  146. package/web/_app/immutable/assets/Timeline.LsRXYIBv.css +0 -1
  147. package/web/_app/immutable/chunks/9TpKhtgt.js +0 -1
  148. package/web/_app/immutable/chunks/BMcDEv5V.js +0 -1
  149. package/web/_app/immutable/chunks/BqrMZ9MX.js +0 -1
  150. package/web/_app/immutable/chunks/ChbZenhA.js +0 -7
  151. package/web/_app/immutable/chunks/CnR51TY0.js +0 -1
  152. package/web/_app/immutable/chunks/DMzXaGgk.js +0 -523
  153. package/web/_app/immutable/chunks/DshHzxgH.js +0 -1
  154. package/web/_app/immutable/chunks/Iqr2CudW.js +0 -3
  155. package/web/_app/immutable/chunks/wQPxmN7w.js +0 -1
  156. package/web/_app/immutable/entry/app.Z7pwf_yI.js +0 -2
  157. package/web/_app/immutable/entry/start.B_WWh0TE.js +0 -1
  158. package/web/_app/immutable/nodes/0.zgVqViQf.js +0 -26
  159. package/web/_app/immutable/nodes/1.D06ogNcd.js +0 -1
  160. package/web/_app/immutable/nodes/2.Xq8_UpCY.js +0 -1
  161. package/web/_app/immutable/nodes/3.CgpZ3cDm.js +0 -1
  162. package/web/_app/immutable/nodes/4.DQfZbhoQ.js +0 -2
  163. package/web/_app/immutable/nodes/5.BqLxxB44.js +0 -9
  164. package/web/_app/immutable/nodes/6.Dg2_pK7R.js +0 -1
  165. package/web/_app/immutable/nodes/7.BpxHVHoY.js +0 -1
  166. /package/web/_app/immutable/assets/{7.C00vyVPo.css → 6.C00vyVPo.css} +0 -0
@@ -0,0 +1,4 @@
1
+ These notes are about isorite itself: the app they are read in.
2
+
3
+ - Answer from them, and link the notes you used. Where they do not say, say so, and answer only what you are sure of.
4
+ - The reader is learning isorite. Point them to the problem that practises what they ask about, rather than doing it for them.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Problem
3
+ title: Find what it rests on
4
+ uses: [atlas/the-atlas]
5
+ ---
6
+
7
+ From the Atlas only, without following a link in a note, find what [what the agent has in hand](/iso/in-hand.md) requires, and open it.
8
+
9
+ Then switch on Iso's context on the Atlas (Alt+C), and switch it off again.
@@ -0,0 +1,21 @@
1
+ ---
2
+ type: Concept
3
+ title: The Atlas
4
+ description: The map of the base, drawn from what rests on what.
5
+ ---
6
+
7
+ The Atlas is the base as a map. Each note is a block, each folder a frame, and each [link](/notes/links-and-their-kinds.md "requires") a line. Notes are placed so that what a note requires stands before it, along its folder's way, and the lines between folders run as trunks along the gaps.
8
+
9
+ - **Click a note** to choose it: it lights with its links, the notes it rests on and the notes that rest on it, and the rest dims. **Click it again** to open it in the Note pane. Click one it rests on to step back to it, the way kept lit; click open ground to let go.
10
+ - **Click a folder** to bring it to the screen, and again to step out to the folder it is in. Folders open as you zoom in on them and close to one block as you zoom out: see [folders](/notes/folders.md "see also").
11
+ - **Shift+click a note**, or hold on it, to give it to [Iso](/iso/iso.md "see also"). On a phone, a long press offers it.
12
+ - **Hold on open ground** to make a note there.
13
+ - Drag the ground to move about, and pinch or scroll to zoom.
14
+
15
+ The note open in the Note pane has a bar inside its left edge. When it is off the screen, a pip at the Atlas's edge points to it: click the pip to bring it into view. A link under the mouse, in a note or in the agent's answer, is outlined on the map with its line lit, and a note under the mouse on the map marks the open note's links to it.
16
+
17
+ The layout changes as the base does, but starts from where it was, so the map you know moves as little as it can.
18
+
19
+ Open [questions](/questions-and-problems/questions.md "see also") and [problems](/questions-and-problems/problems.md "see also") are on the map too, each beside the notes it is about, and a solved problem shows it.
20
+
21
+ What it shows besides is chosen by [the switches](/atlas/the-switches.md "see also").
@@ -0,0 +1,17 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 132" width="360" height="132" font-family="ui-monospace, Menlo, monospace" font-size="11">
2
+ <rect x="0.5" y="0.5" width="359" height="131" fill="#f1efe9" stroke="#b9b4a8"/>
3
+ <text x="14" y="20" fill="#6d6a63">combat</text>
4
+ <rect x="14" y="30" width="150" height="64" fill="#f7f6f2" stroke="#7a7770"/>
5
+ <text x="24" y="50" fill="#2b2a27" font-family="Georgia, serif" font-size="13">Hitboxes</text>
6
+ <g fill="#f7f6f2" stroke="#9d998f">
7
+ <rect x="176" y="30" width="26" height="26"/><rect x="210" y="30" width="26" height="26"/><rect x="244" y="30" width="26" height="26"/><rect x="278" y="30" width="26" height="26"/>
8
+ </g>
9
+ <g fill="none" stroke="#3a6fb0" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round">
10
+ <circle cx="189" cy="43" r="7"/><path d="M182 43h14M189 36c-2.6 3.6-2.6 10.4 0 14M189 36c2.6 3.6 2.6 10.4 0 14"/>
11
+ <path d="M220 38.5l-4.5 4.5 4.5 4.5M226 38.5l4.5 4.5-4.5 4.5M224.5 37l-3 12"/>
12
+ </g>
13
+ <rect x="245" y="31" width="24" height="24" fill="#c9824f"/><path d="M245 50l7-7 5 5 4-4 8 8v3h-24z" fill="#5d7f4a"/><circle cx="262" cy="37" r="2.5" fill="#f3e3b5"/>
14
+ <rect x="279" y="31" width="24" height="24" fill="#8fb3d9"/><path d="M283 52l6-14 6 14z M292 52l5-9 5 9z" fill="#48678f"/>
15
+ <text x="176" y="74" fill="#6d6a63">web code pictures</text>
16
+ <text x="14" y="116" fill="#6d6a63">its links out, and the pictures it shows, beside it</text>
17
+ </svg>
@@ -0,0 +1,27 @@
1
+ ---
2
+ type: Concept
3
+ title: The switches
4
+ description: Each pane's header switches choose what it shows, and what an attached agent may do.
5
+ ---
6
+
7
+ Each pane's header has a row of small icons. Each is a switch: it says what it is when you hover on it, and when on it takes its colour, with a bar under it. Each has a key.
8
+
9
+ **The note:**
10
+ - Provenance, whose words are whose (Alt+P).
11
+ - The timeline (Alt+T). Both are in [every change is kept](/notes/every-change-is-kept.md "uses").
12
+
13
+ **The Atlas:**
14
+ - Open questions (Alt+Q) and problems (Alt+B), on the map.
15
+ - Links to the web (Alt+W) and to code (Alt+K): see [links out of the base](/out-of-the-base/web-and-code-links.md "see also").
16
+ - Files beside the notes (Alt+I): pictures, [artifacts](/iso/artifacts.md "see also"), data and documents, each in its folder with its kind's mark, joined to the notes that cite them. A note's pasted pictures are one item.
17
+ - Iso's context (Alt+C): what the agent's session was given, what it read and what it changed, marked on the map.
18
+
19
+ **Iso:**
20
+ - May agents edit the notes (Alt+N). On unless you switch it off, and kept with the base rather than in the browser, so it holds for an agent in its own terminal too: its tools for writing notes and artifacts are refused, and so is asking to edit a note's file. An agent whose own tools change a file without asking can't be stopped; the change is still kept, under its name, to put back.
21
+ - With an agent attached, may it edit the project's files (Alt+F) and run commands (Alt+R): what it asks to do that is switched off is refused. See [your own agent](/terminal/your-own-agent.md "see also").
22
+
23
+ ![A note on the Atlas with a link to the web, one to code and two pictures beside it](the-switches/satellites.svg)
24
+
25
+ At the right of each header, its settings: for the note, the layout of the panes and which are shown.
26
+
27
+ The switches show; they never change the notes. [The Atlas](/atlas/the-atlas.md "requires") is where most of them show.
@@ -0,0 +1,13 @@
1
+ ---
2
+ type: Concept
3
+ title: AGENTS.md
4
+ description: Your base's instructions, for every agent you attach.
5
+ ---
6
+
7
+ A file named `AGENTS.md` at the top of the base holds what any agent should know about working in it: your notation, the level you write at, the language, how you name notes. It is a file and not a note: it is not on the Atlas.
8
+
9
+ Every agent you attach is given it, with isorite's brief of the base, the first thing it reads. The name is the one other agents use.
10
+
11
+ Edit it in Iso's settings. An agent may offer lines for it, when it notices a way of working worth keeping; you choose whether to take them.
12
+
13
+ This guide has one: it asks the agent to answer from the guide and to point you to the problems.
@@ -0,0 +1,8 @@
1
+ folder,notes,questions_and_problems
2
+ atlas,3,0
3
+ iso,10,0
4
+ notes,10,0
5
+ out-of-the-base,1,0
6
+ questions-and-problems,6,3
7
+ terminal,4,0
8
+ your-own-base,2,0
@@ -0,0 +1,35 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>The guide in numbers</title>
6
+ <meta name="description" content="How many notes each of the guide's folders holds: an artifact on the kit, from one data file, in markup only.">
7
+ <meta name="author" content="Iso">
8
+ <meta name="date" content="2026-10-28">
9
+ <meta name="isorite:kit" content="1">
10
+ <meta name="isorite:uses" content="the-guide.csv">
11
+ </head>
12
+ <body>
13
+ <iso-page>
14
+ <header>
15
+ <h1>The guide in numbers</h1>
16
+ <p>Where the guide spends its notes.</p>
17
+ </header>
18
+ <iso-grid>
19
+ <iso-panel class="wide">
20
+ <h2>In all</h2>
21
+ <iso-stats>
22
+ <iso-stat data="the-guide.csv" column="notes" of="sum" label="notes" tone="blue"></iso-stat>
23
+ <iso-stat data="the-guide.csv" column="folder" of="count" label="folders"></iso-stat>
24
+ <iso-stat data="the-guide.csv" column="notes" of="max" label="the most in one folder" tone="gold"></iso-stat>
25
+ </iso-stats>
26
+ </iso-panel>
27
+ <iso-panel class="wide">
28
+ <h2>Notes by folder</h2>
29
+ <iso-chart data="the-guide.csv" type="bar" x="folder" y="notes" y-label="notes" height="220"></iso-chart>
30
+ <p>The notes and Iso take the most explaining; the base itself, the least.</p>
31
+ </iso-panel>
32
+ </iso-grid>
33
+ </iso-page>
34
+ </body>
35
+ </html>
@@ -0,0 +1,15 @@
1
+ ---
2
+ type: Concept
3
+ title: Artifacts
4
+ description: A page beside your notes that works, such as a dashboard of your data or a simulation.
5
+ ---
6
+
7
+ An artifact is an HTML file beside your notes that isorite shows working: a dashboard of a data file, two runs compared, a simulation you can play, an explanation you can change and watch, a 3D model you can turn. It is a file like any other in the base, on the Atlas with the [files beside the notes](/atlas/the-switches.md "see also"), and opened in the Note pane.
8
+
9
+ Shown in a note, with the picture's syntax, it works in place:
10
+
11
+ ![The guide in numbers](/iso/artifacts/the-guide.html)
12
+
13
+ Ask your agent in [Iso](/iso/iso.md "uses")'s pane for one: "a dashboard of runs.csv", "a simulation of this note's model". It builds it with isorite's tools, on isorite's kit, which gives it its look, so it reads as the rest of isorite does, and the plain look is a press away. It reaches nothing outside itself: no network, only the data files it names. And "standalone" saves it as one file, with its data inside, that opens anywhere.
14
+
15
+ Its artifacts are checked and run before they are written, and [marked](/iso/iso-writes-marked.md "see also") and put back as its notes are: [every change is kept](/notes/every-change-is-kept.md "see also").
@@ -0,0 +1,7 @@
1
+ ---
2
+ type: Problem
3
+ title: Ask in Iso's pane
4
+ uses: [iso/iso]
5
+ ---
6
+
7
+ Ask in Iso's pane what a problem note is for. Open a note it links in its answer, and find the notes it drew on under its reply.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Problem
3
+ title: Give it notes
4
+ uses: [iso/in-hand]
5
+ ---
6
+
7
+ Give the agent a note from the Atlas (shift+click it, or hold on it, or drag it to Iso's pane), and a passage from a note (select it, and send it to Iso). Open the Context view and find both in the tray, and take one out.
8
+
9
+ Then ask something about the other.
@@ -0,0 +1,18 @@
1
+ ---
2
+ type: Concept
3
+ title: What the agent has in hand
4
+ description: The Context view, as far as isorite can see into the agent's session.
5
+ ---
6
+
7
+ The gauge in Iso's header shows how full the agent's context is, as the agent says. Click it for the Context view: a column in layers, as wide as each part's share of what the model takes.
8
+
9
+ - **isorite's**: its instructions and its tools, as isorite gives them to every session.
10
+ - **Notes**: those you gave the session, and those it read, listed under the column.
11
+ - **The rest**: the harness's own instructions and the conversation.
12
+ - **Room**: what is left.
13
+
14
+ Below it is the tray: what goes before the next prompt, asked here or in the agent's front end. Take a part out with ✕.
15
+
16
+ What the agent dropped when it compacted its conversation can't be seen from here, and the view says so. It needs [Iso](/iso/iso.md "requires")'s pane to be showing a session.
17
+
18
+ On the Atlas, the context switch (Alt+C) marks what the session gave, read and changed.
@@ -0,0 +1,15 @@
1
+ ---
2
+ type: Concept
3
+ title: The agent writes, marked
4
+ description: An agent's changes are made, marked as its own, with what you asked, and put back from the timeline.
5
+ ---
6
+
7
+ An agent attached to your base changes your notes when you ask it to, without asking you to accept each change first, whether it writes through isorite's tools or edits the file with its own. It is safe because [every change is kept](/notes/every-change-is-kept.md "requires"):
8
+
9
+ - Each change is entered in the note's history under the agent's name, with what you had asked it.
10
+ - Its words are marked as its own, with provenance on (Alt+P), until you edit them.
11
+ - The note's timeline puts back any version: a change undone is a change of its own.
12
+
13
+ An agent can also offer words rather than write them: "insert" puts them in the note as your own, since you chose them. And it can ask a question back, which you keep as a question note, or not.
14
+
15
+ isorite asks it not to put words in your notes you did not ask for, and to suggest splitting or merging notes rather than doing it.
@@ -0,0 +1,17 @@
1
+ ---
2
+ type: Concept
3
+ title: Iso
4
+ description: The pane where your own agent works in your base, and the way of working isorite asks of it.
5
+ ---
6
+
7
+ isorite does not bring an agent of its own: it attaches to the one you already use (Claude, Codex, OpenCode, omp, Hermes, or any that speaks ACP). Iso is the pane where that agent's session shows, beside your notes and the Atlas, and the way of working isorite asks of it: cite the notes in the sentence, ask a question back rather than supply what you don't know, offer your own words rather than write over them.
8
+
9
+ The agent has your knowledge base as tools: it searches the notes, reads them, follows their links, and answers from them, with links to the notes it used. What it reads lights on the Atlas, and once a turn is over, the notes it drew on stand under its reply. How to attach one is in [your own agent](/terminal/your-own-agent.md "uses").
10
+
11
+ Ask in the box at the foot of the pane, or in the agent's own front end: the session is the same. Notes you give it go in [the tray](/iso/give-it-notes.md "see also"), before your next prompt. What it has in hand is in [the Context view](/iso/in-hand.md "see also").
12
+
13
+ It may change your notes through isorite, and [its words are marked](/iso/iso-writes-marked.md "see also"). It can build [artifacts](/iso/artifacts.md "see also"): pages that work, from your data. How it should work in your base is [AGENTS.md](/iso/agents-md.md "see also"). What it may do in the project around the base (edit its files, run commands) is set by the pane's [switches](/atlas/the-switches.md "uses").
14
+
15
+ isorite asks it to help you understand rather than understand for you: to read [where you stand](/questions-and-problems/how-iso-reads-you.md "see also") from your notes, to check a [problem](/questions-and-problems/problems.md "see also")'s solution rather than solve it, and to keep your notes in your words.
16
+
17
+ On the guide's own site no agent can be attached, and the guide's finder stands in for one, and says so: it answers with the notes that match what you ask.
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: Problem
3
+ title: Let it write
4
+ uses: [iso/iso-writes-marked]
5
+ ---
6
+
7
+ With your own agent attached, give it [your notes](/your-notes.md) and ask it to add a link to a guide note that suits them.
8
+
9
+ See its words marked in your notes, with provenance on. Then put the note back as it was, from its timeline.
10
+
11
+ This needs isorite of your own, not the guide's site: see [starting a base](/your-own-base/starting-a-base.md).
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: Problem
3
+ title: Write an AGENTS.md
4
+ uses: [iso/agents-md]
5
+ ---
6
+
7
+ In a base of your own, write an AGENTS.md of three lines or so: your notation, your level, and one thing you want the agent to do or not do.
8
+
9
+ Then ask your agent something, and see whether it follows it.
10
+
11
+ This needs isorite of your own, not the guide's site: see [starting a base](/your-own-base/starting-a-base.md).
@@ -0,0 +1,17 @@
1
+ ---
2
+ type: Concept
3
+ title: A note is Markdown
4
+ description: A note is a Markdown file, written as you read it.
5
+ ---
6
+
7
+ Every note is a Markdown file in the base's folder, and the folder is the base: you can open it in any editor, keep it in git, or copy it away. isorite keeps its own records beside the notes, in `.isorite/`.
8
+
9
+ The Note pane shows Markdown as it reads, and shows its marks only on the line you are writing in:
10
+
11
+ - `**bold**` and `*italic*`, `# headings`, lists and `> quotes`.
12
+ - Maths between dollars, `$E = mc^2$` in a line or `$$…$$` on its own, as $\int_0^1 x\,dx = \tfrac12$.
13
+ - Code in backticks, and in fenced blocks, coloured by its language; and [diagrams](/notes/diagrams-and-code.md "see also") written in Mermaid.
14
+
15
+ There is nothing to save: what you type is kept as you type it, and [every change is kept](/notes/every-change-is-kept.md "see also").
16
+
17
+ Notes are joined by [links](/notes/links-and-their-kinds.md "see also"), and say what they are in [their details](/notes/a-notes-details.md "see also").
@@ -0,0 +1,23 @@
1
+ ---
2
+ type: Concept
3
+ title: A note's details
4
+ description: A note's type, title, description and tags, at its top.
5
+ ---
6
+
7
+ A note starts with its details, between two lines of `---`:
8
+
9
+ ```markdown
10
+ ---
11
+ type: Concept
12
+ title: Leapfrog
13
+ description: A step that keeps energy bounded.
14
+ tags: [integrators]
15
+ ---
16
+ ```
17
+
18
+ - **type** is what the note is: a `Concept`, the usual; a `Question` (see [questions](/questions-and-problems/questions.md "see also")); or a `Problem` (see [problems](/questions-and-problems/problems.md "see also")).
19
+ - **title** is its name, on the Atlas and in links. The file's name is apart from it.
20
+ - **description** says the idea in a line. An agent reads it first, when it looks through the base, so a good one helps it find the note.
21
+ - **tags**, if you want them.
22
+
23
+ The Note pane shows them in its label, under the title, and changes them there: the description is the italic line, the kind is one of three, the tags are in brackets, and pressing the folder or the name moves or renames the file. Deleting a note is in the Note pane's menu.
@@ -0,0 +1,43 @@
1
+ ---
2
+ type: Concept
3
+ title: Diagrams and code
4
+ description: A fenced block of code is coloured by its language, one written in Mermaid is drawn as a diagram, and a picture is shown in place.
5
+ ---
6
+
7
+ Name a fenced block's language after its opening fence, and its code is coloured by it:
8
+
9
+ ```python
10
+ def leapfrog(x, v, a, dt):
11
+ """One step: half a kick, a drift, half a kick."""
12
+ v = v + 0.5 * dt * a(x)
13
+ x = x + dt * v
14
+ return x, v + 0.5 * dt * a(x) # the second half kick
15
+ ```
16
+
17
+ In the Note pane's settings, *the code* chooses colour, or ink as in print: keywords bold and comments faint.
18
+
19
+ A block whose language is `mermaid` is drawn as a diagram, and stays Mermaid in the file:
20
+
21
+ ```mermaid
22
+ flowchart LR
23
+ note[A note] -->|requires| other[The notes it rests on]
24
+ note -->|uses| tool[What it uses]
25
+ other --> atlas[(The Atlas)]
26
+ ```
27
+
28
+ Put the cursor in it to change it: its source shows, and the diagram beneath it is drawn again as you type. A diagram that can't be drawn says why, in the line and column of its source. Maths in a label goes between double dollars, as Mermaid has it:
29
+
30
+ ```mermaid
31
+ flowchart TB
32
+ m["$$\mathcal{M}$$, a manifold"] -->|"$$T_p\mathcal{M}$$ at each point"| t["$$T\mathcal{M}$$, its tangent bundle"]
33
+ ```
34
+
35
+ Every kind of diagram Mermaid draws is drawn: [flowcharts, sequences, states, classes, timelines and more](https://mermaid.js.org/intro/ "see also"). [Iso](/iso/iso.md "see also") draws one where a picture helps, or when you ask it for one.
36
+
37
+ ## Pictures
38
+
39
+ Paste a picture into a note, or drop one on it. isorite asks for its name, and what it shows, then saves it in a folder named for the note and shows it where you pasted it: `![the player at rest](hitboxes/player-idle.png)`. What it shows is what [Iso](/iso/iso.md "see also") reads of it, since Iso can't see the picture. The same picture pasted twice is one file.
40
+
41
+ To show a picture that's in the notes already, type `[[!` and choose it: each is listed with a small copy of itself. Any number of notes can show the same picture. `"left"` after its path sets it at the left, with the text beside it: `![a map](map.png "left")`.
42
+
43
+ A picture from your code's repository is shown with `code:`, as a [code link](/out-of-the-base/web-and-code-links.md "see also") is: `![the player](code:assets/player.png)`. One whose file is gone is struck through.
@@ -0,0 +1,14 @@
1
+ ---
2
+ type: Concept
3
+ title: Every change is kept
4
+ description: Every change to a note is kept, with who made it.
5
+ ---
6
+
7
+ isorite keeps every change to every note in a journal, in `.isorite/`, with who made it: you, or an agent you attached (or Iso, before isorite attached your own).
8
+
9
+ Two switches in the Note pane's header show it:
10
+
11
+ - **The timeline** (Alt+T): the note's history as layers in its margin, the newest on top, each as thick as the change was large: yours blue, an agent's gold. Click one to see the note as it was then, and restore it to there if you want it back. Restoring is itself a change, so nothing is lost.
12
+ - **Provenance** (Alt+P): whose words are whose. Words you wrote are plain; words an agent wrote, and you have not touched, are marked. Edit them, and they become yours.
13
+
14
+ This is why [Iso writes, marked](/iso/iso-writes-marked.md "see also"), and why letting it write is safe.
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: Concept
3
+ title: Folders
4
+ description: A base's folders are its parts, and frames on the Atlas.
5
+ ---
6
+
7
+ A base is a folder of notes, and may hold folders, as this guide does: one for notes, one for [the Atlas](/atlas/the-atlas.md "see also"), one for Iso, and so on.
8
+
9
+ A folder is a frame on the Atlas, open when it is big enough on the screen to show its notes, and one block when not. Click it to bring it to the screen; click it again to step out. Links between notes in different folders are drawn between the folders, along the gaps of the map.
10
+
11
+ To make a note, hold still on open ground on the Atlas, inside the folder it belongs in, and let go: "Untitled note" is made where you held, open to type its title over. Hold and drag a little way to make a folder instead. A note can also be moved by changing its folder in its details.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Problem
3
+ title: Go back a version
4
+ uses: [notes/every-change-is-kept]
5
+ ---
6
+
7
+ In [your notes](/your-notes.md), switch the timeline on, look at the note as it was before your last change, and restore it to there.
8
+
9
+ Then look at the timeline again: the restoring is a change of its own.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Problem
3
+ title: Link your notes
4
+ uses: [notes/links-and-their-kinds]
5
+ ---
6
+
7
+ In [your notes](/your-notes.md), link a note of the guide you have read, as one your notes require: its link ends in `"requires"`.
8
+
9
+ Then find the new line on the Atlas, between your notes and that note.
@@ -0,0 +1,23 @@
1
+ ---
2
+ type: Concept
3
+ title: Links and their kinds
4
+ description: A link joins two notes, and says how one stands on the other.
5
+ ---
6
+
7
+ A link is a Markdown link to another note's file, from the base's top:
8
+
9
+ ```markdown
10
+ [Leapfrog](/integrators/leapfrog.md "requires")
11
+ ```
12
+
13
+ The word in quotes is the link's kind, and says how this note stands on the other:
14
+
15
+ - **requires**: this note cannot be understood without that one. Read that one first.
16
+ - **uses**: this note draws on that one, but stands without it.
17
+ - **see also**: related, no more. A link with no kind is one of these.
18
+
19
+ The kinds are what [the Atlas](/atlas/the-atlas.md "see also") is drawn from: notes are placed so that what a note requires stands before it, and the links are lines between them. So a link's kind is worth choosing: it is how the map, and your agent, know what rests on what.
20
+
21
+ Type `[[` and the start of a note's title to link it, and choose the kind with the button that comes beside the link (or Alt+1, 2, 3). Ctrl+click a link (⌘+click on a Mac) to follow it. A link to a note that is not there is shown struck through.
22
+
23
+ Links to the web and to code are [links out of the base](/out-of-the-base/web-and-code-links.md "see also").
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Problem
3
+ title: Make, move and delete a note
4
+ uses: [notes/folders]
5
+ ---
6
+
7
+ On the Atlas, make a note, and give it a title. Move it into a folder of its own. Then delete it.
8
+
9
+ [Every change is kept](/notes/every-change-is-kept.md), so it can be found again in its folder's history.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Problem
3
+ title: Write in your notes
4
+ uses: [notes/a-note-is-markdown]
5
+ ---
6
+
7
+ Open [your notes](/your-notes.md) and write a line of your own in it, with one word in **bold** and a formula between dollars.
8
+
9
+ Click away from the line, and see it as it reads.
@@ -0,0 +1,13 @@
1
+ ---
2
+ type: Concept
3
+ title: Web and code links
4
+ description: Links from a note to the web, and to a project's code.
5
+ ---
6
+
7
+ A note can link out of the base: to a page on the web, `[The paper](https://arxiv.org/abs/…)`, or to a file of a project's code, by a path from the project's top, `[the step](code:sim/step.py#L40-L52)`, lines and all.
8
+
9
+ Code links are read against the project's folder, named in the base's `.isorite/settings.toml`, (`repository = "../code"`). A link to a file no longer there is shown struck through, and the agent is told once, with its next prompt from the pane.
10
+
11
+ On the Atlas, the web and code switches (Alt+W, Alt+K) show them, beside the notes that hold them.
12
+
13
+ They are [links](/notes/links-and-their-kinds.md "requires"), with no kind: they say where to look, not what rests on what.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Problem
3
+ title: Write a question
4
+ uses: [questions-and-problems/questions]
5
+ ---
6
+
7
+ Write a question about a guide note you found unclear, about that note, and embed it in [your notes](/your-notes.md).
8
+
9
+ Find it on the Atlas, beside the note it is about.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Concept
3
+ title: How the agent reads you
4
+ description: Your agent reads where you stand from your own notes, questions and problems.
5
+ ---
6
+
7
+ isorite keeps no score and no record of you apart from your notes, and [your agent](/iso/iso.md "requires") is asked to read you from them. Where you stand is in what you wrote: your words in a note, your [questions](/questions-and-problems/questions.md "uses") open and resolved, the [problems](/questions-and-problems/problems.md "uses") you have solved and not.
8
+
9
+ Asked to explain, it is to read those first, and ask where you stand before it explains. Where it finds your understanding stops, it offers that to you as a question to keep, or a problem to try, so the place is marked in your base and not only in the conversation.
@@ -0,0 +1,15 @@
1
+ ---
2
+ type: Concept
3
+ title: Problems
4
+ description: A problem is something to do, and you say when it is solved.
5
+ ---
6
+
7
+ A problem is a note of its own, `type: Problem`, that uses the notes it names in its label: an exercise to try, a calculation to do, a thing to build. Like [a question](/questions-and-problems/questions.md "uses"), it stands beside those notes on the Atlas.
8
+
9
+ You mark it solved, with the mark at the end of its label (◇ unsolved, ◆ solved), which adds `solved:` and the date. Nothing checks it but you. Write your solution in the problem's note, under a heading, if you want it kept.
10
+
11
+ A problem has no steps inside it. One that takes several is several problems, each linking to the one before it as "requires" ([Write a link](/notes/links-and-their-kinds.md "see also") says how), in a folder of their own if they belong together: the Atlas then draws the chain, and each is solved in turn.
12
+
13
+ Given a problem, [Iso](/iso/iso.md "see also") checks your working rather than solving it: it says where a step goes wrong, and leaves the next step to you.
14
+
15
+ The things to do in this guide are problems, and [Start here](/start-here.md "see also") holds the first.
@@ -0,0 +1,27 @@
1
+ ---
2
+ type: Concept
3
+ title: Questions
4
+ description: An open question marks where your understanding stops.
5
+ ---
6
+
7
+ A question is a note of its own, `type: Question`, about the notes it names in its label:
8
+
9
+ ```markdown
10
+ ---
11
+ type: Question
12
+ title: Why does leapfrog not drift?
13
+ about: [integrators/leapfrog]
14
+ ---
15
+ ```
16
+
17
+ It is where your understanding stops, written down, so that it is not lost: on the Atlas beside the notes it is about, until you resolve it, by writing what you found and adding `resolved:` with the date. Then it leaves the map.
18
+
19
+ A note can hold a question in place, on a line of its own, by the question's file name:
20
+
21
+ ```markdown
22
+ [[!why-does-leapfrog-not-drift]]
23
+ ```
24
+
25
+ Make one from the Atlas, holding on ground and choosing a question, or from the note's settings. [Iso](/iso/iso.md "see also") may ask you one back, and you choose whether to keep it; until you do, it shows on the Atlas in a dotted outline, where it would go.
26
+
27
+ A question is the start of [a problem](/questions-and-problems/problems.md "see also"), sometimes.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Problem
3
+ title: Resolve a question
4
+ uses: [questions-and-problems/questions]
5
+ ---
6
+
7
+ Resolve [why are links Markdown links?](/questions-and-problems/why-markdown-links.md): write an answer in your own words in the question's note, and mark it resolved.
8
+
9
+ A hint: what does a link need to carry, beside its target? And where else must the notes be read?
@@ -0,0 +1,7 @@
1
+ ---
2
+ type: Question
3
+ title: Why are links Markdown links?
4
+ about: [notes/links-and-their-kinds]
5
+ ---
6
+
7
+ Other note apps link with `[[wikilinks]]`. isorite links with Markdown links to the file, `[Title](/folder/note.md "requires")`. Why?
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: Problem
3
+ title: Solve this one
4
+ uses: [start-here]
5
+ ---
6
+
7
+ Mark this problem solved: open it, and click ◇ unsolved at the end of its label.
8
+
9
+ Then go back to [Start here](/start-here.md) and find its tick, and find it on the Atlas, where a solved problem is marked as one.
10
+
11
+ To unmark it, click it again.
@@ -0,0 +1,39 @@
1
+ ---
2
+ type: Concept
3
+ title: Start here
4
+ description: What isorite is, its three panes, and how this guide works.
5
+ ---
6
+
7
+ isorite is a home for what you are coming to understand: notes in Markdown, a map of what rests on what, and Iso, the pane where the agent you already use reads your notes with you.
8
+
9
+ This guide is a knowledge base like any other, and its subject is isorite. Read it in isorite, and use isorite to read it.
10
+
11
+ ## The three panes
12
+
13
+ - **The note**, open to read and write. This one is open there now.
14
+ - **The Atlas**, the map of the notes: each folder a frame, each note a block, each line a link. It starts from [the Atlas](/atlas/the-atlas.md "uses").
15
+ - **Iso**, your agent's session: [Iso](/iso/iso.md "uses").
16
+
17
+ Each pane's header has its switches: [the switches](/atlas/the-switches.md "uses") says what they are.
18
+
19
+ ## How to read the guide
20
+
21
+ Start with [a note is Markdown](/notes/a-note-is-markdown.md "requires"), then follow the links that interest you. The Atlas shows which notes rest on which.
22
+
23
+ Beside the notes are problems: things to do in isorite, one each. You mark a problem solved yourself, when you have done it, and its tick shows here and on the Atlas. Try the first:
24
+
25
+ [[!solve-this-one]]
26
+
27
+ Then these, in any order:
28
+
29
+ [[!write-in-your-notes]]
30
+
31
+ [[!link-your-notes]]
32
+
33
+ [[!find-what-it-rests-on]]
34
+
35
+ [[!ask-iso]]
36
+
37
+ [[!give-it-notes]]
38
+
39
+ Write what you like in [your notes](/your-notes.md "see also"): the guide is yours to change. When you are ready for your own base, see [starting a base](/your-own-base/starting-a-base.md "see also").
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: Problem
3
+ title: Let the agent remember
4
+ uses: [terminal/memory]
5
+ ---
6
+
7
+ Run `isorite memory`, then attach your agent to a project's base. Tell it something about how you work that it should remember, and watch it appear in the memory's tab: switch to `memory` from the base's name in the first pane's header.
8
+
9
+ This needs isorite of your own, not the guide's site: see [starting a base](/your-own-base/starting-a-base.md).