# PhoenixKitProjects v0.2.0 - 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.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.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.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.EmptyState](PhoenixKitProjects.Web.Components.EmptyState.md): Centered icon + heading + optional sub-text + optional CTA. Used in
every list view ("No projects yet.", "No templates yet.", "No tasks
assigned to you right now.").
- [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.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.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.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.

