Codync
免費、開源的 1:1 替代方案,取代 Grok Bot 與 Muse。從 iPhone、Mac 或 Linux 桌面將 Claude Code、Codex、Cursor 與 40+ 程式碼代理人作為持續機器人傳訊。群組聊天、主題串…
AI 翻譯
尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
A reactive expression engine for TypeScript whose interface renders its own expressions: ordered epochs, classes as data, and a live editor.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗An interface that renders its own expressions. render is a reactive expression engine for TypeScript. Each value is a node with an expression. One write starts one ordered epoch: the store evaluates each reader in topological order, and it stops where a value does not change. Classes are templates of nodes, stored as data, and the live viewer edits classes and instances in the same type graph.
The site has the guide, live demos of each idea, and the viewer in the browser.
npm i @mark1russell7/render-node @mark1russell7/render-dsl @mark1russell7/render-splay
import { app, lit, ref } from "@mark1russell7/render-dsl";
import { addNode, nodeStore, readValue, setValue } from "@mark1russell7/render-node";
import { standardOps } from "@mark1russell7/render-splay";
const store = nodeStore({ ops: standardOps });
addNode(store, lit(2), "w");
addNode(store, lit(4), "h");
addNode(store, app("*", ref("w"), ref("h")), "area");
readValue(store, "area"); // { tag: "some", value: 8 }
setValue(store, "w", 3);
readValue(store, "area"); // { tag: "some", value: 12 }
store.epochStats; // the nodes that the write evaluated and changed
none with a cause, and it does not throw. A formula syntax parses to a document and back.Each package is ESM, has TypeScript declarations, and works in Node.js 22.12 or later and in browsers.
| Package | Contents |
|---|---|
@mark1russell7/render-optional | The Optional type of total evaluation: none or some |
@mark1russell7/render-dsl | The expressions: coeval documents, the machine of render on the coeval kernel, and the formula language |
@mark1russell7/render-node | The reactive store: nodes, seats, slots, ordered epochs and the NodeOps extension points |
@mark1russell7/render-biblo | The class registry, the instance store, the traits and the class-level NodeOps |
@mark1russell7/render-splay | Hydrate, splay and dehydrate, the level of detail, the standard classes and the standard ops |
@mark1russell7/render-seat | Reactive path subscriptions over plain values |
@mark1russell7/render-viewer | The React viewer: the type graph and the canvas, with summaries, formulas, undo and saved sessions |
The packer of the type graph is @mark1russell7/packing. The old package @mark1russell7/render-pack is deprecated.
The workspace also has two private packages: @render/site, the site with the live demos, and @render/cli, the workspace commands of the template.
pnpm install
pnpm dev # the viewer, with the dev server of Vite
pnpm check # the type check, Oxlint, the coverage, the tests and ste-lint
pnpm test:e2e # the browser tests of the viewer (Playwright)
pnpm build # the npm build of each package (tsdown)
pnpm check:packages # pack, lint, install and run each package
pnpm bench # the speed lane (report only)
pnpm package add <name> --preset=ts # make a new package
docs/REVIEW.md: the review of October 2026, the plan of recorddocs/DECISIONS.md: the architecture decisionsThe prose of this repository follows ASD-STE100 Simplified Technical English (STE). STE is a style target. ASD does not certify this repository. The project glossary is in ste.config.json. Keep a local copy of the STE dictionary in .ste/, and do not commit it.
An AI model (Claude, from Anthropic) wrote most of the text and the code of this repository, under the direction of the author. The STEMG of ASD-STE100 asks for this disclosure in its white paper on STE and artificial intelligence (June 2026).