惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Security Blog
Microsoft Security Blog
J
Java Code Geeks
GbyAI
GbyAI
aimingoo的专栏
aimingoo的专栏
L
LangChain Blog
I
InfoQ
D
Docker
F
Fortinet All Blogs
Y
Y Combinator Blog
Martin Fowler
Martin Fowler
月光博客
月光博客
B
Blog
Engineering at Meta
Engineering at Meta
T
Tailwind CSS Blog
罗磊的独立博客
博客园_首页
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
Recent Announcements
Recent Announcements
D
DataBreaches.Net
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
B
Blog RSS Feed
IT之家
IT之家
V
V2EX

Show HN

GitHub - astefanutti/shaderbang: Shebang for Shaders Show HN: Generate Claude Code Workflows using Spec Driven Development approach Show HN: AI agents for UK GDAD PCF roles and their skills The Two Pillars: Mixer Mode and Meta-Software in the Reorganization of Software Work After AI GitHub - JaiCode08/teleport-env What 1,000+ Harness Experiments Taught Me About Self-Improving Agents Show HN: Liiists, a Markdown-first, iOS and CLI list app SwiperTab – Get this Extension for 🦊 Firefox (en-US) GitHub - kouhxp/fftext: Summarize, explain, fact-check, or translate any text, URL, or file. No GPU. No cloud. One command GitHub - sweetpad-dev/sweetpad: Develop Swift/iOS projects using VSCode GitHub - dogmaticdev/IRON: IRON a.k.a. Intermediate Representation Object Notation is a Interpreter/Database that is used to create Programming Languages. GitHub - sjhalani7/vaen: Package your AI coding harness into a portable .agent file, and share it across repos, teams, & the community without ever having to copy-paste instructions, skills, MCP config, or secrets. Show HN: Gandalf the Grader Show HN: Citadeld – replay any CI failure locally from a single file GitHub - tdortman/cuSBF: High-Performance GPU Super Bloom Filter coral-ai/claude-code-token-xray at main · Coral-Bricks-AI/coral-ai GitHub - ulyssestenn/funes: Funes is a Git-based framework for LLM-managed knowledge work: an AI Librarian ingests raw sources, builds an interlinked Markdown knowledge base, and uses it to produce cited reports, analyses, and other outputs. GitHub - ThatXliner/gah: Git Add Hunk, built for agents to use GitHub - harmont-dev/harmont-cli: Command-line client for the Harmont CI platform GitHub - brooksmcmillin/mcp-authflow: OAuth 2.0 Authorization Server framework for MCP servers GitHub - javaid-codes/audit-supply-chain-agents GitHub - amorey/gochan: A small library of common channel architectures for Go, inspired by Rust GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility in 1 file GitHub - Pranesh950/BioPetals: 🌸 Run BIOxAI models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading GitHub - cnguyen14/bounty-doctor: Diagnose a GitHub bounty issue before you waste hours: detects honeypot scam repos, AI-bot attempt swarms, and stale contests. Show HN: CoreMCP – MCP Server for On-Prem DBs Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal).
GitHub - treenix-io/treenix: Treenix is the typed runtime...
treenix_io · 2026-06-15 · via Show HN

Treenix - Fullstack AI-ready Platform

Treenix 3.0.12 Node.js 22 or newer Discord chat

Fullstack Platform.
ECS-style tree of typed components with context-aware rendering.

Early Beta. Bugs are expected — please report them so we can fix and stabilize. Open an issue on GitHub or ping us on Discord.

Docs: Introduction · Composition · Components · Quickstart & Setup · Tutorial · Thinking in Treenix · React Views · API

Write a class. Attach it to a node. Treenix turns it into stored data, editable forms, rendered views, server actions, MCP tools, access rules, realtime updates, and audit events.

Treenix is for building applications as a shared tree of composable nodes. Humans use the app and admin interface. Agents use the same tree through typed actions. Your business logic stays in one place instead of being copied across schema, API, UI, permissions, and agent tools.

Three Primitives

Node      = { $path, $type, ...components }
Component = { $type, ...data }
Context   = (Type, context) => handler

In ECS terms, a Node is the entity, a Component is a typed aspect attached to that entity, and Contexts provide the systems around it: React views, actions, services, validation, ACL, text rendering, and agent tools.

Treenix borrows ECS composition without forcing everything into a global game loop. A service can behave like a scoped system over a subtree, a React context can render the same component as a card or editor, and an action can mutate the same node through the validated server pipeline.

Create an App

npm create treenix my-app
cd my-app
npm run dev

Open http://localhost:3210.

Core Idea

One class defines a component's data and actions:

// mods/todo/types.ts
import { getCtx, registerType } from '@treenx/core/comp';

export class TodoItem {
  title = '';
  done = false;
  priority: 'low' | 'normal' | 'high' = 'normal';

  toggle() {
    this.done = !this.done;
  }

  remove() {
    const { node, tree } = getCtx();
    tree.remove(node.$path);
  }
}

registerType('todo.item', TodoItem);

Register a React view for the same type:

// mods/todo/view.tsx
import { useActions, view } from '@treenx/react';
import { TodoItem } from './types';

view(TodoItem, ({ value }) => {
  const { toggle, remove } = useActions(value);

  return (
    <div>
      <button onClick={() => toggle()}>
        {value.done ? 'Done' : 'Open'}
      </button>
      <span>{value.title}</span>
      <button onClick={() => remove()}>Remove</button>
    </div>
  );
});

The type and the view work on the same node. The view reads typed data from value and calls typed server actions through useActions(value).

ECS Composition

Model by attaching capabilities to nodes instead of building inheritance trees or join tables. A task can also be a discussion thread, an AI assignment, a calendar item, and a billing unit because those are separate components on the same addressable entity:

{
  $path: '/work/q2-launch',
  $type: 'todo.task',

  // Main component fields live at node level because $type === 'todo.task'.
  title: 'Ship Q2 launch',
  done: false,
  priority: 'high',

  // Additional components attach under named keys.
  thread: {
    $type: 'forum.thread',
    messages: [],
  },
  ai: {
    $type: 'metatron.assignment',
    agent: '/agents/release-manager',
  },
  schedule: {
    $type: 'calendar.entry',
    dueDate: '2026-05-15',
  },
}

Each component has its own type, schema, actions, views, and permissions. The node gives them shared identity (/work/q2-launch), shared realtime updates, shared audit history, and shared tree placement.

This is the main modeling rule:

  • If two pieces of data describe one thing and share lifecycle, put them on one

    node as components.

  • If they can live or be deleted independently, make them separate nodes and

    connect them with refs or child paths.

  • Add a capability by adding a component. Do not create a subclass just to say

    "task with chat" or "order with AI".

The node itself is its main component. getComponent(node, TodoItem) returns the node when node.$type === 'todo.task'; named keys are for additional components with their own $type.

Runtime Model

Treenix keeps the same object moving through one pipeline:

Layer What happens
Type A class defines fields, validation metadata, and actions for a component.
Component Typed aspects attach to nodes by key and can render or react independently.
Node Data lives at a path in the tree, such as /todos/ship-readme, with one main component and any number of extras.
Context React views, text renderers, services, ACL, schema, and action handlers resolve by (Type, context).
Action Class methods execute as server-side mutations from UI, services, workflows, or MCP clients.
Security ACL and validation run on reads, writes, subscriptions, and action calls.
Realtime Mutations stream patches to subscribed views and child queries.
Audit The runtime can record who changed what, when, and through which path.

Modules

Modules are Types + Views + Services packaged together. A module may define a workflow, a document editor, an MCP adapter, a board, or a domain-specific app.

Current module areas:

Area Examples
Ops Flow, Board, Brahman, Jitsi
Content Mindmap, Blocks, Doc, Table
AI Tagger, Agent, Whisper, Memory
Infra Row-layout, Backup, MCP, Query
Experimental Org, Grove, Resim

Next Steps

  • Quickstart & Setup — create a project and run it locally.
  • Tutorial — build a bookmark manager from a Type, actions, seed data, and views.
  • Create a Mod — package Types, Views, and Services into a reusable module.
  • React Views — register typed views and render children through contexts.

Community

  • GitHub: treenix/treenix-io
  • Discord: discord.gg/peX8CwHQPz
  • Telegram: t.me/treenix_io
  • X: x.com/treenix

License

FSL-1.1-MIT — Fair Source. Read, use, modify, and redistribute for non-competing purposes. Each version becomes MIT two years after release.