diff --git a/README.md b/README.md index ddeb90f..3abfb6b 100644 --- a/README.md +++ b/README.md @@ -193,7 +193,7 @@ Actions that can change local state include: - creating, updating, syncing, importing, or deleting a slash command - changing harness support settings -App-owned files live under `~/Library/Application Support/skill-manager` on macOS and XDG base directories on Linux. +App-owned files live under `~/.skill-manager` on macOS (with a legacy fallback to `~/Library/Application Support/skill-manager` if it already exists) and XDG base directories on Linux. ## How it works @@ -242,17 +242,17 @@ CLI marketplace entries are preview-only. ## Configuration -On macOS, app-owned files live under `~/Library/Application Support/skill-manager`. On Linux, app-owned files use XDG base directories. +On macOS, app-owned files live under `~/.skill-manager` (with a legacy fallback to `~/Library/Application Support/skill-manager` if it already exists). On Linux, app-owned files use XDG base directories. Useful macOS paths: -- shared skills store: `~/Library/Application Support/skill-manager/shared` -- MCP manifest: `~/Library/Application Support/skill-manager/mcp/manifest.json` -- slash command library: `~/Library/Application Support/skill-manager/slash-commands/commands` -- slash command sync state: `~/Library/Application Support/skill-manager/slash-commands/sync-state.json` -- marketplace cache: `~/Library/Application Support/skill-manager/marketplace` -- app database and LLM scan configs: `~/Library/Application Support/skill-manager/skill-manager.db` -- app settings: `~/Library/Application Support/skill-manager/settings.json` +- shared skills store: `~/.skill-manager/shared` +- MCP manifest: `~/.skill-manager/mcp/manifest.json` +- slash command library: `~/.skill-manager/slash-commands/commands` +- slash command sync state: `~/.skill-manager/slash-commands/sync-state.json` +- marketplace cache: `~/.skill-manager/marketplace` +- app database and LLM scan configs: `~/.skill-manager/skill-manager.db` +- app settings: `~/.skill-manager/settings.json` Useful Linux paths: diff --git a/README.zh-CN.md b/README.zh-CN.md index c69a46b..9b3da48 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -163,7 +163,7 @@ Skill Manager 是本地配置管理工具。它在你的机器上运行,并读 - 创建、更新、同步、导入或删除 slash command - 修改 harness 支持设置 -在 macOS 上,应用拥有的文件位于 `~/Library/Application Support/skill-manager`;在 Linux 上使用 XDG base directories。 +在 macOS 上,应用拥有的文件位于 `~/.skill-manager`(如果已存在,则回退到 `~/Library/Application Support/skill-manager`);在 Linux 上使用 XDG base directories。 ## 工作方式 @@ -212,17 +212,17 @@ CLI marketplace 条目仅用于预览。 ## 配置 -在 macOS 上,应用拥有的文件位于 `~/Library/Application Support/skill-manager`;在 Linux 上使用 XDG base directories。 +在 macOS 上,应用拥有的文件位于 `~/.skill-manager`(如果已存在,则回退到 `~/Library/Application Support/skill-manager`);在 Linux 上使用 XDG base directories。 常用 macOS 路径: -- 共享 Skill 存储:`~/Library/Application Support/skill-manager/shared` -- MCP manifest:`~/Library/Application Support/skill-manager/mcp/manifest.json` -- slash command 库:`~/Library/Application Support/skill-manager/slash-commands/commands` -- slash command 同步状态:`~/Library/Application Support/skill-manager/slash-commands/sync-state.json` -- 商城缓存:`~/Library/Application Support/skill-manager/marketplace` -- 应用数据库和 LLM 扫描配置:`~/Library/Application Support/skill-manager/skill-manager.db` -- 应用设置:`~/Library/Application Support/skill-manager/settings.json` +- 共享 Skill 存储:`~/.skill-manager/shared` +- MCP manifest:`~/.skill-manager/mcp/manifest.json` +- slash command 库:`~/.skill-manager/slash-commands/commands` +- slash command 同步状态:`~/.skill-manager/slash-commands/sync-state.json` +- 商城缓存:`~/.skill-manager/marketplace` +- 应用数据库和 LLM 扫描配置:`~/.skill-manager/skill-manager.db` +- 应用设置:`~/.skill-manager/settings.json` 常用 Linux 路径: diff --git a/assets/harness-logos/agy-logo.svg b/assets/harness-logos/agy-logo.svg new file mode 100644 index 0000000..fe5fd4c --- /dev/null +++ b/assets/harness-logos/agy-logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index d94b43d..678fab2 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -14,6 +14,8 @@ import ScanConfigPage from "./features/skills/screens/ScanConfigPage"; import SkillsWorkspacePage from "./features/skills/screens/SkillsWorkspacePage"; import { LocaleProvider, useCommonCopy } from "./i18n"; +import { ThemeProvider } from "./lib/theme"; + const MarketplaceLayout = lazy(() => import("./features/marketplace/components/MarketplaceLayout")); const OverviewPage = lazy(() => import("./features/overview/screens/OverviewPage")); const SettingsPage = lazy(() => import("./features/settings/screens/SettingsPage")); @@ -36,13 +38,15 @@ export function App() { return ( - - - - - - - + + + + + + + + + ); } diff --git a/frontend/src/assets/harness-logos/agy-logo.svg b/frontend/src/assets/harness-logos/agy-logo.svg new file mode 100644 index 0000000..fe5fd4c --- /dev/null +++ b/frontend/src/assets/harness-logos/agy-logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/frontend/src/components/Sidebar.tsx b/frontend/src/components/Sidebar.tsx index 051b1b3..6443c65 100644 --- a/frontend/src/components/Sidebar.tsx +++ b/frontend/src/components/Sidebar.tsx @@ -15,6 +15,7 @@ import { Command, Languages, LayoutDashboard, + Moon, RefreshCw, Settings, Store, @@ -27,6 +28,7 @@ import { useSidebarModel, type SidebarIconKey } from "../app/capability-registry import { LoadingSpinner } from "./LoadingSpinner"; import { useToast } from "./Toast"; import { useCommonCopy, useLocale } from "../i18n"; +import { useTheme } from "../lib/theme"; interface SidebarProps { onRefresh: () => void | Promise; @@ -37,6 +39,7 @@ export function Sidebar({ onRefresh, refreshPending }: SidebarProps) { const model = useSidebarModel(); const { toast } = useToast(); const common = useCommonCopy(); + const { theme, toggleTheme } = useTheme(); return (