Skip to main content

ALAI Client Onboarding — Runbook

ALAI Client Onboarding — Runbook

Version: 1.0 Created: 2026-07-28 Owner: John (AI Director) / Alem Basic (CEO) Source process: processes/client-onboarding.md, processes/quick-ref/client-onboarding-quickref.md Tooling: node ~/system/tools/onboard-client.js, Skill onboard-client


1. Purpose

Every new ALAI client goes through 7 mandatory phases before development starts. No phase is skipped. Each phase has an owner, a required output, and a gate condition that must be true before moving to the next phase.


2. The 7 Phases

Phase 1: First Contact       -> gate: qualified lead
Phase 2: Discovery           -> gate: brief approved by client
Phase 3: NDA                 -> gate: NDA signed
Phase 4: Proposal            -> gate: proposal accepted
Phase 5: Contract            -> gate: contract signed + first payment
Phase 6: Project Setup       -> gate: project scaffolded + kick-off done
Phase 7: Development Start   -> SDLC pipeline takes over (processes/sdlc/)
# Phase Owner Timeline Gate
1 First Contact BizDev Respond within 24h Lead qualified, discovery call booked
2 Discovery BA + PO 1-3 days Project Brief written and approved by client
3 NDA John 1 day NDA signed by both sides
4 Proposal PO + Tech Lead 3-5 days Client accepts proposal in writing
5 Contract John 2-3 days Contract signed both sides + first payment received (if milestone-based)
6 Project Setup John + SM 1 day Project scaffolded, kick-off held, backlog created, all access granted
7 Development Start SM + Tech Lead Ongoing N/A — SDLC and sprint cadence take over

3. Phase Detail

Phase 1 — First Contact

  • Client reaches out (email, referral, direct)
  • Record: name, company, contact, how they found us
  • Quick qualification check: is budget/scope/timeline realistic?
  • Qualified -> schedule Discovery Call. Not qualified -> polite decline with referral if possible.
  • Output: clients/<CLIENT>/intake/first-contact.md, lead status set qualified/not qualified

Phase 2 — Discovery

  • Discovery call/meeting with client
  • Understand: problem, goals, users, budget, timeline
  • Define project type (web app, mobile app, API, landing page, etc.) and candidate tech stack
  • Write the Project Brief (client info, problem, proposed solution, users, platforms, top 5-10 features, integrations, budget range, timeline, success metrics)
  • Output: clients/<CLIENT>/intake/discovery-notes.md, clients/<CLIENT>/intake/project-brief.md

Phase 3 — NDA

  • Fill NDA template (legal/nda-template.md) with client details
  • Send to client for signature via Documenso (skill: send-for-signing)
  • Store signed copy
  • Output: clients/<CLIENT>/legal/nda-signed.md + signed PDF
  • Hard rule: technical details and access credentials are NOT shared before NDA is signed.

Phase 4 — Proposal

  • Based on Project Brief, define: scope of work, tech stack decision (with rationale), phases/milestones, timeline, pricing (fixed/hourly/milestone), explicit in-scope vs out-of-scope, assumptions, validity period
  • Review by John, then present to client
  • Output: clients/<CLIENT>/intake/proposal.md

Phase 5 — Contract

  • Fill Contract template (legal/contract-template.md): scope from proposal, payment terms, IP ownership, warranties
  • IP ownership must be explicitly decided (client owns all / ALAI retains framework+tooling / license)
  • Send for review and signature
  • Receive first payment if milestone-based
  • Output: clients/<CLIENT>/legal/contract-signed.md + signed PDF

Phase 6 — Project Setup

  • Scaffold client directory:
    mkdir -p clients/<CLIENT>/{intake,legal,docs,src,designs,tests,comms/channels/standups,comms/meetings,comms/decisions,deployments}
    
  • Create project.json (name, type, description, tech_stack, platforms, team, phases, budget, timeline)
  • Kick-off meeting: client + PO + Tech Lead + John — cover scope/milestones, communication channels, access & credentials, sprint cadence, escalation path. Notes -> clients/<CLIENT>/comms/meetings/kick-off.md
  • PO creates initial backlog from scope, prioritized (MoSCoW or numeric)
  • Output: scaffolded directory, project.json, kick-off notes, initial backlog

Phase 7 — Development Start

  • Sprint Planning (first sprint)
  • Tasks assigned to agents per RACI
  • SDLC pipeline (processes/sdlc/) takes over
  • Daily standups logged in comms/channels/standups/

4. Client Directory Structure

Full standard: processes/client-document-structure.md

clients/<CLIENT>/
├── intake/
│   ├── first-contact.md
│   ├── discovery-notes.md
│   ├── project-brief.md
│   ├── proposal.md
│   ├── client-materials/        <- everything client provides, with README index
│   └── correspondence/
├── legal/
│   ├── drafts/
│   └── signed/
├── docs/{specs,research}/
├── designs/
├── src/
├── tests/
├── comms/{channels/standups,meetings,decisions}/
├── deployments/
└── project.json

5. RACI

Activity BizDev BA PO Tech Lead SM John Alem
First Contact R I I - - A I
Discovery C R R C - A I
NDA - - - - - R/A I
Proposal - C R R - A A
Contract - - - - - R A
Project Setup - - I C R R/A I
Kick-off - C R R R A I

R = Responsible, A = Accountable, C = Consulted, I = Informed


6. Automation Hooks

  1. Novi lead -> creates clients/<CLIENT>/intake/ + notifies BizDev
  2. Brief approved -> triggers NDA template fill
  3. NDA signed -> triggers Proposal creation
  4. Proposal accepted -> triggers Contract fill
  5. Contract signed -> triggers Project Setup scaffold
  6. Kick-off done -> project-workflow.js init

Guided end-to-end execution: node ~/system/tools/onboard-client.js or Skill onboard-client (7-phase interactive workflow).


7. Hard Rules

  • Mandatory for every client, no exceptions.
  • NDA before any technical detail is shared.
  • Alem approves every contract and every proposal (Accountable).
  • Pricing decided by Alem — team prepares options, does not set the number.
  • Cloud/tenant resources for this client go in the client's own tenant tree (~/clients-external/<client>/), never mixed with another tenant.


Document Location: ~/ALAI/processes/runbooks/ALAI-CLIENT-ONBOARDING.md Access Control: INTERNAL