- Rename all user-facing and technical identifiers from OpenPets/Pet to FamiliarOS/Familiar. - Rename packages from @open-pets/* to @familiaros/*; rename install-pet/pet-format packages. - Rename plugin IDs and directories from openpets.* to familiaros.*. - Rename IPC namespace from openpets:* to familiaros:* and state filenames from openpets-* to familiaros-* with legacy migration. - Rename source files (pet-window, built-in-pet, default-pet-controller, etc.) to familiar equivalents. - Update locales (en, es-419, ja, ko, pt-BR, zh-Hans, zh-Hant) and tray/pet context menu strings. - Add Familiar naming feature: preference, settings input, tray menu display. - Update assets and packaging config; all desktop tests pass.
5.5 KiB
FamiliarOS 2.0 workflow
This document defines the day-to-day working workflow for FamiliarOS 2.0.
The goal is to build in clear phases with excellent DX, strong review, and manual confirmation after every meaningful checkpoint.
Source of truth documents
task.txt— product decisions, agreed scope, architecture direction, and discussion history.docs/implementation-process.md— high-level implementation phases and process rules.docs/workflow.md— practical working workflow for each phase.docs/phases/phase-XX-name.md— detailed spec for one phase.
Core rule
Do not jump straight from product notes to code.
For each implementation phase:
- Write a dedicated phase spec in
docs/phases/. - Send the phase spec to Oracle for plan review.
- Fix or disposition Oracle feedback in the spec.
- Ask the user to approve the phase spec.
- Implement only the approved phase.
- Run relevant automated checks.
- Send the implementation diff to Oracle for code/maintainability review.
- Fix or disposition Oracle feedback.
- Give the user exact manual verification steps.
- Wait for user confirmation before continuing.
Phase spec location
Phase specs should live here:
docs/phases/
Naming pattern:
docs/phases/phase-00-workspace-foundation.md
docs/phases/phase-01-tray-desktop-shell.md
docs/phases/phase-02-default-familiar-window.md
docs/phases/phase-03-local-state-familiar-manager-basics.md
Use two-digit phase numbers so files sort naturally.
Phase spec template
Each phase spec should use this structure:
# Phase XX: Name
## Goal
## Non-goals
## User-visible/manual outcome
## Acceptance criteria
## Proposed files/directories
## Technical approach
## Risks and tradeoffs
## Security/privacy notes
## Test/check plan
## Manual verification guide
## Oracle plan review
## Oracle feedback disposition
The spec should be concrete enough that implementation can proceed without rediscovering the whole plan, but not so detailed that it becomes fake certainty.
Oracle plan review packet
When sending a phase spec to Oracle for review, include:
- The phase spec path.
- The relevant product context from
task.txtif needed. - What decision or plan should be reviewed.
- Known uncertainties.
- Specific risks where Oracle should focus.
Oracle should review for:
- Architecture fit.
- Maintainability.
- Security/privacy issues.
- Data-loss risks.
- Cross-platform risks.
- Scope size.
- Missing acceptance criteria.
- Missing manual verification steps.
Oracle feedback disposition
After Oracle reviews a phase spec or implementation, record feedback disposition.
Use these categories:
Fixed
Deferred
Rejected
Needs user decision
Do not silently ignore Oracle feedback.
If feedback expands scope significantly, ask the user before expanding the phase.
User approval before implementation
After Oracle plan review and spec updates, ask the user to approve the phase spec.
Do not start implementation until the user approves the phase spec.
The approval question should be direct:
Approve Phase XX for implementation?
Implementation rules
During implementation:
- Implement only the approved phase.
- Do not add unrelated refactors.
- Do not silently expand scope.
- If the phase becomes too large, stop and propose a split.
- Keep changes aligned with
task.txt,docs/implementation-process.md, and the approved phase spec. - Prefer simple, reliable, cross-platform behavior over cleverness.
- Preserve v1 as reference material only; do not blindly copy v1 assumptions.
Implementation review packet
After implementation, send Oracle:
- Summary of implemented changes.
- Changed file list or diff summary.
- Test/check results.
- Known limitations.
- Deviations from the approved spec.
- Specific concerns where Oracle should focus.
Then fix or disposition Oracle feedback before asking the user to manually confirm.
Manual user verification
After Oracle implementation review is resolved, give the user:
- What changed.
- Commands to run.
- Manual actions to take.
- Expected results.
- Known limitations.
- A clear confirmation question.
Example:
Please verify Phase 01:
1. Run `pnpm dev:desktop`.
2. Confirm the FamiliarOS tray icon appears.
3. Open Manage Familiars, Configure Agents, and Settings from the tray.
4. Confirm each placeholder window opens.
5. Quit from the tray and confirm the app exits cleanly.
Does Phase 01 pass on your machine?
Do not proceed to the next numbered phase, or any meaningful user-visible sub-phase, until the user confirms.
Recommended initial phase sequence
Start with these phase specs:
phase-00-workspace-foundation.mdphase-01-tray-desktop-shell.mdphase-02-default-familiar-window.mdphase-03-local-state-familiar-manager-basics.mdphase-04-v2-familiar-catalog-installation.mdphase-05-local-ipc-client.mdphase-06-mcp-integration.mdphase-07-claude-detection-configuration.mdphase-08-claude-enhanced-hooks.mdphase-09-first-run-onboarding.mdphase-10-mvp-hardening-packaging.md
Phases can be split later if they become too large.
Likely split candidates:
- Phase 04: catalog browsing vs zip install/validation.
- Phase 08: Claude hook reactions vs speech/polish.
- Phase 10: hardening vs packaging/release validation.
Current phase tracking
Track the active phase in the relevant docs/phases/phase-XX-name.md file and in conversation with the user.
Do not hardcode the current next action in this workflow document; it should stay reusable across phases.