スキル一覧に戻る
ThomasRohde

windows15-app-development

by ThomasRohde

1🍴 0📅 2025年12月21日
GitHubで見るManusで実行

SKILL.md


name: windows15-app-development description: Build and modify apps in the Windows 15 desktop environment. Use when creating new apps, modifying existing apps in apps/, working with window management, persistence, hotkeys, notifications, or UI components.

Windows 15 App Development

Use this skill when building or modifying apps under apps/ in the Windows 15 desktop environment.

Quick Navigation

TaskDocumentation
Create a new appguides/creating-simple-app.md
Register an app / app configcore/app-architecture.md
Open/focus/minimize windowscore/window-lifecycle.md
Persist app stateguides/adding-persistence.md
Keyboard shortcutsguides/hotkeys.md
Toast notificationsguides/notifications.md
UI components & stylingguides/styling-patterns.md, reference/ui-components.md
Full API lookupreference/contexts.md, reference/hooks.md
Learn by exampleexamples/calculator-walkthrough.md, examples/notepad-walkthrough.md

Codebase Landmarks

  • App registration: apps/registry.ts (authoritative app registry)
  • Window lifecycle: context/WindowContext.tsx and components/Window.tsx
  • OS wrapper hook: context/OSContext.tsx (useOS())
  • Common hooks: hooks/index.ts
  • UI primitives: components/ui/

Essential Patterns

Creating a New App

  1. Create component in apps/MyApp.tsx:
import { AppContainer } from '../components/ui/AppContainer';

export function MyApp() {
    return (
        <AppContainer padding>
            <h1>My App</h1>
        </AppContainer>
    );
}
  1. Register in apps/registry.ts:
{
  id: 'myapp',
  title: 'My App',
  icon: 'apps',
  color: 'bg-slate-400',
  component: React.lazy(() => import('./MyApp').then(m => ({ default: m.MyApp }))),
  defaultWidth: 520,
  defaultHeight: 420,
}

Persisting State

Use usePersistedState() (Dexie/IndexedDB-backed):

const { value, setValue, isLoading } = usePersistedState<Settings>('myapp.settings', defaultSettings);

Window Instance Control

Apps receive windowId as a prop to control their window:

const MyApp: React.FC<{ windowId: string }> = ({ windowId }) => {
    const { setTitle, setBadge } = useWindowInstance(windowId);
    // ...
};

Toast Notifications

const notify = useNotification();
notify.success('Saved!');
notify.error('Failed');

Keyboard Shortcuts

useStandardHotkeys({
    onSave: () => handleSave(),
    onFind: () => handleFind(),
});

Constraints

  • Prefer existing UI primitives in components/ui/
  • Prefer usePersistedState() over useLocalStorage() for persistence
  • Don't invent new global patterns when existing hooks/contexts solve it
  • Keep id in registry stable (used for session restore)

Documentation Index

Core Architecture

Guides

Reference

Examples

API Documentation

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です