Skip to main content

CLI

Use @hile/cli when an application should start through hile start instead of a custom Node entrypoint.

Copy-Paste Example

Run:

More Examples

Template choices:
Generated default HTTP shape:

Runtime And Lifecycle Notes

  • defineService(key, fn) registers a service factory and does not execute it.
  • loadService(service) executes the factory on first call and returns the cached value afterwards.
  • The shutdown callback registers teardown functions; they run in LIFO order.
  • The container tracks dependencies when service factories call loadService().
  • container.shutdown() triggers registered teardowns.
  • @hile/bootstrap loads env files first, sets NODE_ENV, imports auto-load packages, scans boot files, and installs exit hooks.
  • @hile/logger.createLogger() returns { logger, teardown }.
  • @hile/ioredis.createRedis() waits for connect.
  • @hile/typeorm.createDataSource() initializes a TypeORM DataSource.

Anti-Patterns

  • Reusing one service key for unrelated factories.
  • Missing shutdown() callbacks for network connections or servers.
  • Assuming TypeORM env config fills entities automatically when TYPEORM_ENTITIES is not set.
  • Calling transaction() and manually committing; the helper commits or rolls back internally.