You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CodeplugProject today only stores id, name, createdAt, updatedAt, and the nested codeplug. Operators have no place to record why a codeplug exists — e.g. "Home DMR + 2 m", "Aberdeen trip May 2026", "Contest backup" — or free-form notes about layout intent, pending changes, or radio targets.
The Summary page (/summary) shows entity counts and import metadata from codeplug.meta, but nothing about the project wrapper itself. Rename/edit of project identity is deferred to #31.
Intended outcome
Extend the codeplug-project data model with operator-facing metadata and surface it on Summary with a dedicated edit screen.
Data model
Add fields to CodeplugProject in src/models/codeplugProject.ts (exact names to confirm during implementation):
Field
Type
Purpose
description
string
Short one-line summary (shown on Summary header and optionally Home project list)
notes
string
Longer free-form notes (markdown plain-text for v1; no renderer required initially)
Problem
CodeplugProjecttoday only storesid,name,createdAt,updatedAt, and the nestedcodeplug. Operators have no place to record why a codeplug exists — e.g. "Home DMR + 2 m", "Aberdeen trip May 2026", "Contest backup" — or free-form notes about layout intent, pending changes, or radio targets.The Summary page (
/summary) shows entity counts and import metadata fromcodeplug.meta, but nothing about the project wrapper itself. Rename/edit of project identity is deferred to #31.Intended outcome
Extend the codeplug-project data model with operator-facing metadata and surface it on Summary with a dedicated edit screen.
Data model
Add fields to
CodeplugProjectinsrc/models/codeplugProject.ts(exact names to confirm during implementation):descriptionstringnotesstringOptional v1 extras if low cost:
tags: string[]— defer unless needed.codeplugStorage.tsso existing localStorage projects load cleanly.docs/features/codeplug-project/README.md.Keep metadata on the project wrapper, not
Codeplug.meta(which stays import/provenance:importedAt,sourceFiles).Store
updateProject(id, patch)(orupdateActiveProject) tocodeplugStore— patchname,description,notes; touchupdatedAt.useProjects().Summary page (
/summary)descriptionprominently when set.notesin a readable block (preserve line breaks;white-space: pre-wrap).createdAt/updatedAtas secondary metadata.Project edit screen
/summary/editor/project/edit.Home / project list (optional v1)
descriptionunder project name on Home if set — nice-to-have, can follow in same PR or defer.Affected
src/models/codeplugProject.tssrc/state/codeplugStorage.ts— migrationsrc/state/codeplugStore.tsx—updateProjectactionsrc/routes/Summary.tsx— display metadatasrc/routes/project/edit.tsx(or similar)src/App.tsx— route + nav if neededdocs/features/codeplug-project/Notes / dependencies
Codeplug.meta— import timestamps stay on the codeplug content model.Out of scope
Workflow note
Branch from
origin/main, atomic conventional commits (model + migration → store → Summary display → edit route → docs), PR linkingCloses #.