给 JavaScript 项目清理死代码前,我会先用 Knip 把入口、依赖和导出账本跑出来 2026-07-17 2026-07-17 技术分享 JavaScript / TypeScript / Knip / 开源工具 / 开发实践 Knip 适合把 JavaScript 和 TypeScript 项目里的未使用文件、依赖和导出先变成可复核报告,再接入清理节奏和 CI 闸口。 3 | 0
处理 Git 冲突前,我会先用 Mergiraf 把语法树合并和人工复核分层 2026-07-16 技术分享 Git / Mergiraf / 开发实践 / 开源工具 / 代码协作 Mergiraf 用语法树理解三方版本,适合先处理机械冲突,再把真正需要人工判断的风险点留给评审和测试。 4 | 0
给 AI Agent 补可观测性前,我会先用 OpenTelemetry 拆清 span 边界 2026-07-09 技术分享 AI / OpenTelemetry / Agent / 可观测性 / 开发实践 一篇面向 AI Agent 工程化的 OpenTelemetry 实践笔记:把一次回答拆成 trace、span、事件和属性,先留住可回放证据,再讨论模型与工具优化。 2 | 0
把数据分析 Notebook 交给团队前,我会先用 marimo 拆清状态边界 2026-07-07 技术分享 Python / marimo / Notebook / 开发实践 / 开源工具 一篇 marimo 开源 Notebook 的开发实践:把响应式执行、纯 Python 文件、脚本化运行、App 交付和版本审查拆开,让数据分析更容易复现、协作和发布。 1 | 0
把 AI 应用交给 Genkit 前,我会先把 flow、prompt 和工具边界拆清楚 2026-07-06 技术分享 AI / Genkit / Firebase / 开发实践 / 开源工具 Genkit 适合把 AI 应用里的调用、工具、提示词和可观测性收进一条可复查的工程路径。 6 | 0
把接口调试集合交给 Bruno 前,我会先拆清环境和秘密边界 2026-07-02 开发实践 Bruno / API 调试 / 开源工具 / Git / DevOps / 开发实践 一篇面向团队 API 调试集合治理的实践笔记:用 Bruno 保存本地可读集合文件,同时把环境变量、秘密值、CLI 执行和 CI 报告边界拆清楚,避免把个人调试习惯直接带进仓库。 5 | 0
把事件总线交给 NATS JetStream 前,我会先分清 stream 和 consumer 边界 2026-06-30 开发实践 NATS / JetStream / 消息队列 / 云原生 / 开源项目 / 开发实践 一篇面向小团队的 NATS JetStream 实践笔记:先把事件入口、持久化 stream、消费确认和 replay 证据拆清楚,再把临时脚本里的消息流量迁进去。 3 | 0
把定时脚本交给 Kestra 前,我会先画清工作流边界 2026-06-29 开发实践 Kestra / 工作流编排 / 开源项目 / 自动化 / 开发实践 一篇面向小团队的 Kestra 实践笔记:把定时任务、Webhook、脚本执行和失败证据收进同一条可观察工作流,先治理边界,再扩大自动化范围。 4 | 0
把 Python 工具链交给 uv 前,我会先分清三类环境 2026-06-26 2026-06-26 开发实践 uv / Python / 开源项目 / 依赖管理 / DevOps / 开发实践 一篇面向小团队的 uv 实践笔记:把项目依赖、一次性命令工具和 CI 环境分开治理,让 Python 工具链更容易复现和交接。 3 | 0
把权限判断交给 OpenFGA 前,我会先画清 tuple 和模型边界 2026-06-18 2026-06-18 开发实践 OpenFGA / 权限系统 / 开源项目 / SaaS / 开发实践 一篇面向 SaaS 小团队的 OpenFGA 实践笔记:先把资源、关系、tuple、模型版本和测试流程收拢,再把权限检查接进业务服务。 4 | 0