feat: removed .pi configuration directory alias in favor of .omp
- Removed support for `.pi` configuration directory alias in favor of `.omp` across all packages. - Updated all configuration paths and references from `.pi` to `.omp` in user and project directories. - Refactored configuration discovery in builtin.ts to simplify directory traversal logic and remove multi-alias support. - Simplified Python module discovery to use single directory paths instead of arrays of aliases. - Updated debug and crash log paths from `.pi/agent/` to `.omp/agent/` in TUI package.
This commit is contained in:
@@ -27,83 +27,83 @@ Many modules now use the **capability/discovery system** (`discovery/builtin.ts`
|
||||
|
||||
### 1. Display/Branding Only (no file I/O)
|
||||
|
||||
| File | Imports | Purpose |
|
||||
| ---------------------------- | ----------------------------- | ------------------------ |
|
||||
| `cli/args.ts` | `APP_NAME`, `CONFIG_DIR_NAME` | Help text, env var names |
|
||||
| `cli/grep-cli.ts` | `APP_NAME` | Grep command output |
|
||||
| `cli/jupyter-cli.ts` | `APP_NAME` | Jupyter command output |
|
||||
| `cli/plugin-cli.ts` | `APP_NAME` | Plugin command output |
|
||||
| `cli/setup-cli.ts` | `APP_NAME` | Setup command output |
|
||||
| `cli/shell-cli.ts` | `APP_NAME` | Shell command output |
|
||||
| `cli/stats-cli.ts` | `APP_NAME` | Stats command output |
|
||||
| `cli/update-cli.ts` | `APP_NAME`, `VERSION` | Update messages |
|
||||
| `cli.ts` | `APP_NAME` | Process title |
|
||||
| `export/html/index.ts` | `APP_NAME` | HTML export title |
|
||||
| `modes/components/welcome.ts`| `APP_NAME` | Welcome banner |
|
||||
| `debug/system-info.ts` | `VERSION` | System info display |
|
||||
| File | Imports | Purpose |
|
||||
| ----------------------------- | ----------------------------- | ------------------------ |
|
||||
| `cli/args.ts` | `APP_NAME`, `CONFIG_DIR_NAME` | Help text, env var names |
|
||||
| `cli/grep-cli.ts` | `APP_NAME` | Grep command output |
|
||||
| `cli/jupyter-cli.ts` | `APP_NAME` | Jupyter command output |
|
||||
| `cli/plugin-cli.ts` | `APP_NAME` | Plugin command output |
|
||||
| `cli/setup-cli.ts` | `APP_NAME` | Setup command output |
|
||||
| `cli/shell-cli.ts` | `APP_NAME` | Shell command output |
|
||||
| `cli/stats-cli.ts` | `APP_NAME` | Stats command output |
|
||||
| `cli/update-cli.ts` | `APP_NAME`, `VERSION` | Update messages |
|
||||
| `cli.ts` | `APP_NAME` | Process title |
|
||||
| `export/html/index.ts` | `APP_NAME` | HTML export title |
|
||||
| `modes/components/welcome.ts` | `APP_NAME` | Welcome banner |
|
||||
| `debug/system-info.ts` | `VERSION` | System info display |
|
||||
|
||||
### 2. Single Fixed Paths (user-level only)
|
||||
|
||||
| File | Imports | Path | Purpose |
|
||||
| ------------------------------------- | -------------------------------- | --------------------------- | ------------------------- |
|
||||
| `cli/config-cli.ts` | `APP_NAME`, `getAgentDir` | `~/.omp/agent/` | Prints config path |
|
||||
| `session/agent-session.ts` | `getAgentDbPath` | `~/.omp/agent/agent.db` | Database path |
|
||||
| `session/session-manager.ts` | `getAgentDir` | `~/.omp/agent/sessions/` | Session storage |
|
||||
| `session/agent-storage.ts` | `getAgentDbPath` | `~/.omp/agent/agent.db` | Settings/auth storage |
|
||||
| `session/auth-storage.ts` | `getAgentDbPath` | agent.db | Auth credential storage |
|
||||
| `session/history-storage.ts` | `getAgentDir` | `~/.omp/agent/` | Command history |
|
||||
| `session/storage-migration.ts` | `getAgentDbPath` | `~/.omp/agent/agent.db` | JSON→SQLite migration |
|
||||
| `modes/theme/theme.ts` | `getCustomThemesDir` | `~/.omp/agent/themes/` | Custom themes |
|
||||
| `modes/controllers/selector-controller.ts` | `getAgentDbPath` | `~/.omp/agent/agent.db` | Model selector state |
|
||||
| `utils/changelog.ts` | `getChangelogPath` | Package CHANGELOG.md | Re-exports path |
|
||||
| `migrations.ts` | `getAgentDir`, `getAgentDbPath` | `~/.omp/agent/` | Auth/session migration |
|
||||
| `extensibility/plugins/installer.ts` | `getAgentDir` | `~/.omp/agent/plugins/` | Plugin installation |
|
||||
| `extensibility/plugins/paths.ts` | `CONFIG_DIR_NAME` | `~/.omp/plugins/` | Plugin directories |
|
||||
| `config/keybindings.ts` | `getAgentDir` | `~/.omp/agent/keybindings.json` | Keybinding config |
|
||||
| `config/settings.ts` | `getAgentDir`, `getAgentDbPath` | agent.db, config.yml | Settings management |
|
||||
| `config/prompt-templates.ts` | `CONFIG_DIR_NAME`, `getPromptsDir` | `~/.omp/agent/prompts/` | Prompt template loading |
|
||||
| `ipy/executor.ts` | `getAgentDir` | `~/.omp/agent/` | Python executor paths |
|
||||
| `ipy/gateway-coordinator.ts` | `getAgentDir` | `~/.omp/agent/` | Jupyter gateway socket |
|
||||
| `export/custom-share.ts` | `getAgentDir` | `~/.omp/agent/share/` | Custom share scripts |
|
||||
| `debug/index.ts` | `getSessionsDir` | `~/.omp/agent/sessions/` | Debug session browser |
|
||||
| `ssh/connection-manager.ts` | `CONFIG_DIR_NAME` | `~/.omp/ssh/` | SSH control sockets |
|
||||
| `ssh/sshfs-mount.ts` | `CONFIG_DIR_NAME` | `~/.omp/remote/` | Remote mount points |
|
||||
| `tools/read.ts` | `CONFIG_DIR_NAME` | Config dir name reference | Internal URL resolution |
|
||||
| `utils/tools-manager.ts` | `APP_NAME`, `getToolsDir` | `~/.omp/agent/tools/` | Tool binary management |
|
||||
| File | Imports | Path | Purpose |
|
||||
| ------------------------------------------ | ---------------------------------- | ------------------------------- | ----------------------- |
|
||||
| `cli/config-cli.ts` | `APP_NAME`, `getAgentDir` | `~/.omp/agent/` | Prints config path |
|
||||
| `session/agent-session.ts` | `getAgentDbPath` | `~/.omp/agent/agent.db` | Database path |
|
||||
| `session/session-manager.ts` | `getAgentDir` | `~/.omp/agent/sessions/` | Session storage |
|
||||
| `session/agent-storage.ts` | `getAgentDbPath` | `~/.omp/agent/agent.db` | Settings/auth storage |
|
||||
| `session/auth-storage.ts` | `getAgentDbPath` | agent.db | Auth credential storage |
|
||||
| `session/history-storage.ts` | `getAgentDir` | `~/.omp/agent/` | Command history |
|
||||
| `session/storage-migration.ts` | `getAgentDbPath` | `~/.omp/agent/agent.db` | JSON→SQLite migration |
|
||||
| `modes/theme/theme.ts` | `getCustomThemesDir` | `~/.omp/agent/themes/` | Custom themes |
|
||||
| `modes/controllers/selector-controller.ts` | `getAgentDbPath` | `~/.omp/agent/agent.db` | Model selector state |
|
||||
| `utils/changelog.ts` | `getChangelogPath` | Package CHANGELOG.md | Re-exports path |
|
||||
| `migrations.ts` | `getAgentDir`, `getAgentDbPath` | `~/.omp/agent/` | Auth/session migration |
|
||||
| `extensibility/plugins/installer.ts` | `getAgentDir` | `~/.omp/agent/plugins/` | Plugin installation |
|
||||
| `extensibility/plugins/paths.ts` | `CONFIG_DIR_NAME` | `~/.omp/plugins/` | Plugin directories |
|
||||
| `config/keybindings.ts` | `getAgentDir` | `~/.omp/agent/keybindings.json` | Keybinding config |
|
||||
| `config/settings.ts` | `getAgentDir`, `getAgentDbPath` | agent.db, config.yml | Settings management |
|
||||
| `config/prompt-templates.ts` | `CONFIG_DIR_NAME`, `getPromptsDir` | `~/.omp/agent/prompts/` | Prompt template loading |
|
||||
| `ipy/executor.ts` | `getAgentDir` | `~/.omp/agent/` | Python executor paths |
|
||||
| `ipy/gateway-coordinator.ts` | `getAgentDir` | `~/.omp/agent/` | Jupyter gateway socket |
|
||||
| `export/custom-share.ts` | `getAgentDir` | `~/.omp/agent/share/` | Custom share scripts |
|
||||
| `debug/index.ts` | `getSessionsDir` | `~/.omp/agent/sessions/` | Debug session browser |
|
||||
| `ssh/connection-manager.ts` | `CONFIG_DIR_NAME` | `~/.omp/ssh/` | SSH control sockets |
|
||||
| `ssh/sshfs-mount.ts` | `CONFIG_DIR_NAME` | `~/.omp/remote/` | Remote mount points |
|
||||
| `tools/read.ts` | `CONFIG_DIR_NAME` | Config dir name reference | Internal URL resolution |
|
||||
| `utils/tools-manager.ts` | `APP_NAME`, `getToolsDir` | `~/.omp/agent/tools/` | Tool binary management |
|
||||
|
||||
### 3. Multi-Config Discovery (with fallbacks)
|
||||
|
||||
These use helpers to check `.omp`, `.pi`, `.claude`, `.codex`, `.gemini` directories:
|
||||
|
||||
| File | Helper Used | Subpath(s) | Levels |
|
||||
| ---------------------------------------- | ------------------------------------------------------ | --------------------------- | ------------ |
|
||||
| `main.ts` | `findConfigFile` | `SYSTEM.md`, `APPEND_SYSTEM.md` | user+project |
|
||||
| `sdk.ts` | `getConfigDirPaths` | `models.yml`, `models.json` | user |
|
||||
| `lsp/config.ts` | `getConfigDirPaths` | `lsp.json`, `.lsp.json` | user+project |
|
||||
| `task/discovery.ts` | `getConfigDirs`, `findAllNearestProjectConfigDirs` | `agents/` | user+project |
|
||||
| `extensibility/plugins/paths.ts` | `getConfigDirPaths` | `plugin-overrides.json` | project |
|
||||
| `extensibility/custom-commands/loader.ts`| `getConfigDirs` | `commands/` | user+project |
|
||||
| `web/search/auth.ts` | `getConfigDirPaths`, `getAgentDbPath` | agent.db | user |
|
||||
| `web/search/providers/codex.ts` | `getConfigDirPaths`, `getAgentDbPath` | auth config | user |
|
||||
| `web/search/providers/gemini.ts` | `getConfigDirPaths`, `getAgentDbPath` | auth config | user |
|
||||
| File | Helper Used | Subpath(s) | Levels |
|
||||
| ----------------------------------------- | -------------------------------------------------- | ------------------------------- | ------------ |
|
||||
| `main.ts` | `findConfigFile` | `SYSTEM.md`, `APPEND_SYSTEM.md` | user+project |
|
||||
| `sdk.ts` | `getConfigDirPaths` | `models.yml`, `models.json` | user |
|
||||
| `lsp/config.ts` | `getConfigDirPaths` | `lsp.json`, `.lsp.json` | user+project |
|
||||
| `task/discovery.ts` | `getConfigDirs`, `findAllNearestProjectConfigDirs` | `agents/` | user+project |
|
||||
| `extensibility/plugins/paths.ts` | `getConfigDirPaths` | `plugin-overrides.json` | project |
|
||||
| `extensibility/custom-commands/loader.ts` | `getConfigDirs` | `commands/` | user+project |
|
||||
| `web/search/auth.ts` | `getConfigDirPaths`, `getAgentDbPath` | agent.db | user |
|
||||
| `web/search/providers/codex.ts` | `getConfigDirPaths`, `getAgentDbPath` | auth config | user |
|
||||
| `web/search/providers/gemini.ts` | `getConfigDirPaths`, `getAgentDbPath` | auth config | user |
|
||||
|
||||
### 4. Via Capability/Discovery System
|
||||
|
||||
These modules use `discovery/builtin.ts` which has its own config directory resolution:
|
||||
|
||||
| Capability | Config Subpaths | Loaded Via |
|
||||
| --------------- | ---------------------------------- | --------------------------- |
|
||||
| skills | `skills/` | `skillCapability` |
|
||||
| slash-commands | `commands/` | `slashCommandCapability` |
|
||||
| rules | `rules/` | `ruleCapability` |
|
||||
| prompts | `prompts/` | `promptCapability` |
|
||||
| instructions | `instructions/` | `instructionCapability` |
|
||||
| hooks | `hooks/pre/`, `hooks/post/` | `hookCapability` |
|
||||
| tools | `tools/` | `toolCapability` |
|
||||
| extensions | `extensions/` | `extensionCapability` |
|
||||
| mcp | `mcp.json`, `.mcp.json` | `mcpCapability` |
|
||||
| settings | `settings.json` | `settingsCapability` |
|
||||
| system-prompt | `SYSTEM.md` | `systemPromptCapability` |
|
||||
| Capability | Config Subpaths | Loaded Via |
|
||||
| -------------- | --------------------------- | ------------------------ |
|
||||
| skills | `skills/` | `skillCapability` |
|
||||
| slash-commands | `commands/` | `slashCommandCapability` |
|
||||
| rules | `rules/` | `ruleCapability` |
|
||||
| prompts | `prompts/` | `promptCapability` |
|
||||
| instructions | `instructions/` | `instructionCapability` |
|
||||
| hooks | `hooks/pre/`, `hooks/post/` | `hookCapability` |
|
||||
| tools | `tools/` | `toolCapability` |
|
||||
| extensions | `extensions/` | `extensionCapability` |
|
||||
| mcp | `mcp.json`, `.mcp.json` | `mcpCapability` |
|
||||
| settings | `settings.json` | `settingsCapability` |
|
||||
| system-prompt | `SYSTEM.md` | `systemPromptCapability` |
|
||||
|
||||
## Subpath Summary
|
||||
|
||||
@@ -138,7 +138,7 @@ User-level root (~/.omp/, ~/.pi/, ~/.claude/) - not under agent/:
|
||||
├── ssh/ ← SSH control sockets
|
||||
└── remote/ ← SSHFS mount points
|
||||
|
||||
Project-level (.omp/, .pi/, .claude/, .codex/, .gemini/):
|
||||
Project-level (.omp/, .claude/, .codex/, .gemini/):
|
||||
├── SYSTEM.md ← Project system prompt
|
||||
├── APPEND_SYSTEM.md ← Appended to system prompt
|
||||
├── settings.json ← Project settings (via capability)
|
||||
@@ -166,6 +166,7 @@ Logging is handled by `@oh-my-pi/pi-utils`, not by this package. Logs go to `~/.
|
||||
### Config Priority
|
||||
|
||||
When multiple config directories exist, priority order is:
|
||||
|
||||
1. `.omp` (highest)
|
||||
2. `.pi`
|
||||
3. `.claude`
|
||||
|
||||
Reference in New Issue
Block a user