Lific
Concepts

Modules and labels

How modules divide a project into areas and labels tag issues and pages, what each status and field does, and what deleting or merging them changes.

Modules and labels both sort work inside one project, in different ways. A module answers "which part of the project is this in", so an issue belongs to at most one. A label answers "what kind of thing is this", so an issue or page can carry as many as apply. Neither can be shared between projects, and an issue can only use modules and labels from its own project.

Modules

A module is an area of a project, such as Web UI, CLI or Billing, or a stretch of work such as v2 launch.

FieldWhat it holds
nameRequired. Tools that take a module by name match it without case. Names are not unique, so keep them distinct.
descriptionMarkdown.
emojiOptional icon: a literal emoji, or a Lucide icon written lucide:Package.
statusWhere the module stands. New modules start active.
created_at, updated_atSet by Lific.

Setting an issue's module to one from another project is refused with an error.

Module status

A module has one of six statuses. Lific stores the status and filters by it, but attaches no behavior: closing a module does not touch its issues, and you can still assign issues to a module that is done.

StatusUse it forModules view tab
backlogAn area you intend to work on, not yet scheduled.Backlog
plannedScheduled, not started.Active
activeBeing worked on now.Active
pausedStarted, then set aside.Active
doneFinished.Archive
cancelledWill not be done.Archive

The web UI's Modules view files each module under the tab shown. Its progress bar counts the module's done issues against all issues assigned to it, so a cancelled issue counts toward the total without ever counting as done.

Deleting a module

Deleting a module is immediate; modules have no trash. Its issues stay where they are with no module. The activity log records module changes by name, so the history of those issues still shows which module they were in.

Labels

A label is a name and a color.

FieldWhat it holds
nameRequired and unique within the project.
colorA hex color such as #EF4444, used for the label's chip. Defaults to #6B7280, a neutral gray. Lific stores the value as sent without checking it.

An issue or a project page can carry any number of the project's labels. Workspace pages cannot have labels, because they belong to no project.

Setting labels

When you create or update an issue or page, you name its labels, and the list you send becomes its complete label set:

  • Leave labels out to keep the current labels.
  • Send [] to remove them all.
  • Send a list to replace them. To add one label, send the current labels plus the new one.

Names must match an existing label exactly, including case. A name with no matching label is skipped without an error, so check the result if the label set matters. Create the label first to use a new one.

Merging and deleting labels

Merging folds one label into another in the same project. Everything that wore the source label wears the target instead, and the source label is deleted. Use it to clean up near-duplicates such as bug and Bug. It is available over REST as POST /api/labels/{id}/merge.

Deleting a label is immediate and removes it from every issue and page that carried it. It cannot be undone.

Who can change them

Anyone who can read the project can see its modules and labels. Creating, renaming, changing and deleting them takes maintainer while membership is enforced, and lead while it is off. Choosing which module and labels an issue or page has is an edit of that issue or page, so it takes maintainer.

On this page