Project Kickoff
A project kickoff document: a cover with an icon tile and title, a "Tip" callout, the projects board block at full content width, and a deliverables checklist.
Preview
{{--
Project Kickoff — a project document template: a document cover (icon tile
+ title), a "Tip" callout, the projects board block, and a deliverables
checklist. The reading column (cover, tip, checklist) is capped for
comfortable reading; the projects board is the one region that spans the
full content width. Every list is a prop, so a host binds its own tip
copy, projects and deliverables; the defaults render the sample document
the docs show.
--}}
@props([
'title' => 'UX/UI project kickoff',
'tip' => 'Use this template to keep all important information about a new project in one organized place.',
'projects' => null,
'deliverables' => null,
])
@php
$deliverables ??= [
['id' => 'ux-audit', 'label' => 'UX audit'],
['id' => 'moodboard', 'label' => 'Moodboard / style reference'],
['id' => 'wireframes', 'label' => 'Wireframes (mobile + desktop)'],
['id' => 'final-ui-design', 'label' => 'Final UI design'],
['id' => 'interactive-prototype', 'label' => 'Interactive prototype'],
['id' => 'design-system', 'label' => 'Design system (components, typography, spacing)'],
['id' => 'handoff-package', 'label' => 'Handoff package'],
];
@endphp
<x-ui.section as="main" data-slot="project-kickoff" data-surface="admin" space="none" class="min-h-svh py-4 sm:py-6 lg:py-8" {{ $attributes }}>
<x-ui.container size="md" class="space-y-8">
<div class="space-y-6">
<div class="flex size-14 items-center justify-center rounded-lg bg-primary text-primary-foreground" aria-hidden="true">
<svg class="size-6" viewBox="0 0 24 24" fill="currentColor">
<path d="m12 3-1.9 5.8a2 2 0 0 1-1.287 1.288L3 12l5.8 1.9a2 2 0 0 1 1.288 1.287L12 21l1.9-5.8a2 2 0 0 1 1.287-1.288L21 12l-5.8-1.9a2 2 0 0 1-1.288-1.287Z" />
</svg>
</div>
<h1 class="text-3xl font-semibold tracking-tight text-foreground sm:text-4xl">{{ __($title) }}</h1>
</div>
<x-ui.alert :icon="false" role="none">
<x-ui.alert.description>
<span class="font-semibold text-foreground">{{ __('Tip:') }}</span> {{ __($tip) }}
</x-ui.alert.description>
</x-ui.alert>
</x-ui.container>
<x-blocks.projects-board :projects="$projects" />
<x-ui.container size="md" class="space-y-6">
<div class="space-y-2">
<h2 class="text-xl font-semibold tracking-tight text-foreground sm:text-2xl">{{ __('Deliverables checklist') }}</h2>
<p class="text-sm italic text-muted-foreground">{{ __('List the tangible outputs expected from each stage of the project to keep both the team and the client aligned on what\'s being produced.') }}</p>
</div>
<fieldset>
<legend class="sr-only">{{ __('Deliverables checklist') }}</legend>
<ul class="space-y-4">
@foreach ($deliverables as $item)
<li>
<label class="flex cursor-pointer items-center gap-2 text-sm">
<x-ui.checkbox name="deliverables[]" value="{{ $item['id'] }}" />
<span class="text-foreground">{{ __($item['label']) }}</span>
</label>
</li>
@endforeach
</ul>
</fieldset>
</x-ui.container>
</x-ui.section>
Installation
php artisan ui:add pages/project-kickoff
Registry contract
Install confidence
php artisan ui:add pages/project-kickoff
writes only the generated targets below. The CLI validates each file hash before writing and
prompts before replacing local changes unless --force is used.
- Version
- 1.0.1
- License
- open
- Stability
- stable
- Contract
- v1
- Foundation
- ≥ 1.0.0
| Type | Generated target |
|---|---|
| blade | resources/views/pages/project-kickoff.blade.php |
Registry dependencies
Package dependencies
composer: jml/brok:^0.2
Use with AI
A brief for your coding agent: what the page is, the install command, how to render it, its props and the rules. Copy it, or open a prompt about this page in an assistant.
# Brok UI page: Project Kickoff (`project-kickoff`)
A project kickoff document: a cover with an icon tile and title, a "Tip" callout, the projects board block at full content width, and a deliverables checklist.
Brok UI is a Laravel Blade registry. `ui:add` copies this page into the app as plain Blade the app owns; it composes installed `<brok:*>` primitives and semantic design tokens.
## Install
```bash
php artisan ui:add pages/project-kickoff
```
## Render it
```blade
<x-pages.project-kickoff />
```
## Use when
- A shareable project document that keeps the brief, the workspace's projects and a deliverables checklist in one organized place.
- A kickoff or planning doc a team fills in before a project starts, rather than a live per-project status screen.
## Avoid when
- One project's live status screen with progress, KPIs and a task list; use project-overview.
- A cross-project dashboard; use dashboard-overview..05.
## Rules
- Render the installed page with `<x-pages.project-kickoff />` and pass data through its props; edit the copied file only for structural changes.
- Keep the semantic design tokens (`bg-background`, `text-muted-foreground`); never swap in raw colour utilities.
- Keep the `data-slot` attributes and the logical (start/end) spacing so the markup still mirrors under `dir="rtl"`.
## Links
- Docs: https://brokui.dev/pages/project-kickoff
- Registry JSON (files, props, contract): https://brokui.dev/r/open/pages/project-kickoff.json
Working in Claude Code, Cursor or Codex? Give the agent the whole registry through the MCP server or the Brok UI skill.
Guidance
Use when
- A shareable project document that keeps the brief, the workspace's projects and a deliverables checklist in one organized place.
- A kickoff or planning doc a team fills in before a project starts, rather than a live per-project status screen.
Avoid when
- One project's live status screen with progress, KPIs and a task list; use project-overview.
- A cross-project dashboard; use dashboard-overview..05.
Anti-patterns
- Do not replace semantic props with conflicting utility classes.
- Do not remove labels, focus styles, or state attributes.
Usage
Render the page as a component, or wire it to a route. Pass data where useful:
<x-pages.project-kickoff />
Built from blocks & primitives
This page composes installed <brok:*> primitives and semantic design
tokens only — it does not reimplement any primitive. Re-theme it (light, dark, admin, customer) by
editing CSS variables; flip the preview to RTL to confirm it mirrors.
Source
The exact, editable file ui:add writes
into your app. The preview above renders this same source — there are no preview-only pages.
{{--
Project Kickoff — a project document template: a document cover (icon tile
+ title), a "Tip" callout, the projects board block, and a deliverables
checklist. The reading column (cover, tip, checklist) is capped for
comfortable reading; the projects board is the one region that spans the
full content width. Every list is a prop, so a host binds its own tip
copy, projects and deliverables; the defaults render the sample document
the docs show.
--}}
@props([
'title' => 'UX/UI project kickoff',
'tip' => 'Use this template to keep all important information about a new project in one organized place.',
'projects' => null,
'deliverables' => null,
])
@php
$deliverables ??= [
['id' => 'ux-audit', 'label' => 'UX audit'],
['id' => 'moodboard', 'label' => 'Moodboard / style reference'],
['id' => 'wireframes', 'label' => 'Wireframes (mobile + desktop)'],
['id' => 'final-ui-design', 'label' => 'Final UI design'],
['id' => 'interactive-prototype', 'label' => 'Interactive prototype'],
['id' => 'design-system', 'label' => 'Design system (components, typography, spacing)'],
['id' => 'handoff-package', 'label' => 'Handoff package'],
];
@endphp
<x-ui.section as="main" data-slot="project-kickoff" data-surface="admin" space="none" class="min-h-svh py-4 sm:py-6 lg:py-8" {{ $attributes }}>
<x-ui.container size="md" class="space-y-8">
<div class="space-y-6">
<div class="flex size-14 items-center justify-center rounded-lg bg-primary text-primary-foreground" aria-hidden="true">
<svg class="size-6" viewBox="0 0 24 24" fill="currentColor">
<path d="m12 3-1.9 5.8a2 2 0 0 1-1.287 1.288L3 12l5.8 1.9a2 2 0 0 1 1.288 1.287L12 21l1.9-5.8a2 2 0 0 1 1.287-1.288L21 12l-5.8-1.9a2 2 0 0 1-1.288-1.287Z" />
</svg>
</div>
<h1 class="text-3xl font-semibold tracking-tight text-foreground sm:text-4xl">{{ __($title) }}</h1>
</div>
<x-ui.alert :icon="false" role="none">
<x-ui.alert.description>
<span class="font-semibold text-foreground">{{ __('Tip:') }}</span> {{ __($tip) }}
</x-ui.alert.description>
</x-ui.alert>
</x-ui.container>
<x-blocks.projects-board :projects="$projects" />
<x-ui.container size="md" class="space-y-6">
<div class="space-y-2">
<h2 class="text-xl font-semibold tracking-tight text-foreground sm:text-2xl">{{ __('Deliverables checklist') }}</h2>
<p class="text-sm italic text-muted-foreground">{{ __('List the tangible outputs expected from each stage of the project to keep both the team and the client aligned on what\'s being produced.') }}</p>
</div>
<fieldset>
<legend class="sr-only">{{ __('Deliverables checklist') }}</legend>
<ul class="space-y-4">
@foreach ($deliverables as $item)
<li>
<label class="flex cursor-pointer items-center gap-2 text-sm">
<x-ui.checkbox name="deliverables[]" value="{{ $item['id'] }}" />
<span class="text-foreground">{{ __($item['label']) }}</span>
</label>
</li>
@endforeach
</ul>
</fieldset>
</x-ui.container>
</x-ui.section>
Ownership & lifecycle
Owner, release state, review evidence and adoption for this item.
- Owner
- Platform UI (@JoshJML)
- Current version
-
1.0.1 - Status
- Stable
- License
-
open - Deprecation
- Not deprecated
- Contract
-
v1 - Foundation
-
≥ 1.0.0