Structs§
Constants§
- CONFIG_
FILES - GITATTRIBUTES_
BASE_ ENTRIES - Path-pattern -> Git attribute lines for the joy-managed
.gitattributesblock. The YAML driver covers every Joy YAML file (items, milestones, releases, project metadata). The log entry uses Git’s built-in union driver as an interim until JOY-0112 (Merkle-DAG log) ships. - GITATTRIBUTES_
BLOCK_ END - GITATTRIBUTES_
BLOCK_ START - GITIGNORE_
BASE_ ENTRIES - GITIGNORE_
BLOCK_ END - GITIGNORE_
BLOCK_ START - HOOK_
FILES - LAST_
SYNC_ VERSION_ KEY - Per-clone git config key recording the joy version that last synced
this repo. Compared against
env!("CARGO_PKG_VERSION")to drive the auto-sync hook. See JOY-0164-B5. - MERGE_
DRIVER_ CMD_ KEY - MERGE_
DRIVER_ CMD_ VALUE - MERGE_
DRIVER_ NAME_ KEY - MERGE_
DRIVER_ NAME_ VALUE - PROJECT_
FILES
Functions§
- ensure_
lazy_ activation - Best-effort registration check, called before every joy invocation
that has a project root. Brings
.gitattributesand the local git merge-driver config in line with the current binary, so users who upgraded joy without re-runningjoy initstill get the merge driver. See JOY-0162. - init
- last_
sync_ version - Read the recorded last-sync version from this clone’s git config.
Noneif not a repo or the key is unset. - onboard
- Onboard an existing project: set up local environment (hooks, etc.).
- run_
sync - One-shot core-side sync of a repo against the current binary:
ensure_lazy_activation+ stampjoy.last-sync-version. The fulljoy updateorchestrator wraps this with the auth and AI refresh routines (see joy-cli’scommands::update::run_full_sync). - set_
last_ sync_ version - Stamp the current binary version into this clone’s git config.
- update_
gitattributes_ block - Update the joy-managed block in .gitattributes with the given lines. Replaces the block if it exists, appends otherwise.
- update_
gitignore_ block - Update the joy-managed block in .gitignore with the given entries. Each entry is (path, comment). Replaces the block if it exists, appends otherwise.