# PhoenixKitProjects v0.5.1 - Table of Contents

> Projects module for PhoenixKit — projects, reusable tasks, assignments, and dependencies.

## Modules

- [PhoenixKitProjects](PhoenixKitProjects.md): Projects module for PhoenixKit.
- [PhoenixKitProjects.Activity](PhoenixKitProjects.Activity.md): Activity logging wrapper for the Projects module.
- [PhoenixKitProjects.Errors](PhoenixKitProjects.Errors.md): Atom → translated-string dispatcher for Projects context errors.
- [PhoenixKitProjects.Gettext](PhoenixKitProjects.Gettext.md): Gettext backend for projects-module-specific UI strings.
- [PhoenixKitProjects.L10n](PhoenixKitProjects.L10n.md): Tiny locale-aware date/time formatting helpers used by the projects UI.
- [PhoenixKitProjects.Paths](PhoenixKitProjects.Paths.md): Centralized path helpers for the Projects module.
- [PhoenixKitProjects.Projects](PhoenixKitProjects.Projects.md): Context for projects, tasks, assignments, and dependencies.
- [PhoenixKitProjects.PubSub](PhoenixKitProjects.PubSub.md): Real-time updates for the projects module, backed by
`PhoenixKit.PubSub.Manager`.
- [PhoenixKitProjects.Schemas.Assignment](PhoenixKitProjects.Schemas.Assignment.md): A task instance within a project. Copies description and duration from
the task template at creation time — editable independently.
- [PhoenixKitProjects.Schemas.Dependency](PhoenixKitProjects.Schemas.Dependency.md): A dependency link: `assignment_uuid` cannot start until `depends_on_uuid`
is done. Both must be in the same project (enforced at the context layer).

- [PhoenixKitProjects.Schemas.Project](PhoenixKitProjects.Schemas.Project.md): A project container. Can start immediately (set up tasks first, then
mark as started) or be scheduled for a future date.
- [PhoenixKitProjects.Schemas.Task](PhoenixKitProjects.Schemas.Task.md): Reusable task template with title, description, estimated duration,
and optional default assignee.

- [PhoenixKitProjects.Schemas.TaskDependency](PhoenixKitProjects.Schemas.TaskDependency.md): Default dependency between task templates. When both tasks are added
to the same project, the assignment dependency is auto-created.

- [PhoenixKitProjects.Translations](PhoenixKitProjects.Translations.md): Public API for AI-driven translation of `Project`, `Task`, and
`Assignment` resources. Wraps Oban enqueuing on
`PhoenixKitProjects.Workers.TranslateResourceWorker` and exposes
helpers hosts use to drive the language switcher's `ai_translate`
attr.
- [PhoenixKitProjects.Web.AITranslateFormHelpers](PhoenixKitProjects.Web.AITranslateFormHelpers.md): Shared form-LV helpers for the AI translate bar wiring on project,
template, and task forms.
- [PhoenixKitProjects.Web.AssignmentFormLive](PhoenixKitProjects.Web.AssignmentFormLive.md): Add a task to a project or edit an existing assignment.
Supports picking from library or creating new. Manages assignment
dependencies (which tasks in this project must finish first).

- [PhoenixKitProjects.Web.Components](PhoenixKitProjects.Web.Components.md): Aggregator for the projects module's reusable UI components.
- [PhoenixKitProjects.Web.Components.AITranslateBar](PhoenixKitProjects.Web.Components.AITranslateBar.md): AI-translation affordance for project / template / task forms.
- [PhoenixKitProjects.Web.Components.AssignmentStatusBadge](PhoenixKitProjects.Web.Components.AssignmentStatusBadge.md): Status presentation for an `Assignment.status` value (`"todo"`,
`"in_progress"`, `"done"`). Mirrors `DerivedStatusBadge` but for the
assignment lifecycle instead of the project lifecycle.
- [PhoenixKitProjects.Web.Components.DerivedStatusBadge](PhoenixKitProjects.Web.Components.DerivedStatusBadge.md): Badge that renders a project's `Project.derived_status/1` value as
a daisyUI badge with the canonical icon + color + gettext'd label.
- [PhoenixKitProjects.Web.Components.PageHeader](PhoenixKitProjects.Web.Components.PageHeader.md): Section heading + description + action button row used by every
admin LV in the projects module (Overview, Projects list, Tasks,
Templates, Project show, every form).
- [PhoenixKitProjects.Web.Components.PopupHost](PhoenixKitProjects.Web.Components.PopupHost.md): Layered daisyUI `<dialog>` modal stack driven by a `modal_stack`
assign. The function component renders the always-visible content
(default slot) plus one `<dialog>` per stack frame, delegating each
frame's body rendering to the `:frame` slot the host provides.
- [PhoenixKitProjects.Web.Components.RunningCard](PhoenixKitProjects.Web.Components.RunningCard.md): One row in the dashboard's "Running" section — clickable link
wrapping a title, tier pill, started-X-ago metadata, done/total
counts, an in-progress note, and a colored progress bar.
- [PhoenixKitProjects.Web.Components.SmartLink](PhoenixKitProjects.Web.Components.SmartLink.md): Embed-mode aware link.
- [PhoenixKitProjects.Web.Components.SmartMenuLink](PhoenixKitProjects.Web.Components.SmartMenuLink.md): Embed-mode aware `<li>` entry for use inside `<.table_row_menu>`.
- [PhoenixKitProjects.Web.Components.SortableTable](PhoenixKitProjects.Web.Components.SortableTable.md): Drag-to-reorder list table. Wraps the core `SortableGrid` hook
(`priv/static/assets/phoenix_kit.js`) with the projects module's
standard chrome: card-shadow shell, table layout, drag-handle
column with bars-3 icon, hover state, and `align-middle` cells so
icons stay vertically centered during drag.
- [PhoenixKitProjects.Web.Components.StatTile](PhoenixKitProjects.Web.Components.StatTile.md): Compact bordered card with a label and a big number. Used in
OverviewLive's top stats row (Running / Tasks in progress / Tasks
todo / Tasks done) and in the bottom navigation row.
- [PhoenixKitProjects.Web.Components.TabsStrip](PhoenixKitProjects.Web.Components.TabsStrip.md): daisyUI `tabs tabs-boxed` segment switcher driven by the active
value + a list of `{value, label, icon}` tuples. Used in
`AssignmentFormLive` ("From library" / "Create new") and ready
for reuse anywhere a small set of mutually-exclusive panes shares
a single LV-managed assign.
- [PhoenixKitProjects.Web.Components.TierPill](PhoenixKitProjects.Web.Components.TierPill.md): Status pill rendered next to a project title on the Running
dashboard. Encodes the prioritized-tier classification
- [PhoenixKitProjects.Web.Helpers](PhoenixKitProjects.Web.Helpers.md): Cross-cutting helpers for the projects module's LiveView layer.
- [PhoenixKitProjects.Web.OverviewLive](PhoenixKitProjects.Web.OverviewLive.md): Projects module dashboard.
- [PhoenixKitProjects.Web.PopupHostLive](PhoenixKitProjects.Web.PopupHostLive.md): Opinionated wrapper LV that pairs the `<.popup_host>` function
component with the emit-mode PubSub contract.
- [PhoenixKitProjects.Web.ProjectFormLive](PhoenixKitProjects.Web.ProjectFormLive.md): Create or edit a project.
- [PhoenixKitProjects.Web.ProjectShowLive](PhoenixKitProjects.Web.ProjectShowLive.md): Show a project with a vertical timeline of assignments.
Supports inline status changes, duration editing, dependency
management, and tracks who completed each task.

- [PhoenixKitProjects.Web.ProjectsLive](PhoenixKitProjects.Web.ProjectsLive.md): List projects.
- [PhoenixKitProjects.Web.TaskFormLive](PhoenixKitProjects.Web.TaskFormLive.md): Create or edit a reusable task template, including default dependencies.
- [PhoenixKitProjects.Web.TasksLive](PhoenixKitProjects.Web.TasksLive.md): List reusable task templates.
- [PhoenixKitProjects.Web.TemplateFormLive](PhoenixKitProjects.Web.TemplateFormLive.md): Create or edit a project template.
- [PhoenixKitProjects.Web.TemplatesLive](PhoenixKitProjects.Web.TemplatesLive.md): List project templates.
- [PhoenixKitProjects.Workers.TranslateResourceWorker](PhoenixKitProjects.Workers.TranslateResourceWorker.md): Oban worker that translates a `Project` / `Task` / `Assignment`'s
translatable fields from a source language to a single target
language, then writes the result into the resource's `translations`
JSONB map.

