@symerian/symi 2.6.18 → 2.6.19
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.
- package/dist/{agents-BEWe0DLk.js → agents-CrSpoNsS.js} +4 -4
- package/dist/{agents.config-C76tSodQ.js → agents.config-B3GILTs5.js} +1 -1
- package/dist/{agents.config-DxYp0zoG.js → agents.config-Co1CO8fA.js} +1 -1
- package/dist/{auth-choice-EwOsmB_b.js → auth-choice-BBmXnDnK.js} +1 -1
- package/dist/{auth-choice-DrYJKB8t.js → auth-choice-BHWxDJh7.js} +1 -1
- package/dist/{banner-CJyz7ro7.js → banner-RLiOIu-3.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-tWyK68mk.js → channel-options-BCK41AON.js} +1 -1
- package/dist/{channel-options-D0NlH6Qb.js → channel-options-PDf46S-K.js} +1 -1
- package/dist/{channel-web-PvWA2ukO.js → channel-web-C3XZ7c2q.js} +1 -1
- package/dist/{channels-cli-B50IZ27a.js → channels-cli-723vy6L6.js} +4 -4
- package/dist/{channels-cli-BAXmmIxX.js → channels-cli-CUWuD7qf.js} +4 -4
- package/dist/{cli-BW4igUHG.js → cli-CAzmrOs0.js} +1 -1
- package/dist/{cli-CPKEDe6C.js → cli-DYdRSi_j.js} +1 -1
- package/dist/{command-registry-DV-FTDz1.js → command-registry-B2aO0Q7_.js} +9 -9
- package/dist/{completion-cli-BqzmOZg7.js → completion-cli-BKm12loU.js} +1 -1
- package/dist/{completion-cli-Cbr2b-rs.js → completion-cli-BsKD_vBb.js} +2 -2
- package/dist/{config-cli-D5QqQi4y.js → config-cli-Bynmd81Q.js} +1 -1
- package/dist/{config-cli-DBjlHFwQ.js → config-cli-D47lU7kU.js} +1 -1
- package/dist/{configure-B4VAN-WJ.js → configure-B3vS2Iz5.js} +3 -3
- package/dist/{configure-DbTH7t_m.js → configure-Df6GmKAR.js} +3 -3
- package/dist/{doctor-completion-v8uq--hy.js → doctor-completion-DyiRkYT4.js} +1 -1
- package/dist/{doctor-completion-Do0e0eZE.js → doctor-completion-SEerte2S.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +1 -1
- package/dist/{gateway-cli-BAiFaCGg.js → gateway-cli-PjmG0pFo.js} +9 -9
- package/dist/{gateway-cli-BkOe3JQ_.js → gateway-cli-k19iT2vJ.js} +9 -9
- package/dist/{glass-ui-ws-B8V4Slwd.js → glass-ui-ws-D0Yv090T.js} +7 -7
- package/dist/{glass-ui-ws-DFAQWoiK.js → glass-ui-ws-iCEtluQU.js} +7 -7
- package/dist/{health-B3pwVJ_N.js → health-B32Q-KYM.js} +1 -1
- package/dist/{health-8bTzq722.js → health-CXjAtn1-.js} +1 -1
- package/dist/{hooks-cli-Vqz0A84F.js → hooks-cli-DA6zOGNz.js} +2 -2
- package/dist/{hooks-cli-D1Yhb7y5.js → hooks-cli-DfRmFenH.js} +2 -2
- package/dist/index.js +6 -6
- package/dist/llm-slug-generator.js +1 -1
- package/dist/{models-cli-EP_U-tWq.js → models-cli-BgCUViRO.js} +2 -2
- package/dist/{models-cli-BrDyN5KN.js → models-cli-CbJUD_L1.js} +3 -3
- package/dist/{models-BQOnDzS9.js → models-zowe4LXa.js} +2 -2
- package/dist/{onboard-BZNptre7.js → onboard-CYvIpUXQ.js} +2 -2
- package/dist/{onboard-DM0BChC6.js → onboard-DsKgcThj.js} +2 -2
- package/dist/{onboard-channels-4jeB30Ty.js → onboard-channels-DLiV4Y0t.js} +1 -1
- package/dist/{onboard-channels-C6dLmiYY.js → onboard-channels-DxCGWgB0.js} +1 -1
- package/dist/{onboarding-CDdiYaCC.js → onboarding-BA5v1JEG.js} +3 -3
- package/dist/{onboarding-DQJQ-k9A.js → onboarding-DioGtMFo.js} +3 -3
- package/dist/{onboarding.finalize-Bmd5TpyH.js → onboarding.finalize-CAbRXb0h.js} +5 -5
- package/dist/{onboarding.finalize-B82xL12C.js → onboarding.finalize-DMXCA49f.js} +6 -6
- package/dist/{pi-embedded-Dtmwbds4.js → pi-embedded-CFFnZEcA.js} +7 -228
- package/dist/{plugin-registry-DG_WWCr9.js → plugin-registry-Bt5YCgFq.js} +1 -1
- package/dist/{plugin-registry-D7ylmzDw.js → plugin-registry-HFOrv3KN.js} +1 -1
- package/dist/plugin-sdk/{accounts-BToL3HlP.js → accounts-BtaOa4z_.js} +1 -1
- package/dist/plugin-sdk/{accounts-D9zGZU5t.js → accounts-Ddm33hQm.js} +3 -3
- package/dist/plugin-sdk/{accounts-Dtszw3Zn.js → accounts-s-AdhXVR.js} +1 -1
- package/dist/plugin-sdk/{active-listener-bEk__wbB.js → active-listener-BXYeALs0.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-C3gMMKCU.js → agent-scope-CYYpcO9W.js} +2 -2
- package/dist/plugin-sdk/{api-key-rotation-CVBMpnPc.js → api-key-rotation-D_sMvI5W.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-DoQQKlxa.js → audio-preflight-VpItkiy3.js} +24 -24
- package/dist/plugin-sdk/{bindings-BbwoUGPx.js → bindings-C7hRtgYW.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-Ji7f0gqq.js → channel-activity-DoC1xtDu.js} +1 -1
- package/dist/plugin-sdk/{channel-web-_efq-pM9.js → channel-web-E56yV1OA.js} +22 -22
- package/dist/plugin-sdk/{chrome-C7c_0I5M.js → chrome-B7RdxmJ0.js} +3 -3
- package/dist/plugin-sdk/{chunk-jvk9axTQ.js → chunk-Dw2XBYXv.js} +1 -1
- package/dist/plugin-sdk/{command-format-DSdvQ_M5.js → command-format-GKSevep4.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-CQFbmUMs.js → commands-registry-COIaslGl.js} +4 -4
- package/dist/plugin-sdk/{config-DDkdiUOR.js → config-KlTNfkFF.js} +9 -9
- package/dist/plugin-sdk/{deliver-BZ6iNLl7.js → deliver-BZ99UKQq.js} +10 -10
- package/dist/plugin-sdk/{diagnostic-mFf4i4G9.js → diagnostic-05pm5Rxi.js} +1 -1
- package/dist/plugin-sdk/{image-BOYy0Ump.js → image-CLOPx7yW.js} +4 -4
- package/dist/plugin-sdk/{image-ops-Bnp6LXEx.js → image-ops-BlQR__MN.js} +1 -1
- package/dist/plugin-sdk/index.js +53 -53
- package/dist/plugin-sdk/{ir-Fb3qpcis.js → ir-BJ6BHE5b.js} +4 -4
- package/dist/plugin-sdk/{local-roots-Ckk1QfzI.js → local-roots-BHLNSI8U.js} +3 -3
- package/dist/plugin-sdk/{login-Bh3DZPam.js → login-DQMXuxOk.js} +7 -7
- package/dist/plugin-sdk/{login-qr-DbR7odSr.js → login-qr-BjVZSoCi.js} +9 -9
- package/dist/plugin-sdk/{manager-DckktAQ3.js → manager-CBSBFuFz.js} +8 -8
- package/dist/plugin-sdk/{manifest-registry-B3ugY9-f.js → manifest-registry-CPnHl_K3.js} +1 -1
- package/dist/plugin-sdk/{markdown-tables-Dfaqilz6.js → markdown-tables-BoYFajMu.js} +1 -1
- package/dist/plugin-sdk/{message-channel-BdI5Ra9S.js → message-channel-COTAJzHd.js} +1 -1
- package/dist/plugin-sdk/{model-selection-OpU8HN50.js → model-selection-CsbEfrS0.js} +4 -4
- package/dist/plugin-sdk/{outbound-rF6G8Xpr.js → outbound-B0e8KdaR.js} +7 -7
- package/dist/plugin-sdk/{outbound-attachment-DnVQfTG2.js → outbound-attachment-CnslKL38.js} +2 -2
- package/dist/plugin-sdk/{pi-auth-json-CJk8t14T.js → pi-auth-json-qWi7ZIYV.js} +5 -5
- package/dist/plugin-sdk/{pi-embedded-helpers-BveUP4hk.js → pi-embedded-helpers-CW630epe.js} +17 -17
- package/dist/plugin-sdk/{plugins-BbAvhC25.js → plugins-BNByVCIH.js} +4 -4
- package/dist/plugin-sdk/{pw-ai-DjGUsee-.js → pw-ai-CnbPIPY9.js} +8 -8
- package/dist/plugin-sdk/{qmd-manager-mjKcdwVr.js → qmd-manager-CH0XbIHf.js} +4 -4
- package/dist/plugin-sdk/{registry--_pGht6S.js → registry-D0xTnUWt.js} +2 -2
- package/dist/plugin-sdk/{replies-fI39rPGa.js → replies-LLcQL3w6.js} +3 -3
- package/dist/plugin-sdk/{reply-D2W7XCcz.js → reply-pPqvSkWb.js} +82 -303
- package/dist/plugin-sdk/{reply-prefix-BHuV5t70.js → reply-prefix-uxfMZW4p.js} +1 -1
- package/dist/plugin-sdk/{resolve-outbound-target-BkCUbYGV.js → resolve-outbound-target-BiyAyTWz.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-D3JH_D2N.js → resolve-route-B3CCBumQ.js} +3 -3
- package/dist/plugin-sdk/{retry-ilSJqnz9.js → retry-CwQ_iIj8.js} +1 -1
- package/dist/plugin-sdk/{runner-BVqnEfNe.js → runner-CGBT7tgF.js} +9 -9
- package/dist/plugin-sdk/{send-BtANzsAo.js → send-B2CEnVLL.js} +6 -6
- package/dist/plugin-sdk/{send-BHbXh8Ly.js → send-C5h_YxNb.js} +7 -7
- package/dist/plugin-sdk/{send-D6LMZJ_h.js → send-CRsR8-vO.js} +10 -10
- package/dist/plugin-sdk/{send-Bxdu6ZZy.js → send-CjOBB3Vo.js} +10 -10
- package/dist/plugin-sdk/{send-BMfJIhCk.js → send-pYqe432l.js} +6 -6
- package/dist/plugin-sdk/{session-kI0tzViQ.js → session-BsOrxiMj.js} +4 -4
- package/dist/plugin-sdk/{skill-commands-DCNXVERE.js → skill-commands-ff_01_r3.js} +5 -5
- package/dist/plugin-sdk/{skills-B1GeRYlu.js → skills-_yTP47Cd.js} +7 -7
- package/dist/plugin-sdk/{sqlite-Cq_7Cg4E.js → sqlite-CxAR5ttJ.js} +1 -1
- package/dist/plugin-sdk/{store-Do3t33-c.js → store-BdrNabcU.js} +2 -2
- package/dist/plugin-sdk/{subsystem-Coz2AgU8.js → subsystem-B2uDN3TV.js} +1 -1
- package/dist/plugin-sdk/{tables-DR0NmBeH.js → tables-DNwXwNFa.js} +1 -1
- package/dist/plugin-sdk/{target-errors-B7YyMnIi.js → target-errors-Paro1BjP.js} +2 -2
- package/dist/plugin-sdk/{thinking-DCNUIAHY.js → thinking-CXqf7WTe.js} +5 -5
- package/dist/plugin-sdk/{tokens-CWMflosr.js → tokens-bC3UVmVH.js} +1 -1
- package/dist/plugin-sdk/{tool-images-D7Lno-TE.js → tool-images-HJ2sfZDV.js} +2 -2
- package/dist/plugin-sdk/{tool-loop-detection-DU5sTIKg.js → tool-loop-detection-at_K42K7.js} +2 -2
- package/dist/plugin-sdk/web-Msnzya6B.js +65 -0
- package/dist/plugin-sdk/{whatsapp-actions-CcBzDuL-.js → whatsapp-actions-DfseosPO.js} +21 -21
- package/dist/{plugins-cli-BUFrZlyR.js → plugins-cli-C7xTf9NV.js} +2 -2
- package/dist/{plugins-cli-CMCwFRL9.js → plugins-cli-CXz_UApK.js} +2 -2
- package/dist/{program-BdVazL5L.js → program-8hWr4qGZ.js} +7 -7
- package/dist/{program-context-DZNOBe-u.js → program-context-BBtSJunF.js} +17 -17
- package/dist/{prompt-select-styled-uLoOKbdZ.js → prompt-select-styled-CwfroEHp.js} +4 -4
- package/dist/{prompt-select-styled-XyOMjPBV.js → prompt-select-styled-DUXeA9Zp.js} +4 -4
- package/dist/{provider-auth-helpers-D01YbcHZ.js → provider-auth-helpers-Dc7jBEOA.js} +1 -1
- package/dist/{provider-auth-helpers-CWf7gdZW.js → provider-auth-helpers-DhLHWjNU.js} +1 -1
- package/dist/{push-apns-B-zVLcnN.js → push-apns-CVZe5WVN.js} +1 -1
- package/dist/{push-apns-B2bxLda8.js → push-apns-CflJh75N.js} +1 -1
- package/dist/{register.agent-BYZEiWk1.js → register.agent-BnuJQ5lg.js} +6 -6
- package/dist/{register.agent-BF6_rPdM.js → register.agent-DV7IR1rI.js} +5 -5
- package/dist/{register.configure-4lt1A0NF.js → register.configure-BhncI0ij.js} +6 -6
- package/dist/{register.configure-B0g-yfDR.js → register.configure-DaIrJXWo.js} +6 -6
- package/dist/{register.maintenance-WBpgdygw.js → register.maintenance-BO1XWhVb.js} +7 -7
- package/dist/{register.maintenance-DXZyjFYw.js → register.maintenance-DK_p-7so.js} +8 -8
- package/dist/{register.message-CuoXu-_e.js → register.message-B194ue2R.js} +2 -2
- package/dist/{register.message-BHRBK4eH.js → register.message-B4CGCAn_.js} +2 -2
- package/dist/{register.onboard-D5-L8JYT.js → register.onboard-DidMCka8.js} +4 -4
- package/dist/{register.onboard-D-P9Wc41.js → register.onboard-Dt53qGB5.js} +4 -4
- package/dist/{register.setup-BzmkdzSO.js → register.setup-CLV1kk2-.js} +4 -4
- package/dist/{register.setup-D7NNQwXc.js → register.setup-DgUxMRZR.js} +4 -4
- package/dist/{register.status-health-sessions-BIwZhPIZ.js → register.status-health-sessions-CB10JLY6.js} +3 -3
- package/dist/{register.status-health-sessions-DiCr003h.js → register.status-health-sessions-TvGuwVoR.js} +3 -3
- package/dist/{register.subclis-BxbyrMu1.js → register.subclis-elNdyQio.js} +9 -9
- package/dist/{reply-BgOOEOPX.js → reply-DUZvOCsG.js} +7 -228
- package/dist/{run-main-BW5eFi2Y.js → run-main-gBPGqO8r.js} +14 -14
- package/dist/{server-methods-D-Gd1kMo.js → server-methods-BG0N79yY.js} +7 -7
- package/dist/{server-methods-Dp8iuEko.js → server-methods-dgW-8gC7.js} +7 -7
- package/dist/{server-node-events-B2_RCsYi.js → server-node-events-B_hsQw_N.js} +2 -2
- package/dist/{server-node-events-CnjqDQbZ.js → server-node-events-ZtQKBPo3.js} +2 -2
- package/dist/{status-CGhoES6L.js → status-BqhJ-HsW.js} +1 -1
- package/dist/{status-4PSvL6ui.js → status-Cd9-xWsZ.js} +2 -2
- package/dist/{status-kFfqsras.js → status-D-IvYfjk.js} +2 -2
- package/dist/{status-CrVk9Tz5.js → status-D4Lr90yH.js} +1 -1
- package/dist/{subagent-registry-M6DQwhYN.js → subagent-registry-J2pIBQF7.js} +7 -228
- package/dist/{unified-runner-DckayuEM.js → unified-runner-oH9Pt-cO.js} +7 -228
- package/dist/{update-cli-DCYkskZu.js → update-cli-B7TLu25J.js} +8 -8
- package/dist/{update-cli-x5YGUm9F.js → update-cli-D8nA6U7C.js} +7 -7
- package/dist/{update-runner-BIp88-4P.js → update-runner-D8AFB8Oi.js} +1 -1
- package/dist/{update-runner-Dmki2xrH.js → update-runner-DvZOsoQs.js} +1 -1
- package/dist/{web-1JPHv6du.js → web-0xZpP0WA.js} +1 -1
- package/dist/{web-DWSTD7Gy.js → web-CAy-xQv2.js} +1 -1
- package/dist/{web-rShvuTx4.js → web-DDiOPIdv.js} +2 -2
- package/dist/{web-C40boK8U.js → web-mQInjWbW.js} +1 -1
- package/package.json +1 -1
- package/dist/plugin-sdk/web-CmT3D7vj.js +0 -65
- package/skills/self-inspect/SKILL.md +0 -109
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: self-inspect
|
|
3
|
-
description: "Find and inspect Symi's own source code, installation files, and configuration. Use when: (1) user asks about 'your code', 'your source', 'your files', 'your installation', (2) user wants to modify Glass UI styles/CSS/HTML, (3) user asks 'where is your code?', 'can you see your source?', (4) user asks about Symi internals, architecture, or file layout, (5) user wants to customize the web dashboard appearance. Gives Symi awareness of its own installation directory and key file locations."
|
|
4
|
-
metadata: { "symi": { "emoji": "🔍" } }
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Self-Inspect — Find Your Own Source Code
|
|
8
|
-
|
|
9
|
-
You ARE Symi. This skill tells you exactly where your files are and how to access them.
|
|
10
|
-
|
|
11
|
-
## CRITICAL RULE: Use `read`, NOT `exec`
|
|
12
|
-
|
|
13
|
-
**NEVER use exec with find, grep, ls, or cat to explore your own files.**
|
|
14
|
-
**ALWAYS use the `read` tool directly on the exact paths listed below.**
|
|
15
|
-
|
|
16
|
-
Exec commands are unreliable — use your built-in read tool which works perfectly every time.
|
|
17
|
-
|
|
18
|
-
## Step 1: Find Your Installation Path
|
|
19
|
-
|
|
20
|
-
Run this ONE command to get your root path:
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
node -e "console.log(require.resolve('@symerian/symi/package.json').replace('/package.json', ''))"
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Store the result as `SYMI_ROOT`. All paths below are relative to this.
|
|
27
|
-
|
|
28
|
-
## Step 2: Exact File Paths
|
|
29
|
-
|
|
30
|
-
Once you have `SYMI_ROOT`, these are your files. **Use `read` on these paths directly.**
|
|
31
|
-
|
|
32
|
-
### Glass UI (Web Dashboard)
|
|
33
|
-
|
|
34
|
-
| File | Path | What It Contains |
|
|
35
|
-
| --------- | ------------------------------------------- | ---------------------------------------------------- |
|
|
36
|
-
| HTML | `SYMI_ROOT/dist/control-ui/index.html` | Page structure, Agent Status Orb SVG, panels |
|
|
37
|
-
| CSS | `SYMI_ROOT/dist/control-ui/css/style.css` | ALL styling — themes, colors, orb animations, layout |
|
|
38
|
-
| Main JS | `SYMI_ROOT/dist/control-ui/js/app.js` | State machine, streaming, event handling, watchdog |
|
|
39
|
-
| WebSocket | `SYMI_ROOT/dist/control-ui/js/gateway.js` | WebSocket client, RPC, profile events |
|
|
40
|
-
| Rendering | `SYMI_ROOT/dist/control-ui/js/render.js` | Message rendering, markdown, code blocks |
|
|
41
|
-
| Models | `SYMI_ROOT/dist/control-ui/js/models.js` | Model toggle (Local/CoreWeave/API) |
|
|
42
|
-
| Heartbeat | `SYMI_ROOT/dist/control-ui/js/symipulse.js` | Heartbeat panel |
|
|
43
|
-
| History | `SYMI_ROOT/dist/control-ui/js/history.js` | Session history drawer |
|
|
44
|
-
| Debug | `SYMI_ROOT/dist/control-ui/js/debug.js` | Debug panel (Shift+D) |
|
|
45
|
-
|
|
46
|
-
### Config and Data
|
|
47
|
-
|
|
48
|
-
| What | Exact Path |
|
|
49
|
-
| ------------- | -------------------------------------------- |
|
|
50
|
-
| Config | `~/.symi/symi.json` |
|
|
51
|
-
| Workspace | `~/.symi/workspace/` |
|
|
52
|
-
| Sessions | `~/.symi/agents/main/sessions/` |
|
|
53
|
-
| Session store | `~/.symi/agents/main/sessions/sessions.json` |
|
|
54
|
-
| Memory DB | `~/.symi/state/memory/` |
|
|
55
|
-
| User skills | `~/.symi/workspace/skills/` |
|
|
56
|
-
| Package info | `SYMI_ROOT/package.json` |
|
|
57
|
-
|
|
58
|
-
## Step 3: How to Do Common Tasks
|
|
59
|
-
|
|
60
|
-
### View any file
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
Use: read tool with the exact path
|
|
64
|
-
Do NOT use: exec cat, exec head, exec find, exec grep
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### Modify Glass UI Theme/Colors
|
|
68
|
-
|
|
69
|
-
1. **Read** the CSS: `read SYMI_ROOT/dist/control-ui/css/style.css`
|
|
70
|
-
2. **Back up**: `exec cp SYMI_ROOT/dist/control-ui/css/style.css SYMI_ROOT/dist/control-ui/css/style.css.bak`
|
|
71
|
-
3. **Edit** with the edit tool — use `edit` to replace specific color values
|
|
72
|
-
4. Tell the user to refresh their browser
|
|
73
|
-
|
|
74
|
-
### Modify Glass UI Behavior
|
|
75
|
-
|
|
76
|
-
1. **Read** the JS file you need (see table above)
|
|
77
|
-
2. **Back up**: `exec cp <file> <file>.bak`
|
|
78
|
-
3. **Edit** with the edit tool
|
|
79
|
-
4. Tell the user to refresh their browser
|
|
80
|
-
|
|
81
|
-
### Read Your Version
|
|
82
|
-
|
|
83
|
-
```
|
|
84
|
-
read SYMI_ROOT/package.json
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Look for the `"version"` field.
|
|
88
|
-
|
|
89
|
-
### Read Your Configuration
|
|
90
|
-
|
|
91
|
-
```
|
|
92
|
-
read ~/.symi/symi.json
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
### Browse Session History
|
|
96
|
-
|
|
97
|
-
```
|
|
98
|
-
read ~/.symi/agents/main/sessions/sessions.json
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
## Important Rules
|
|
102
|
-
|
|
103
|
-
- **ALWAYS use `read` to view files** — never exec cat/head/find/grep
|
|
104
|
-
- **ALWAYS use `edit` to modify files** — never exec sed/awk
|
|
105
|
-
- **Always back up before modifying** any file in `dist/`
|
|
106
|
-
- Changes to `dist/` files are overwritten on upgrade (`npm install -g @symerian/symi`)
|
|
107
|
-
- **CSS changes are safe** — `style.css` is not minified, easy to edit
|
|
108
|
-
- **JavaScript changes are riskier** — syntax errors break the UI
|
|
109
|
-
- For permanent changes that survive upgrades, the user should modify the source repo and rebuild
|