Firefly Labs
← ブログ

Every repo is a product

firetasks lives as its own repo — not as a folder inside a mega-project, but as a standalone product with its own README, issues, and release cadence.

That pattern repeats across the lab.

One repo, one job

Monorepos are fine for teams that need them. We are not that team right now. Each Firefly project solves one problem:

  • firetasks — tasks
  • firekeep — credentials
  • firecalendar — events
  • firemusic — playback

Splitting them means you can install, fork, or ignore any single tool without inheriting the whole suite. It also means each repo can fail or evolve independently without dragging everything else along.

Ownership is clarity

When a repo is a product, decisions get easier:

  • Does this feature belong here, or in a different tool?
  • Is this repo stable enough to recommend, or still experimental?
  • Who answers issues?

Blurry boundaries create blurry software. We prefer hard edges.

The suite still exists

Separate repos does not mean disconnected tools. Shared conventions, install paths, and cross-project utilities keep the lab coherent without collapsing everything into one codebase.

The suite is an ecosystem, not a monolith. The repos are the atoms.