Understanding Project Definition Structure
Farline AI uses a YAML-based project definition to define projects. This article explains the structure and all available fields.
Basic Project Structure
project_name: My Project
unit: people weeks
scenarios:
- scenario: Baseline
start_date: 2025-04-01
workstreams:
- name: Team
capacity: 3
work_items:
- id: TASK-1
name: Design
size: 5
workstream: Team
priority: 1
- id: TASK-2
name: Build
size: 8
workstream: Team
priority: 2
depends_on: [TASK-1]
- id: TASK-3
name: Test
size: 4
workstream: Team
priority: 3
depends_on: [TASK-2]
milestones:
- name: Project Complete
target_date: 2025-05-01
includes: [TASK-3]Project-Level Fields
project_name (required)
The name of your project.
project_name: Website Redesignunit (required)
The unit of measurement for capacity and work item sizes. Common values:
story pointsengineer-dayshourssprints
unit: story pointsScenarios
Each project can have multiple scenarios to model different planning options.
scenario (required)
The scenario name. Common scenarios:
Baseline- Your current planOptimistic- Best case scenarioPessimistic- Worst case scenarioFast Track- With additional resources
start_date (required)
The date work begins for this scenario (ISO format).
scenarios:
- scenario: Baseline
start_date: 2025-04-01
workstreams: [...]
work_items: [...]
- scenario: Fast Track
start_date: 2025-04-01
workstreams: [...]
work_items: [...]Workstreams
Workstreams represent teams or tracks of work.
name (required)
The workstream name.
- name: Frontend Teamcapacity (required)
How many units of work this workstream can complete per week.
capacity: 10 # 10 story points per weekstart_delay (optional)
Delay the start of this workstream by a number of weeks.
start_delay: 2 # Start 2 weeks into the projectmax_concurrent_items (optional)
Maximum number of work items that can be in progress simultaneously (WIP limit).
max_concurrent_items: 2 # Only work on 2 items at a timeWithout this setting, the workstream can work on as many items as its capacity allows. Use WIP limits to:
- Focus the team on fewer items for faster completion
- Reduce context switching overhead
- Create more realistic schedules
Work Items
Work items are the individual pieces of work to be completed. Work items are defined at the scenario level (not nested under workstreams) and reference their workstream by name.
id (required)
Unique identifier for the work item. Used in dependencies.
- id: backend-apiname (required)
Display name for the work item.
name: Build Backend APIsize (required)
How many units of work this item requires (in your project's unit).
size: 25 # 25 story pointsworkstream (required)
The name of the workstream this item is assigned to.
workstream: Backend Teamdepends_on (optional)
Array of work item IDs that must complete before this item can start.
depends_on: [ui-design, backend-api]priority (optional)
Priority hint for slot allocation when WIP limits are in effect. Lower numbers = higher priority. Items with the same priority can run in parallel. This is a soft scheduling preference, not a strict ordering constraint.
priority: 1 # Higher priority - gets slots first when WIP limits applydelay (optional)
Add a fixed delay (in weeks) before this work item starts.
delay: 2 # Wait 2 weeks before startingMilestones
Milestones represent key dates that depend on work items.
name (required)
Display name for the milestone.
- name: Beta Releasetarget_date (required)
The desired completion date for this milestone (ISO format).
target_date: 2025-06-01includes (required)
Array of work item IDs that must complete before this milestone is reached.
includes: [testing, documentation]Complete Example
project_name: Mobile App Launch
unit: story points
scenarios:
- scenario: Baseline
start_date: 2025-04-01
workstreams:
- name: iOS Team
capacity: 12
max_concurrent_items: 2 # Focus on 2 items at a time
- name: Backend Team
capacity: 8
work_items:
- id: ios-auth
name: Authentication
size: 15
workstream: iOS Team
priority: 1
- id: ios-core
name: Core Features
size: 40
workstream: iOS Team
priority: 2
depends_on: [ios-auth]
- id: ios-polish
name: Polish & QA
size: 20
workstream: iOS Team
priority: 3
depends_on: [ios-core]
- id: api-setup
name: API Infrastructure
size: 10
workstream: Backend Team
priority: 1
- id: api-endpoints
name: API Endpoints
size: 25
workstream: Backend Team
priority: 2
depends_on: [api-setup]
- id: api-testing
name: API Testing
size: 15
workstream: Backend Team
priority: 3
depends_on: [api-endpoints]
milestones:
- name: Alpha Release
target_date: 2025-06-01
includes: [ios-core, api-endpoints]
- name: Public Launch
target_date: 2025-07-01
includes: [ios-polish, api-testing]Tips for Writing Project Definitions
- Indentation matters - YAML uses 2 spaces per level (not tabs)
- Use quotes sparingly - Only needed for special characters or numbers as strings
- Test incrementally - Build your project definition step by step
- Use the AI - The AI chat can generate the project definition for you if you describe what you want
- Dependencies are powerful - Use them to model realistic project constraints
Common Patterns
Parallel Workstreams
Multiple teams working simultaneously:
workstreams:
- name: Team A
capacity: 10
- name: Team B
capacity: 10
work_items:
- id: task-a
name: Team A Work
size: 20
workstream: Team A
- id: task-b
name: Team B Work
size: 20
workstream: Team BSequential Phases
Work items that must happen in order:
work_items:
- id: phase1
name: Phase 1
size: 20
workstream: Team
priority: 1
- id: phase2
name: Phase 2
size: 30
workstream: Team
priority: 2
depends_on: [phase1]
- id: phase3
name: Phase 3
size: 25
workstream: Team
priority: 3
depends_on: [phase2]Cross-Team Dependencies
Frontend depending on backend:
workstreams:
- name: Backend
capacity: 5
- name: Frontend
capacity: 5
work_items:
- id: api
name: Build API
size: 20
workstream: Backend
- id: ui
name: Build UI
size: 15
workstream: Frontend
depends_on: [api] # Waits for backendRelated Articles
- Project Templates - Browse and load predefined project templates
- Getting Started with Farline AI - Learn the basics
- Using the AI Chat - Let AI generate project definitions for you
- Importing From Jira - Import existing projects
Last updated: 2025-12-19