Core Features

Using the Advanced Editor

The Advanced Editor lets you define project plans directly as text — giving you full control over every field. It supports two formats: Markdown (default, recommended) and YAML.

Use the YAML / Markdown toggle in the editor toolbar to switch between modes. Switching converts your current plan automatically — no data is lost.


Markdown Format

Markdown is the default and recommended format. It is designed to be readable without any technical background — you can share a Markdown plan with a project manager or stakeholder and they can understand it immediately.

Quick-start example

# My Project

- unit: people weeks

## Scenario: Plan A

- start: 2026-03-17

### Workstreams

- Team (3 people)

### Work Items

- TASK-1 Task 1 (5) @Team
- TASK-2 Task 2 (8) @Team → TASK-1
- TASK-3 Task 3 (6) @Team → TASK-2

### Milestones

- 2026-04-06 — Project Complete: TASK-3

Project name and attributes

The document starts with a top-level heading (#) containing the project name. Project-level settings follow as a bullet list.

# Website Redesign

- unit: story points
- rate: $1,500/week
- currency: USD
- budget: $120,000
AttributeRequiredNotes
unit:NoUnit of measurement for sizes and capacity (e.g. people weeks, story points, days).
rate:NoDefault cost per person per week. Maps to default_unit_cost.
currency:NoISO 4217 code (e.g. USD, GBP, EUR).
budget:NoProject-level budget. Shown in cost analysis. Can be overridden per scenario.

Linking to an external tool

Make the H1 a Markdown link to attach a Jira project, Linear workspace, or any URL:

# [Website Redesign](https://acme.atlassian.net/jira/projects/WEB)

Scenarios

Each scenario is an ## heading prefixed with Scenario:, followed by a bullet list of scenario attributes.

## Scenario: Baseline

- start: 2026-04-01
- budget: $100,000
AttributeRequiredNotes
start:YesISO date (YYYY-MM-DD). When work begins for this scenario.
budget:NoPer-scenario budget. Overrides the project-level budget for cost analysis.

A project can contain multiple scenarios to model different options:

## Scenario: Lean Team

- start: 2026-04-01

...

## Scenario: Full Squad

- start: 2026-04-01
- budget: $200,000

...

Workstreams

The ### Workstreams subsection contains a bullet list of teams or tracks of work.

### Workstreams

- Engineering (5 people)
- Design (2 people)
- QA (2 people, starts week 4)
- Backend (3 people, $2,000/week)
TokenRequiredNotes
NameYesFree text. Used in @Workstream references on work items.
(N people) or (N)YesCapacity — how many people (units) work on this stream each week.
$X/weekNoPer-person weekly cost for this workstream. Overrides the project rate:.
starts week NNoDelays this workstream's start by N weeks. Useful for teams joining mid-project.

Linking a workstream to Jira

Make the workstream name a Markdown link:

- [Backend](https://acme.atlassian.net/jira/boards/12) (3 people, $2,000/week)

Work Items

The ### Work Items subsection contains a bullet list. Each item follows this pattern:

- ID Name (size) @Workstream → dep-id, dep-id
### Work Items

- BE-1 API Design (4) @Backend
- BE-2 Core Endpoints (10) @Backend → BE-1
- FE-1 Design System (5) @Frontend
- FE-2 Screens (12) @Frontend → FE-1, BE-1
TokenRequiredNotes
IDYesUnique identifier within the scenario (e.g. BE-1, TASK-3, EPIC-12). Used in depends_on and milestone includes.
NameYesDisplay name. Free text, ends at the first (size) token.
(size)YesEffort in the project's unit. Integer or decimal.
@WorkstreamYesThe workstream this item is assigned to. Must match a workstream name exactly (case-insensitive).
→ depsNoComma-separated IDs that must complete before this item starts. Use -> if you can't type — the editor normalises it automatically.

Priority is determined by order — items listed first are scheduled first. No explicit priority number is needed.

Descriptions

Add a description on the next indented line:

- BE-2 Core Endpoints (10) @Backend → BE-1
  Implements all REST endpoints for users, products, and orders.

Linking work items to Jira / Linear

Make the ID a Markdown link. The link text becomes the Farline ID; the URL is stored as the external reference.

- [BE-2](https://acme.atlassian.net/browse/BE-2) Core Endpoints (10) @Backend → BE-1

Parent / child hierarchy

Indent a bullet under another work item to create a parent–child relationship:

- FE-2 Core Screens (12) @Frontend → FE-1
  - FE-2a Onboarding (4) @Frontend → FE-1
  - FE-2b Product Pages (5) @Frontend → FE-1
  - FE-2c Checkout (3) @Frontend → FE-2a, FE-2b

Milestones

The ### Milestones subsection contains a bullet list of milestone entries.

### Milestones

- 2026-05-01 — API Complete: BE-1, BE-2, BE-3
- App Ready: FE-2, QA-2

With a target date: - YYYY-MM-DD — Name: id, id, ...

Without a target date: - Name: id, id, ...

The target date is optional. When omitted, Farline forecasts when the milestone will land based on the included work items.

PartRequiredNotes
DateNoISO date. When present, must be separated from the name by (em-dash with spaces).
NameYesMilestone display name.
:YesSeparates name from included IDs.
IDsYesComma-separated work item IDs that must complete to reach this milestone.

The Clean button

The Clean button in the toolbar sends your draft to an AI that normalises it to canonical form — fixing formatting, capitalisation, and syntax — while never inventing data. Use it when pasting from another source or after a quick rough draft. A before/after preview lets you accept or discard the change.


Markdown template samples

Simple Project

Two scenarios comparing a smaller and larger team, with sequential work items.

# My Project

- unit: people weeks

## Scenario: Plan A

- start: 2026-03-17

### Workstreams

- Team (3 people)

### Work Items

- TASK-1 Task 1 (5) @Team
- TASK-2 Task 2 (8) @Team → TASK-1
- TASK-3 Task 3 (6) @Team → TASK-2

### Milestones

- 2026-04-06 — Project Complete: TASK-3

## Scenario: Plan B

- start: 2026-03-17

### Workstreams

- Team (5 people)

### Work Items

- TASK-1 Task 1 (5) @Team
- TASK-2 Task 2 (8) @Team → TASK-1
- TASK-3 Task 3 (6) @Team → TASK-2

### Milestones

- 2026-04-01 — Project Complete: TASK-3

Software Development Project

Two scenarios, two workstreams, cross-team dependencies, and links to Jira epics.

# [Software Development Project](https://your-org.atlassian.net/browse/DEV)

- unit: points

## Scenario: Baseline Plan

- start: 2026-04-01

### Workstreams

- [Wombat Dev Team](https://your-org.atlassian.net/browse/DEV) (50 people)
- Wallaby Dev Team (20 people, starts week 4)

### Work Items

- [DEV-EPIC-1](https://your-org.atlassian.net/browse/DEV-EPIC-1) Feature A (100) @Wombat Dev Team
- [DEV-EPIC-2](https://your-org.atlassian.net/browse/DEV-EPIC-2) Feature B (150) @Wombat Dev Team → DEV-EPIC-1
- DEV-EPIC-3 Feature C (150) @Wombat Dev Team
- DEV-EPIC-4 Feature D (80) @Wallaby Dev Team
- DEV-EPIC-5 Rollout (80) @Wallaby Dev Team → DEV-EPIC-1, DEV-EPIC-2, DEV-EPIC-3, DEV-EPIC-4

### Milestones

- 2026-04-15 — Feature Complete: DEV-EPIC-1, DEV-EPIC-2, DEV-EPIC-3, DEV-EPIC-4
- 2026-04-15 — Ready to Launch: DEV-EPIC-5

## Scenario: Bigger and Earlier Wombat Team

- start: 2026-04-01

### Workstreams

- Wombat Dev Team (50 people)
- Wallaby Dev Team (40 people)

### Work Items

- DEV-EPIC-1 Feature A (100) @Wombat Dev Team
- DEV-EPIC-2 Feature B (150) @Wombat Dev Team → DEV-EPIC-1
- DEV-EPIC-3 Feature C (150) @Wallaby Dev Team
- DEV-EPIC-4 Feature D (80) @Wallaby Dev Team
- DEV-EPIC-5 Rollout (80) @Wallaby Dev Team → DEV-EPIC-1, DEV-EPIC-2, DEV-EPIC-3, DEV-EPIC-4

### Milestones

- 2026-04-15 — Feature Complete: DEV-EPIC-1, DEV-EPIC-2, DEV-EPIC-3, DEV-EPIC-4
- 2026-04-15 — Ready to Launch: DEV-EPIC-5

YAML Format

YAML is the original Farline format, available for users who prefer explicit structure or are migrating existing definitions from other tools. Switch to it using the YAML toggle in the editor toolbar.

Quick-start example

project_name: My Project
unit: people weeks

scenarios:
  - scenario: Plan A
    start_date: 2026-03-17
    workstreams:
      - name: Team
        capacity: 3
    work_items:
      - id: TASK-1
        name: Task 1
        size: 5
        workstream: Team
      - id: TASK-2
        name: Task 2
        size: 8
        workstream: Team
        depends_on: [TASK-1]
      - id: TASK-3
        name: Task 3
        size: 6
        workstream: Team
        depends_on: [TASK-2]
    milestones:
      - name: Project Complete
        target_date: 2026-04-06
        includes: [TASK-3]

Project-level fields

FieldRequiredNotes
project_nameYesDisplay name of the project.
unitNoUnit of measurement for sizes and capacity.
default_unit_costNoDefault cost per person per week.
currencyNoISO 4217 code (e.g. USD).
budgetNoProject-level budget.
external_idNoURL or ID linking to an external tool (e.g. Jira project).
project_name: Mobile App Launch
unit: people weeks
default_unit_cost: 1500
currency: USD
budget: 100000
external_id: https://acme.atlassian.net/jira/projects/MOB

Scenarios

scenarios:
  - scenario: Baseline
    start_date: 2026-04-01
    budget: 100000        # optional — overrides project-level budget
    workstreams: [...]
    work_items: [...]
    milestones: [...]

  - scenario: Fast Track
    start_date: 2026-04-01
    workstreams: [...]
    work_items: [...]
    milestones: [...]
FieldRequiredNotes
scenarioYesScenario display name.
start_dateYesISO date (YYYY-MM-DD).
budgetNoOverrides project.budget for this scenario.

Workstreams

workstreams:
  - name: Engineering
    capacity: 5
    unit_cost: 2000       # optional — cost per person per week
    start_delay: 4        # optional — weeks before this stream starts
    max_concurrent_items: 2  # optional — WIP limit
    external_id: https://acme.atlassian.net/jira/boards/12
FieldRequiredNotes
nameYesWorkstream name. Referenced in work items via workstream:.
capacityYesPeople (units) available per week.
unit_costNoPer-person weekly cost. Overrides default_unit_cost.
start_delayNoWeeks after project start before this workstream activates.
max_concurrent_itemsNoWIP limit — maximum items in progress at once.
external_idNoURL linking to an external tool.

Work Items

Work items are defined at the scenario level and reference their workstream by name.

work_items:
  - id: BE-1
    name: API Design & Auth
    size: 4
    workstream: Backend
    priority: 1
    description: Define REST contracts and auth flows.
    external_id: https://acme.atlassian.net/browse/BE-1

  - id: BE-2
    name: Core API Endpoints
    size: 10
    workstream: Backend
    priority: 2
    depends_on: [BE-1]

  - id: BE-2a
    name: User Endpoints
    size: 3
    workstream: Backend
    parent: BE-2
    depends_on: [BE-1]
FieldRequiredNotes
idYesUnique within the scenario. Used in depends_on, parent, and milestone includes.
nameYesDisplay name.
sizeYesEffort in the project's unit. Integer or decimal.
workstreamYesMust match a workstream name exactly.
priorityNoLower numbers = higher priority. Items at the same priority level can run in parallel.
depends_onNoArray of IDs that must complete before this item starts.
parentNoID of a parent work item (creates a hierarchy).
descriptionNoLonger description of the work.
external_idNoURL or key linking to an external tool (e.g. Jira issue).

Milestones

milestones:
  - name: API Complete
    target_date: 2026-05-01   # optional
    includes: [BE-1, BE-2, BE-3]

  - name: App Ready            # no target date — Farline forecasts the landing date
    includes: [FE-3, QA-2]
FieldRequiredNotes
nameYesMilestone display name.
target_dateNoISO date. When omitted, the milestone landing date is forecast from the included items.
includesYesArray of work item IDs that must complete to reach this milestone.

Common patterns

These patterns work in both Markdown and YAML.

Parallel workstreams

Two teams working simultaneously on independent work:

Markdown:

### Workstreams

- Frontend (5 people)
- Backend (4 people)

### Work Items

- FE-1 UI Work (20) @Frontend
- BE-1 API Work (18) @Backend

YAML:

workstreams:
  - name: Frontend
    capacity: 5
  - name: Backend
    capacity: 4

work_items:
  - id: FE-1
    name: UI Work
    size: 20
    workstream: Frontend
  - id: BE-1
    name: API Work
    size: 18
    workstream: Backend

Sequential phases

Work that must happen in order:

Markdown:

- P1 Discovery (3) @Team
- P2 Design (5) @Team → P1
- P3 Build (12) @Team → P2
- P4 Launch (2) @Team → P3

YAML:

- id: P1
  name: Discovery
  size: 3
  workstream: Team
- id: P2
  name: Design
  size: 5
  workstream: Team
  depends_on: [P1]
- id: P3
  name: Build
  size: 12
  workstream: Team
  depends_on: [P2]
- id: P4
  name: Launch
  size: 2
  workstream: Team
  depends_on: [P3]

Cross-team dependencies

Frontend waiting on backend:

Markdown:

- BE-1 Build API (10) @Backend
- FE-1 Build UI (8) @Frontend → BE-1

YAML:

- id: BE-1
  name: Build API
  size: 10
  workstream: Backend
- id: FE-1
  name: Build UI
  size: 8
  workstream: Frontend
  depends_on: [BE-1]

Staggered team start

QA joins four weeks into the project:

Markdown:

- Engineering (5 people)
- QA (2 people, starts week 4)

YAML:

- name: Engineering
  capacity: 5
- name: QA
  capacity: 2
  start_delay: 4

Tips

  • Use Templates — The Templates menu in the toolbar has 8 ready-made plans. Load one as a starting point and adapt it.
  • Use the AI builder — Describe your project in plain English in the AI Project Builder; it generates a plan you can then edit in the Advanced Editor.
  • In Markdown: order = priority — Work items are scheduled in the order they appear. Put higher-priority items first.
  • In YAML: indentation matters — Use 2 spaces per level, never tabs.
  • Milestones without dates are valid — Omit the date and Farline will forecast when the milestone is likely to land.
  • Dependencies across workstreams — Items in different workstreams can depend on each other freely.