View all documentations

leave.yaml Reference

This file lives in the root of your personal HR repo and tracks all your leave data.

It is read and updated automatically by the system every day at midnight UTC.

Full Schema

login: your-github-username # required — must match your GitHub login
startDate: 2024-11-01 # required — agreement signing date (YYYY-MM-DD)
carryOverDays: 0 # auto-managed — days carried over from previous year
unlockDate: 2025-05-01 # auto-managed — null once unlocked (6 months after startDate)
leavePolicy: # optional — only specify fields that differ from global defaults
  specialAllowanceDays: 5 # example: 5 extra days from year 4 onwards
daysOff:
  taken: # past days (auto-moved from scheduled by the system)
    - date: 2025-12-25
      type: holiday
    - date: 2026-02-10 to 2026-02-15 # consecutive days use "to" syntax (weekends excluded)
      type: vacation
      notes: Optional note
  scheduled: # future days (add your upcoming leave here)
    - date: 2026-06-10
      type: vacation
      notes: Family trip

Fields

login

Your GitHub username.

startDate

Your agreement signing date in YYYY-MM-DD format.

This is the anchor for your leave year — each anniversary starts a new year and a new entitlement period.

carryOverDays

Automatically calculated by the system on every sync.

Do not edit manually — it will be overwritten.

unlockDate

  • The date your paid leave unlocks (6 months after startDate).

  • Set to null once it has passed.

  • Managed automatically — do not edit manually.

leavePolicy (optional)

  • Per-member overrides for entitlement tiers.

  • Only specify fields that differ from the global defaults — any omitted field falls back to the global config.

  • HR sets this based on your agreement.

Field Default Description
year1Days 10 Paid days in year 1 (after unlock)
years2to3Days 14 Paid days in years 2–3
years4plusDays 14 Base paid days in year 4+
specialAllowanceDays 0 Extra days on top of years4plusDays for year 4+

Examples:

# Grant 5 extra days from year 4 onwards (most common override)
leavePolicy:
  specialAllowanceDays: 5
# Member with a custom year 1 entitlement of 14 days instead of 10
leavePolicy:
  year1Days: 14
# Full custom policy — all tiers specified
leavePolicy:
  year1Days: 12
  years2to3Days: 16
  years4plusDays: 16
  specialAllowanceDays: 4

These values are preserved by the automated sync and will never be overwritten.

daysOff

Split into two sections:

  • taken — past leave days.

The system automatically moves scheduled days here once their date has passed.

  • scheduled — upcoming leave days.

Add your planned leave here via a PR.

Each entry requires:

Field Required Description
date yes YYYY-MM-DD or YYYY-MM-DD to YYYY-MM-DD for a range (weekends auto-excluded)
type yes One of: vacation, sick, personal, holiday, unpaid
notes no Optional free-text note

Leave Types

Type Description
vacation Planned time off
sick Sick leave
personal Personal days
holiday Public/company holidays
unpaid Unpaid leave — deducted from salary at monthly rate ÷ 30 × days