Skip to content

Latest commit

 

History

History
34 lines (27 loc) · 4.24 KB

File metadata and controls

34 lines (27 loc) · 4.24 KB

@.kilocode/rules/rules.md


Skill Guides

This project uses a set of "skill" guides — focused how-to documents for common implementation tasks. When your task matches one of the descriptions below, read the linked SKILL.md file before proceeding and follow its instructions precisely.

Skill File Description
add-config .kilocode/skills/add-config/SKILL.md Guide for adding new configuration settings to Wave Terminal. Use when adding a new setting to the configuration system, implementing a new config key, or adding user-customizable settings.
add-rpc .kilocode/skills/add-rpc/SKILL.md Guide for adding new RPC calls to Wave Terminal. Use when implementing new RPC commands, adding server-client communication methods, or extending the RPC interface with new functionality.
add-wshcmd .kilocode/skills/add-wshcmd/SKILL.md Guide for adding new wsh commands to Wave Terminal. Use when implementing new CLI commands, adding command-line functionality, or extending the wsh command interface.
context-menu .kilocode/skills/context-menu/SKILL.md Guide for creating and displaying context menus in Wave Terminal. Use when implementing right-click menus, adding context menu items, creating submenus, or handling menu interactions with checkboxes and separators.
create-view .kilocode/skills/create-view/SKILL.md Guide for implementing a new view type in Wave Terminal. Use when creating a new view component, implementing the ViewModel interface, registering a new view type in BlockRegistry, or adding a new content type to display within blocks.
electron-api .kilocode/skills/electron-api/SKILL.md Guide for adding new Electron APIs to Wave Terminal. Use when implementing new frontend-to-electron communications via preload/IPC.
waveenv .kilocode/skills/waveenv/SKILL.md Guide for creating WaveEnv narrowings in Wave Terminal. Use when writing a named subset type of WaveEnv for a component tree, documenting environmental dependencies, or enabling mock environments for preview/test server usage.
wps-events .kilocode/skills/wps-events/SKILL.md Guide for working with Wave Terminal's WPS (Wave PubSub) event system. Use when implementing new event types, publishing events, subscribing to events, or adding asynchronous communication between components.

Dev Build & Packaging

  • App ID & Name: Changed to dev.commandline.waveterm.custom and productName to Wave Dev in package.json so the dev build appears as a completely separate app to macOS (avoids Electron single-instance lock conflict and Launch Services confusion).
  • Build: task package (requires PATH="/opt/homebrew/bin:$PATH" for Go/Task). Builds as Wave Dev.app in make/mac-arm64/.
  • Launch: Use launch_wave_dev.command or run directly:
    WAVETERM_HOME=~/.waveterm-dev \
    WAVETERM_CONFIG_HOME=~/.waveterm-dev/config \
    WAVETERM_DATA_HOME=~/.waveterm-dev/data \
    make/mac-arm64/Wave\ Dev.app/Contents/MacOS/Wave\ Dev
    These variables create isolated config and data directories for the dev build. Note: getWaveHomeDir() only honors WAVETERM_HOME after wave.lock exists, so explicit CONFIG/DATA overrides are needed for clean installs and newly launched dev instances.
  • Do not modify Info.plist or re-sign the built app bundle — it breaks code signing on macOS and causes crashes.