Add a line to the brief, or rewrite it
The brief is the short message Pepper sends you on Telegram three times a day (Briefs). A
part (your own folder in src/parts/, see Make Pepper yours) can add lines to it or change its
wording. This gym part adds a reminder on gym days and gives the brief a friendlier opening. Save it as
src/parts/gym/index.ts:
import { defaultRender } from "../../brief/build.js";
import type { Part } from "../contract.js";
export const part: Part = {
name: "gym",
about: "a reminder in the brief on gym days, and a friendlier opening",
briefLines: () => (new Date().getDay() === 2 ? ["Gym at 6 today."] : []),
briefRender: (d, headline, startWith) => `Good morning.\n${defaultRender(d, headline, startWith)}`,
};Then add one line inside the mine object in src/parts/mine.ts, so Pepper loads it, and restart Pepper:
gym: () => import("./gym/index.js"),Use briefLines to add to the end. Use briefRender to change the wording; only one part can do that.
defaultRender, the wording Pepper comes with, is also what adds every part's briefLines at the end, so a
briefRender that doesn't call it has to add them itself.
If you rewrite the wording, keep the brief's numbers. The items under Yours, Needs you and the evening Check-in are numbered in one sequence, and replies on Telegram like "2 done" act on them, so those three stay numbered in that order. Pepper also sends the brief as your part renders it, your lines included, to the model, which chooses the opening line.
Overview
An off-the-shelf chief of staff is never right for one person's life. So Pepper is a working starting point: you change it for your own week, usually by asking an AI like Claude Code or Codex, and…
Add a page to the dashboard
A part (your own folder in src/parts/, see Make Pepper yours) can add tabs to the dashboard. This one adds a Books tab that reads Pepper's facts table and lists the books people mention.