For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navigation principale
Codex

Codex use case

Créer l’ossature d’une application Mac

Utilisez Codex pour créer l’ossature d’une application SwiftUI native pour Mac, avec une barre latérale, un volet de détail, un inspecteur, des commandes et des Paramètres.

Difficulty Avancé
Time horizon 1 h

Utilisez Codex et le plugin Build macOS Apps pour transformer une idée d’application en application de bureau native basée sur NavigationSplitView, stabiliser la sélection dans la barre latérale, ajouter des menus, des barres d’outils et des raccourcis clavier, puis déplacer les préférences dans une scène Settings dédiée.

Idéal pour

  • Nouvelles idées d’applications Mac, ou concepts pensés d’abord pour iPad ou le Web, qui nécessitent une véritable ossature d’application de bureau avec une navigation persistante, des menus, des barres d’outils et des raccourcis clavier
  • Outils d’édition, de bibliothèque, d’administration ou de révision dans lesquels la sélection dans une barre latérale détermine le contenu d’un volet de détail et où un inspecteur présente des métadonnées ou actions secondaires
  • Applications Mac dont les réglages doivent se trouver dans une fenêtre de préférences dédiée plutôt que sur un écran supplémentaire de la pile de navigation du contenu principal

Contents

    ← Tous les cas d’utilisation

    Créer l’ossature d’une application Mac

    Utilisez Codex pour créer l’ossature d’une application SwiftUI native pour Mac, avec une barre latérale, un volet de détail, un inspecteur, des commandes et des Paramètres.

    Utilisez Codex et le plugin Build macOS Apps pour transformer une idée d’application en application de bureau native basée sur NavigationSplitView, stabiliser la sélection dans la barre latérale, ajouter des menus, des barres d’outils et des raccourcis clavier, puis déplacer les préférences dans une scène Settings dédiée.

    Avancé
    1 h

    Utilisez Codex et le plugin Build macOS Apps pour transformer une idée d’application en application de bureau native basée sur NavigationSplitView, stabiliser la sélection dans la barre latérale, ajouter des menus, des barres d’outils et des raccourcis clavier, puis déplacer les préférences dans une scène Settings dédiée.

    Avancé
    1 h

    Idéal pour

    • Nouvelles idées d’applications Mac, ou concepts pensés d’abord pour iPad ou le Web, qui nécessitent une véritable ossature d’application de bureau avec une navigation persistante, des menus, des barres d’outils et des raccourcis clavier
    • Outils d’édition, de bibliothèque, d’administration ou de révision dans lesquels la sélection dans une barre latérale détermine le contenu d’un volet de détail et où un inspecteur présente des métadonnées ou actions secondaires
    • Applications Mac dont les réglages doivent se trouver dans une fenêtre de préférences dédiée plutôt que sur un écran supplémentaire de la pile de navigation du contenu principal

    Skills et plugins

    • Utilisez les modèles SwiftUI pour macOS, la gestion des fenêtres, l’interopérabilité avec AppKit et les Skills de compilation/exécution pour créer des interfaces avec barre latérale, volet de détail et inspecteur, configurer les menus et les paramètres, puis valider l’application dans une boucle pilotée depuis le shell.
    Skill Why use it
    Build macOS Apps Utilisez les modèles SwiftUI pour macOS, la gestion des fenêtres, l’interopérabilité avec AppKit et les Skills de compilation/exécution pour créer des interfaces avec barre latérale, volet de détail et inspecteur, configurer les menus et les paramètres, puis valider l’application dans une boucle pilotée depuis le shell.

    Prompt de démarrage

    Utilisez le plugin Build macOS Apps pour transformer [describe your app idea] en une ossature d’application SwiftUI native pour Mac, avec une barre latérale, un volet de détail, un inspecteur, des commandes et des Paramètres. Contraintes : - Commencez par choisir le modèle de scènes. Privilégiez `WindowGroup` pour la fenêtre principale et ajoutez une scène `Settings` dédiée aux préférences. - Concevez l’interface principale autour de `NavigationSplitView`, avec un état de sélection explicite, une liste native de type `.sidebar`, une zone de détail et un panneau `inspector(isPresented:)` pour les métadonnées ou contrôles secondaires. - Gardez les lignes de la barre latérale légères et natives : une icône, une ligne de titre et, au maximum, une courte ligne secondaire. N’encapsulez pas chaque ligne dans de grandes cartes personnalisées, sauf si un impératif produit fort le justifie. - Rendez les actions importantes accessibles au moyen de `commands` définies au niveau de la scène, de `CommandMenu`, de boutons de barre d’outils et de raccourcis clavier. Ne faites pas des gestes le seul moyen d’accéder à une action critique. - Utilisez `@SceneStorage` pour l’état de l’interface propre à chaque fenêtre, `@AppStorage` pour les préférences et des liaisons de sélection explicites gérées par le parent pour coordonner sidebar/detail. - Privilégiez les matériaux système, les couleurs sémantiques et les arrière-plans standard de barre latérale. N’appliquez des styles personnalisés qu’aux cartes de contenu du volet de détail ou de l’inspecteur, si nécessaire. - N’utilisez une passerelle AppKit ciblée que si SwiftUI ne permet pas d’implémenter proprement un comportement précis propre aux applications de bureau. - Créez ou mettez à jour `script/build_and_run.sh`, effectuez la vérification build/run utile la plus ciblée et indiquez-moi les commandes exactes que vous avez utilisées. Fournissez : - la structure des scènes et les principales vues sidebar/detail/inspector - la configuration des menus, de la barre d’outils et des raccourcis clavier - la scène Paramètres et le modèle d’état des préférences - toute passerelle AppKit ajoutée et la raison pour laquelle elle était nécessaire - les étapes de validation build/run et les éventuelles améliorations de l’expérience sur ordinateur que vous recommandez
    Utilisez le plugin Build macOS Apps pour transformer [describe your app idea] en une ossature d’application SwiftUI native pour Mac, avec une barre latérale, un volet de détail, un inspecteur, des commandes et des Paramètres. Contraintes : - Commencez par choisir le modèle de scènes. Privilégiez `WindowGroup` pour la fenêtre principale et ajoutez une scène `Settings` dédiée aux préférences. - Concevez l’interface principale autour de `NavigationSplitView`, avec un état de sélection explicite, une liste native de type `.sidebar`, une zone de détail et un panneau `inspector(isPresented:)` pour les métadonnées ou contrôles secondaires. - Gardez les lignes de la barre latérale légères et natives : une icône, une ligne de titre et, au maximum, une courte ligne secondaire. N’encapsulez pas chaque ligne dans de grandes cartes personnalisées, sauf si un impératif produit fort le justifie. - Rendez les actions importantes accessibles au moyen de `commands` définies au niveau de la scène, de `CommandMenu`, de boutons de barre d’outils et de raccourcis clavier. Ne faites pas des gestes le seul moyen d’accéder à une action critique. - Utilisez `@SceneStorage` pour l’état de l’interface propre à chaque fenêtre, `@AppStorage` pour les préférences et des liaisons de sélection explicites gérées par le parent pour coordonner sidebar/detail. - Privilégiez les matériaux système, les couleurs sémantiques et les arrière-plans standard de barre latérale. N’appliquez des styles personnalisés qu’aux cartes de contenu du volet de détail ou de l’inspecteur, si nécessaire. - N’utilisez une passerelle AppKit ciblée que si SwiftUI ne permet pas d’implémenter proprement un comportement précis propre aux applications de bureau. - Créez ou mettez à jour `script/build_and_run.sh`, effectuez la vérification build/run utile la plus ciblée et indiquez-moi les commandes exactes que vous avez utilisées. Fournissez : - la structure des scènes et les principales vues sidebar/detail/inspector - la configuration des menus, de la barre d’outils et des raccourcis clavier - la scène Paramètres et le modèle d’état des préférences - toute passerelle AppKit ajoutée et la raison pour laquelle elle était nécessaire - les étapes de validation build/run et les éventuelles améliorations de l’expérience sur ordinateur que vous recommandez

    Commencez par définir le modèle de scènes Mac

    Ce cas d’usage permet de transformer une idée en ossature d’application Mac conçue pour un usage sur ordinateur, et non dérivée d’une pile pensée d’abord pour le tactile. Demandez à Codex de commencer par choisir le modèle de scènes, puis de concevoir la fenêtre principale autour d’une sélection stable dans la barre latérale, d’une zone de détail et d’un inspecteur pour les contrôles ou métadonnées secondaires.

    Ossature d’une application Mac native, avec un élément sélectionné dans la barre latérale et son contenu dans le volet de détail

    Utilisez le plugin Build macOS Apps lorsque vous voulez que Codex applique cette structure de bureau et conserve une boucle de compilation/exécution pilotée depuis le shell. Son Skill consacré aux modèles SwiftUI pour macOS convient bien à la conception des scènes, des barres latérales, des inspecteurs, des commandes et des paramètres, ainsi qu’aux petites passerelles AppKit nécessaires lorsque SwiftUI ne couvre pas tout à fait un comportement propre au Mac.

    Créez une barre latérale, un volet de détail et un inspecteur

    Privilégiez NavigationSplitView lorsque la fonctionnalité bénéficie d’une navigation persistante et d’une sélection stable. Conservez des lignes natives et légères dans la barre latérale, utilisez les arrière-plans système pour celle-ci et réservez les cartes personnalisées ou les métadonnées denses au volet de détail ou à l’inspecteur.

    struct LibraryRootView: View {
      @SceneStorage("LibraryRootView.selection") private var selection: Item.ID?
      @SceneStorage("LibraryRootView.showInspector") private var showInspector = true
    
      var body: some View {
        NavigationSplitView {
          List(selection: $selection) {
            ForEach(items) { item in
              Label(item.title, systemImage: item.systemImage)
                .tag(item.id)
            }
          }
          .listStyle(.sidebar)
          .navigationTitle("Library")
        } detail: {
          ItemDetailView(selection: selection)
            .inspector(isPresented: $showInspector) {
              ItemInspectorView(selection: selection)
            }
        }
      }
    }

    Si l’application nécessite un dimensionnement inhabituel des volets, une coordination des fenêtres à bas niveau ou un comportement personnalisé de la chaîne de répondeurs, demandez à Codex de conserver l’ossature SwiftUI intacte et d’ajouter uniquement la plus petite passerelle AppKit nécessaire pour combler cette lacune.

    Placez les commandes, les barres d’outils et les raccourcis dans la couche propre à l’application de bureau

    Pour les utilisateurs de Mac, les actions importantes doivent être faciles à repérer dans la barre de menus et la barre d’outils, et accessibles avec des raccourcis clavier. Demandez à Codex de relier aux mêmes actions de l’application les commands définies au niveau de la scène, les éléments de menu contextuels et les boutons de la barre d’outils, afin que les utilisateurs n’aient pas à rechercher des contrôles accessibles uniquement par des gestes.

    @main
    struct LibraryApp: App {
      var body: some Scene {
        WindowGroup {
          LibraryRootView()
        }
        .commands {
          CommandMenu("Library") {
            Button("New Item") {
              // Create a new item.
            }
            .keyboardShortcut("n")
    
            Button("Toggle Inspector") {
              // Route this command to the focused window or selected item state.
            }
            .keyboardShortcut("i", modifiers: [.command, .option])
          }
        }
    
        Settings {
          LibrarySettingsView()
        }
      }
    }

    Utilisez FocusedValue, l’état de la scène ou un état de sélection explicite lorsqu’une commande doit s’appliquer à l’élément actuellement affiché dans le volet de détail. Si un raccourci risque d’être enregistré à plusieurs endroits, demandez à Codex de centraliser sa gestion afin que l’application dispose d’un chemin de commande unique et clairement défini.

    Conservez les préférences dans Settings

    Pour les préférences de l’application, utilisez une scène Settings dédiée et conservez durablement les choix utilisateur avec @AppStorage. Cette approche est généralement mieux adaptée à une application Mac que l’ajout d’un écran de paramètres dans la pile de navigation de la fenêtre de contenu principale.

    struct LibrarySettingsView: View {
      @AppStorage("showItemMetadata") private var showItemMetadata = true
    
      var body: some View {
        TabView {
          Form {
            Toggle("Show Item Metadata", isOn: $showItemMetadata)
          }
          .tabItem { Label("General", systemImage: "gearshape") }
        }
        .frame(width: 460, height: 260)
        .scenePadding()
      }
    }

    Décrivez le concept de l’application dans le prompt, puis validez son ossature

    Cette page donne les meilleurs résultats lorsque votre prompt décrit le concept de l’application, les principaux objets de contenu et les actions essentielles, puis demande à Codex de commencer par bâtir l’ossature de bureau autour de ce workflow. Demandez à l’agent d’effectuer une vérification simple de compilation/exécution et de résumer la structure des scènes, le câblage des commandes, la répartition de la gestion de l’état et les éventuels points nécessitant une passerelle AppKit.

    Conseils pratiques

    Conservez une barre latérale native

    Dans les lignes de la barre latérale, utilisez une icône, une ligne de titre et, au maximum, une courte ligne secondaire. Déplacez les cartes plus riches, les compteurs et les métadonnées vers le volet de détail ou l’inspecteur, afin que la liste source reste facile à lire d’un coup d’œil.

    Évitez de placer les paramètres dans la pile principale

    Si une préférence utilisateur s’applique à toute l’application, demandez à Codex de placer ce réglage dans Settings avec @AppStorage et de prévoir un point d’accès depuis le menu de l’application, au lieu de créer un nouvel écran de paramètres dans la pile de navigation.

    Réservez AppKit aux quelques lacunes de SwiftUI sur Mac

    Si la fonctionnalité nécessite des panneaux d’ouverture et d’enregistrement, le contrôle du premier répondant ou une NSView personnalisée, utilisez AppKit uniquement comme une fine couche d’adaptation autour d’un modèle d’état dont SwiftUI reste responsable, plutôt que de réécrire toute la fenêtre avec AppKit.

    Tech stack

    Need

    Ossature d’application avec vue fractionnée

    Default options

    NavigationSplitView, listes .sidebar et inspector(isPresented:)

    Why it's needed

    Une barre latérale persistante, un volet de détail et un inspecteur correspondent mieux aux agencements courants des applications Mac qu’une navigation par empilement pensée d’abord pour les interfaces tactiles.

    Need

    Actions et paramètres d’une application de bureau

    Default options

    commands, CommandMenu, raccourcis clavier et scène Settings

    Why it's needed

    Grâce aux actions dans la barre de menus, aux raccourcis et à une fenêtre de paramètres dédiée, la fonctionnalité ressemble à une véritable application Mac plutôt qu’à un écran iOS étiré aux dimensions d’un ordinateur.

    Need

    Gestion de l’état

    Default options

    @State, @SceneStorage, @AppStorage et liaisons de sélection explicites

    Why it's needed

    Codex peut garantir un comportement prévisible de la sélection dans la barre latérale, de la visibilité de l’inspecteur et des préférences utilisateur, sans ajouter machinalement un modèle de vue.

    Need

    Recours aux API natives

    Default options

    AppKit via des passerelles ciblées NSViewRepresentable ou NSWindow

    Why it's needed

    N’utilisez AppKit que pour les comportements de plateforme que SwiftUI ne permet pas d’implémenter proprement, tout en conservant SwiftUI comme source de vérité pour l’état des scènes et de la sélection.

    Need Default options Why it's needed
    Ossature d’application avec vue fractionnée NavigationSplitView , listes .sidebar et inspector(isPresented:) Une barre latérale persistante, un volet de détail et un inspecteur correspondent mieux aux agencements courants des applications Mac qu’une navigation par empilement pensée d’abord pour les interfaces tactiles.
    Actions et paramètres d’une application de bureau commands , CommandMenu , raccourcis clavier et scène Settings Grâce aux actions dans la barre de menus, aux raccourcis et à une fenêtre de paramètres dédiée, la fonctionnalité ressemble à une véritable application Mac plutôt qu’à un écran iOS étiré aux dimensions d’un ordinateur.
    Gestion de l’état @State , @SceneStorage , @AppStorage et liaisons de sélection explicites Codex peut garantir un comportement prévisible de la sélection dans la barre latérale, de la visibilité de l’inspecteur et des préférences utilisateur, sans ajouter machinalement un modèle de vue.
    Recours aux API natives AppKit via des passerelles ciblées NSViewRepresentable ou NSWindow N’utilisez AppKit que pour les comportements de plateforme que SwiftUI ne permet pas d’implémenter proprement, tout en conservant SwiftUI comme source de vérité pour l’état des scènes et de la sélection.

    Cas d’utilisation associés