zeus-config-and-flags

Catalogs every Zeus wallet configuration axis, default value, and the add-a-setting checklist.

Updated Sep 2, 2026
One-click install
npx skills add https://github.com/aswin-dev-debug/Ai-Finance-analyzer --skill zeus-config-and-flags-aswin-dev-debug
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: zeus-config-and-flags
Source: https://github.com/aswin-dev-debug/Ai-Finance-analyzer/tree/main/lib/zeus-contrib/zeus/.claude/skills/zeus-config-and-flags
Command: npx skills add https://github.com/aswin-dev-debug/Ai-Finance-analyzer --skill zeus-config-and-flags-aswin-dev-debug

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Zeus has dozens of settings spread across a keychain blob, per-node fields, nested groups, and AsyncStorage flags, with defaults that differ between fresh installs and migrated users. This Skill gives you a verified catalog of every configuration axis so you can add, change, or look up a setting without causing data loss, shallow-merge bugs, or fresh-vs-migrated divergences. ## Core Features & Use Cases - Complete settings catalog: Every axis with its storage location, options, default value, and owning UI file, covering per-node fields, nested groups (privacy, display, payments, invoices, channels, swaps, POS, ecash), and flat LSP/embedded-node keys. - Add-a-setting checklist: A mandatory 10-step procedure covering typing, defaults, *_KEYS arrays, shallow-merge-safe updateSettings calls, locale strings, and migration requirements. - Divergence and deprecation tracking: Documents new-vs-migrated default differences (bimodalPathfinding, showMillisatoshiAmounts) and the five deprecated-but-retained flags that cannot be casually removed. - Use Case: You need to add a new payments setting. Load this Skill to find the right group, apply the spread-safe updateSettings pattern, add the English locale string, and determine whether a MOD_KEY migration and maintainer sign-off are required. ## Quick Start Load the zeus-config-and-flags skill and tell me where the setting I want to add or change should live and what its default value is.

Frequently Asked Questions about zeus-config-and-flags

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new setting to the Zeus wallet app?

Follow the 10-step checklist: choose the home (Node interface, nested group, flat key, or AsyncStorage), type it as optional in SettingsStore.ts, add the inline default, create a *_KEYS array for enumerated axes, build the UI with a spread-safe updateSettings call, and add English locale strings only.

Where are Zeus wallet settings stored?

Almost all settings and wallet secrets live in a single JSON blob in the device keychain under the key zeus-settings-v2. A few separate keychain keys hold units, favorite currencies, and activity filters, while non-sensitive UI flags like persistentServicesEnabled use AsyncStorage.

Why does my Zeus settings change wipe other settings?

SettingsStore.updateSettings merges only at the top level, so nested groups are replaced wholesale. You must spread the existing group (e.g. payments: { ...settings.payments, myField: value }) or every sibling setting in that group is silently destroyed.

Why do fresh Zeus installs behave differently from upgraded installs?

MOD_KEY migrations run only for users upgrading from the legacy blob, creating intentional divergences. For example bimodalPathfinding defaults true on fresh installs but is forced false for migrated users, and showMillisatoshiAmounts is false fresh but true for migrated users.

Can I remove a deprecated setting from the Zeus Settings interface?

No, not casually. Deprecated flags like defaultFeeMethod and squareEnabled persist in existing user blobs and are still read by migration code and tests. Removal is a storage-format change requiring maintainer sign-off and a migration plan.

Should a new Zeus config option be per-node or global?

Per-wallet behavior goes on the Node interface in settings.nodes[], while global preferences go in a nested group or flat top-level key. Only embedded wallets choose a network; remote nodes detect network from getinfo at connect time.