Skip to main content

Module store

Module store 

Source

Constants§

AI_AGENTS_DIR
AI_DIR
AI_JOBS_DIR
CONFIG_DEFAULTS_FILE
CONFIG_FILE
CREDENTIALS_FILE
ITEMS_DIR
JOY_DIR
LOG_DIR
MILESTONES_DIR
PROJECT_DEFAULTS_FILE
PROJECT_FILE
RELEASES_DIR

Functions§

deep_merge_value
Recursively merge overlay into base. Object keys are merged; all other types are replaced. Recursively merge overlay into base (public for use by config validation).
defaults_config_path
Returns the path to the committed project defaults: .joy/config.defaults.yaml
find_project_root
Walk up from start looking for a .joy/ directory.
global_config_path
Returns the path to the personal global config: ~/.config/joy/config.yaml
is_initialized
joy_dir
load_acronym
Load the project acronym from project.yaml.
load_ai_defaults
Load AI defaults (capabilities granted to AI members) from project.defaults.yaml, with project.yaml ai-defaults overlay.
load_config
Load project config by merging four layers (code defaults < project defaults < global personal < local personal).
load_config_value
Load the merged config as a serde_json::Value (preserves arbitrary keys).
load_mode_defaults
Load mode defaults by merging project.defaults.yaml with project.yaml modes section.
load_personal_config_value
Load only the user-set config values (personal local + global, no defaults). Returns an empty object if no personal config exists.
load_project
Load the full project metadata from project.yaml.
load_raw_mode_defaults
Load the raw mode defaults from project.defaults.yaml (before project.yaml merge). Used for source tracking in resolve_mode().
local_config_path
Returns the path to the personal per-project config: .joy/config.yaml
project_defaults_path
read_yaml
write_yaml
write_yaml_preserve
Write YAML while preserving top-level fields not in the struct. Reads the existing file, takes all modeled fields from the struct, and preserves any top-level keys that the struct doesn’t know about.