gstack
莫愁前路无知已,天下谁人不识君。——高适 gstack:把 Claude Code 组织成一支能思考、交付、复盘的软件团队项目地址:https://github.com/garrytan/gstack 写软件这件事,正在发生一种明显的变化。 过去,一个人面对的是编辑器、终端、文档、浏览器、测试、代码评审与发布流程。每一个环节都需要亲自切换角色:先像产品经理一样追问需求,再像架构师一样拆解系统,接着像开发者一样实现,随后又变成测试人员、设计师、发布工程师与技术写作者。 而 gstack 的想法,是把这些角色组织进同一套 AI 编程工作流。 它以 Claude Code 为核心,也支持更多 AI Agent,将一组有明确职责的 Skills 组合成一条完整的软件交付路径。从产品思考到技术规划,从实现到评审,从质量验证到发布,再到复盘与知识沉淀,gstack 希望让一个开发者拥有一支可以协作推进的软件团队。 它不是一组互不相关的快捷命令。 它更像一套有节奏的工程方法。 1思考 → 规划 → 构建 → 评审 → 测试 → 发布 → 复盘 从一个模糊想法开始,而不是从第一行代码开始很...
Vela
海内存知已,天涯若比邻。——王勃 Vela:为 Web 而生的可扩展金融图表核心项目地址:https://github.com/LuxAlgo/Vela 金融图表从来不只是几根蜡烛和几条均线。 当一张图表真正进入产品,它往往需要承载行情数据、实时更新、不同周期、指标系统、用户绘图、主题样式、多个图表单元、状态恢复、键盘操作、数据源切换,以及持续演进的自定义能力。 Vela 试图把这些需求收拢为一套面向 Web 的金融图表基础设施。 它提供快速、可扩展的金融图表能力,采用原生 WebGL2 渲染,并提供 Canvas 2D 后备方案。它的图表核心保持无界面状态,开发者可以完全通过代码驱动图表;如果希望快速得到完整的图表应用,也可以直接使用 workspace。 Vela 的设计并不要求开发者在“灵活”与“完整”之间二选一。 需要完全掌控时,可以直接使用 headless core。 需要一套具备常用交互能力的图表界面时,可以使用 workspace。 需要接入自定义数据、脚本语言、图表类型或渲染层时,可以通过公开接口进行扩展。 一张图表,不必被界面结构绑死Vela 的一个核心特...
lightweight-charts
敏而好学,不耻下问。——孔子 Skills:让 AI 编程代理拥有一套可安装、可共享、可更新的技能系统项目地址:https://github.com/vercel-labs/skills AI 编程代理越来越像开发流程中的正式参与者。 它们可以阅读代码、修改文件、执行命令、编写测试、整理提交记录,也可以围绕项目规范完成特定任务。但代理本身并不会天然理解每个团队的代码习惯、发布规则、设计规范、工具接入方式与协作流程。 于是,一个问题慢慢浮现出来: 能不能像管理依赖一样,管理代理的工作技能? Skills 给出的答案是可以。 它是开放 Agent Skills 生态的命令行工具,提供了一套围绕 SKILL.md 的安装、发现、使用、更新、删除与创建机制。通过一条 npx skills 命令,开发者可以把可复用的指令集安装到不同 AI 编程代理中,也可以在不安装的情况下临时调用某项技能。 它支持 OpenCode、Claude Code、Codex、Cursor,以及更多代理环境。 Skills 做的事情并不复杂,却很有代表性:把原本散落在提示词、团队文档、项目说明和个人经验中的工...
effect
少年易学老难成,一寸光阴不可轻。——朱熹 Effect:为 TypeScript 生产应用准备的一套可靠性语言项目地址:https://github.com/Effect-TS/effect TypeScript 的世界里,写出能运行的代码并不总是最难的部分。 真正棘手的,往往是代码开始面对现实之后。 网络请求会失败,依赖会缺失,数据库会暂时不可用,异步任务会交错执行,配置会变化,日志与追踪需要被补上,测试环境与生产环境又有着不同的要求。代码规模一旦增长,这些问题不会单独到来,而会彼此纠缠,慢慢变成项目长期维护中的重量。 Effect 想处理的,就是这部分重量。 它是一个用于构建健壮、可维护、类型安全且面向生产环境 TypeScript 应用的库。它关注的不是让代码看起来更抽象,而是帮助开发者在规模化开发中处理类型化错误、依赖注入、并发、缓存、资源管理、可观测性以及流式数据等复杂问题。 Effect 的方向很明确:让生产级应用中的不确定性,不再只能依赖约定、注释和经验来维持。 当应用开始复杂,问题才真正出现一个简单的函数可以接收输入,返回输出。 但一个真实服务通常需要做得更多...
servers
千里之行,始于足下。——老子 Model Context Protocol Servers:让语言模型拥有工具与数据的参考样本库项目地址:https://github.com/modelcontextprotocol/servers 当大语言模型需要真正参与工作时,仅靠一段对话往往远远不够。 它可能需要读取项目文件,搜索代码仓库,抓取网页内容,查看时间与时区,保存长期记忆,或者沿着一连串思考步骤处理复杂问题。模型本身擅长理解和生成语言,但它并不会天然拥有这些受控的外部能力。 Model Context Protocol 为这类连接提供了一种协议方式。 而 Model Context Protocol Servers 仓库,则收集了一批 MCP 参考实现。它们并不是面向所有生产场景的完整解决方案,而是用于展示 MCP 功能、官方 SDK 用法与服务设计模式的示例集合。 它像一座小型的工具实验室。 这里有读取网页内容的 Fetch,有进行安全文件操作的 Filesystem,有面向 Git 仓库的 Git,有持续保存知识图谱记忆的 Memory,有用于时间和时区转换的 Time,...
cypress
盛年不重来,一日难再晨。及时宜自勉,岁月不待人。——陶渊明 Cypress:当浏览器里的测试,终于跟上 Web 的进化项目地址:https://github.com/cypress-io/cypress Web 一直在变化。 页面不再只是静态文档,交互越来越密集,界面状态越来越丰富,浏览器里的每一次点击、输入、跳转与渲染,都可能牵动一段真实的业务流程。测试也不能再停留在遥远的外围,隔着一层层抽象猜测浏览器里究竟发生了什么。 Cypress 的态度很直接: Web 已经进化,测试也终于该进化了。 它是一套面向一切运行在浏览器中的内容而打造的测试工具,强调快速、易用与可靠。它不把测试描述成一项沉重的附属工作,而是让测试走进日常开发节奏,成为浏览器应用构建过程中的自然一环。 测试,不该总是最后才出现一个浏览器应用从来不只是代码文件的集合。 它有页面,有交互,有输入框,有按钮,有加载状态,也有用户真正会经历的流程。开发者写下的逻辑最终要进入浏览器,被真实地运行、展示、触发和验证。 因此,浏览器测试的意义并不只是确认某段代码能否执行,而是关注应用在浏览器环境中是否真的按预期工作。 ...
kordoc
学习必须与实干相结合。——泰戈尔 Kordoc:让韩文办公文档不再困在格式里项目地址:https://github.com/chrisryugj/kordoc 在很多办公场景中,文档并不只是文字的容器。 它可能是一份层级严密的计划书,一张合并单元格密布的表格,一份带有复杂格式的行政公文,一份需要填写姓名、地址、日期与审批信息的申请表,也可能是一份扫描件、老旧 HWP 文件,或等待比对修订痕迹的新旧版本材料。 这些文档往往有一个共同问题:内容明明就在里面,却不容易被程序真正理解。 Kordoc 选择直面这片复杂地带。它是一套面向 HWP、HWPX、PDF、Office 文档与图像的文档处理工具,能够将内容转换为 Markdown 和结构化数据,并提供文档比较、表单填充、HWPX 生成、格式保留编辑、渲染预览、OCR、隐私信息遮盖与 MCP 工具调用能力。 它的目标并不只是把文件“读出来”,而是尽可能让文档中的结构、表格、页面、格式语义与办公流程重新变得可操作。 从 HWP 到 PDF:把文档翻译成可理解的结构Kordoc 支持处理多种常见格式: HWP 3.x HWP 5.x...
openrig
学习从来无捷径,循序渐进登高峰。——高永祚 OpenRig:把散落的 AI 编程会话,编织成一支可持续协作的团队项目地址:https://github.com/mvschwarz/openrig 当多个 AI 编程代理同时投入一项工作时,真正棘手的往往不是如何多开几个终端,而是如何让它们成为一支能持续协作、彼此可见、能够交接任务的团队。 OpenRig 想解决的正是这件事。 它并不试图替代 Claude Code 或 Codex,也不把重点放在单个代理本身。它关注的是这些代理共同形成的系统:谁在运行,谁负责什么,谁与谁协作,任务如何传递,团队状态如何查看,工作现场又如何在停止之后恢复。 一句话来说,OpenRig 是一个多代理编排工具。它为已经存在的 AI 编程代理套上一层更大的结构,让 Claude Code 与 Codex 可以出现在同一个团队中,并作为一个整体被管理。 从一堆终端,到一支有席位的团队很多人都见过这样的场景:终端窗口一个接一个地开着,每个窗口里都有一个正在工作的代理。它们各自拥有上下文,各自执行命令,各自等待下一条指令。窗口越来越多,信息却越来越散。 Op...
scriptc
看书和学习是思想的经常营养,是思想的无穷发展。——冈察洛夫 ScriptC:把 TypeScript 和 JavaScript 编译成真正的原生产物项目地址:https://github.com/vercel-labs/scriptc 当我们谈到 JavaScript 和 TypeScript,最熟悉的画面通常是运行在 Node.js、浏览器,或者某种打包好的前端环境里。 ScriptC 走的是另一条更激进的路:它试图把 TypeScript 和 JavaScript 编译成 typed IR、可读的 C、文本形式的 LLVM IR、本地汇编和对象文件、本地可执行文件,以及 WebAssembly 模块。 它不是在已有运行时之上再包一层,而是把源代码直接推进到更底层的编译结果里。对它来说,脚本语言不一定只属于解释执行,也可以进入原生编译的轨道。 一个把脚本语言往原生世界推进的编译器ScriptC 的定位很直接:TypeScript-to-Native Compiler。 README 里给出的说明表明,它使用 TypeScript compiler 作为前端,先把程序分析成中...
mobile-mcp
人不光是靠他生来就拥有一切,而是靠他从学习中所得到的一切来造就自己。——歌德 Mobile MCP:把移动端自动化交给统一的 MCP 接口项目地址:https://github.com/mobile-next/mobile-mcp 移动端自动化这件事,常常卡在一个很现实的问题上:iOS、Android、模拟器、模拟器之外的真机、不同工具链、不同平台知识,彼此都像单独的一座岛。 Mobile MCP 想做的,是把这些岛连成一条可被 Agent 使用的通路。 它是一个面向移动端自动化与抓取的 MCP Server,覆盖 iOS、Android、模拟器、仿真器以及真实设备。开发者可以通过统一的接口,让 Agents 和 LLMs 与原生移动应用和设备交互,不必为每个平台单独准备一整套专门知识。 更直白地说,它试图把“怎么操控手机”这件事,变成“让 Agent 说出目标,然后由系统执行”的事。 一个统一接口,覆盖多种移动设备Mobile MCP 的核心特征之一,是平台无关。 同一套工具可以工作在 iOS 和 Android 之上,也可以面向模拟器、仿真器以及真实设备。它不要求使用者先...
