hile-core
Installation
SKILL.md
@hile/core SKILL
本文档面向代码生成器与维护者,目标是确保生成代码严格符合容器语义。
1. 强约束(必须遵守)
- 服务必须使用
async (shutdown)形态定义。 - 只能通过
defineService/container.register产出服务对象。 - 只能通过
loadService/container.resolve获取服务实例。 - 外部资源创建后必须立即注册
shutdown。 - 禁止在模块顶层缓存
await loadService(...)结果。 - 依赖服务必须在服务函数内部加载。
- 多个 teardown 默认按 LIFO 顺序执行。
container.shutdown()必须执行所有已通过shutdown(fn)注册的回调;在 shutdown 进行中才完成启动并调用curDown的服务,也会在让出一次事件循环后被关掉(避免竞态漏关)。
2. 生命周期与超时约束
容器生命周期:init -> ready -> stopping -> stopped。