specrails-desktop 2.7.0 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -19
- package/client/dist/assets/{ActivityFeedPage-LKqd18-G.js → ActivityFeedPage-DNqnf1fZ.js} +1 -1
- package/client/dist/assets/{AgentsPage-Cb-b-6Ot.js → AgentsPage-vmNIEbGM.js} +1 -1
- package/client/dist/assets/{AnalyticsPage-HVxQQ1wy.js → AnalyticsPage-CdfN0ofZ.js} +1 -1
- package/client/dist/assets/{BarChart-BOyHB0dw.js → BarChart-CIkopHjl.js} +1 -1
- package/client/dist/assets/{CodePage-DnOnwKGB.js → CodePage-DDRNU5FN.js} +1 -1
- package/client/dist/assets/{DesktopAnalyticsPage-D2auU39x.js → DesktopAnalyticsPage-Cl3sKKSG.js} +1 -1
- package/client/dist/assets/{DocsDialog-CTuDX3GK.js → DocsDialog-BGrBOfUr.js} +2 -2
- package/client/dist/assets/{DocsPage-DRyMmu0Z.js → DocsPage-CY-2SSzw.js} +2 -2
- package/client/dist/assets/{ExportDropdown-DO-GGiMh.js → ExportDropdown-BRHcvP0r.js} +1 -1
- package/client/dist/assets/{IntegrationsPage-BhbO4jFT.js → IntegrationsPage-nKdLB4Ub.js} +1 -1
- package/client/dist/assets/{JobDetailPage-DJooEg1s.js → JobDetailPage-Bf0A6WWQ.js} +1 -1
- package/client/dist/assets/{JobsPage-BbaC-YOg.js → JobsPage-Vg4nXPdL.js} +1 -1
- package/client/dist/assets/{dist-js-CiIVMsx3.js → dist-js-0i_klubI.js} +1 -1
- package/client/dist/assets/{dist-js-Xc2lRKp2.js → dist-js-CUs5GjwA.js} +1 -1
- package/client/dist/assets/{index-DK214dak.js → index-BXoHFtfG.js} +8 -8
- package/client/dist/assets/index-D6BaYRRU.css +2 -0
- package/client/dist/assets/{integrations-2C7MkGT0.js → integrations-7YyTBuU9.js} +1 -1
- package/client/dist/assets/{integrations-CX4p_bij.js → integrations-B9CEpNF0.js} +1 -1
- package/client/dist/assets/{integrations-C2jQtv-s.js → integrations-BlvAdewo.js} +1 -1
- package/client/dist/assets/{integrations-eQPHAYsE.js → integrations-Bw8UM9Xd.js} +1 -1
- package/client/dist/assets/{integrations-BDC670cg.js → integrations-C5SxNKnG.js} +1 -1
- package/client/dist/assets/{integrations-BqUmRUef.js → integrations-CJQKMmdW.js} +1 -1
- package/client/dist/assets/{integrations-CB98NeH5.js → integrations-DWz1eU_K.js} +1 -1
- package/client/dist/assets/{integrations-_SuVeQIG.js → integrations-DiPR8Fzp.js} +1 -1
- package/client/dist/assets/{lib-Bo5s6xpe.js → lib-D6M_MvoC.js} +1 -1
- package/client/dist/assets/setup-B6egeeTM.js +1 -0
- package/client/dist/assets/setup-BHroXlke.js +1 -0
- package/client/dist/assets/setup-BIXsWUp1.js +1 -0
- package/client/dist/assets/setup-BJRdg1iE.js +1 -0
- package/client/dist/assets/setup-C0rVGnCy.js +1 -0
- package/client/dist/assets/setup-Cpu17hJv.js +1 -0
- package/client/dist/assets/setup-D-1r0uSx.js +1 -0
- package/client/dist/assets/setup-Dn2-veYO.js +1 -0
- package/client/dist/assets/{useProjectCache-DVNypkmR.js → useProjectCache-BeyBSNpD.js} +1 -1
- package/client/dist/index.html +4 -4
- package/docs/README.md +5 -2
- package/docs/agy-cli-provider-study.md +78 -0
- package/docs/cli.md +23 -4
- package/docs/codex.md +116 -58
- package/docs/creating-specs.md +19 -5
- package/docs/customizing.md +27 -6
- package/docs/gemini.md +225 -73
- package/docs/getting-started.md +18 -9
- package/docs/guide/de/agents/1-meet-the-agents.md +38 -0
- package/docs/guide/de/agents/2-profiles-and-the-balanced-default.md +45 -0
- package/docs/guide/de/agents/3-customizing-models-per-agent.md +60 -0
- package/docs/guide/de/agents/4-custom-agents-catalog.md +43 -0
- package/docs/guide/de/getting-started/1-what-is-specrails.md +49 -0
- package/docs/guide/de/getting-started/2-installing-and-first-run.md +42 -0
- package/docs/guide/de/getting-started/3-adding-your-first-project.md +58 -0
- package/docs/guide/de/getting-started/4-the-dashboard-tour.md +53 -0
- package/docs/guide/de/insights/1-analytics-and-cost-tracking.md +78 -0
- package/docs/guide/de/insights/2-the-integrated-terminal.md +46 -0
- package/docs/guide/de/insights/3-code-explorer.md +50 -0
- package/docs/guide/de/integrations/1-ai-providers.md +64 -0
- package/docs/guide/de/integrations/2-plugins.md +44 -0
- package/docs/guide/de/integrations/3-jira-integration.md +71 -0
- package/docs/guide/de/integrations/4-mobile-companion.md +38 -0
- package/docs/guide/de/pipeline/1-rails-and-jobs.md +94 -0
- package/docs/guide/de/pipeline/2-the-job-detail-view.md +90 -0
- package/docs/guide/de/pipeline/3-batch-implement-and-multi-feature.md +78 -0
- package/docs/guide/de/pipeline/4-picking-an-engine-per-rail.md +60 -0
- package/docs/guide/de/settings/1-themes.md +37 -0
- package/docs/guide/de/settings/2-language.md +39 -0
- package/docs/guide/de/settings/3-pipeline-telemetry-and-diagnostics.md +46 -0
- package/docs/guide/de/settings/4-where-your-data-lives.md +48 -0
- package/docs/guide/de/specs/1-specs-and-the-backlog.md +52 -0
- package/docs/guide/de/specs/2-add-spec-quick-mode.md +45 -0
- package/docs/guide/de/specs/3-add-spec-explore-mode.md +68 -0
- package/docs/guide/de/specs/4-drafts-and-contract-layer.md +81 -0
- package/docs/guide/en/agents/1-meet-the-agents.md +38 -0
- package/docs/guide/en/agents/2-profiles-and-the-balanced-default.md +45 -0
- package/docs/guide/en/agents/3-customizing-models-per-agent.md +60 -0
- package/docs/guide/en/agents/4-custom-agents-catalog.md +43 -0
- package/docs/guide/en/getting-started/1-what-is-specrails.md +49 -0
- package/docs/guide/en/getting-started/2-installing-and-first-run.md +42 -0
- package/docs/guide/en/getting-started/3-adding-your-first-project.md +58 -0
- package/docs/guide/en/getting-started/4-the-dashboard-tour.md +53 -0
- package/docs/guide/en/insights/1-analytics-and-cost-tracking.md +78 -0
- package/docs/guide/en/insights/2-the-integrated-terminal.md +46 -0
- package/docs/guide/en/insights/3-code-explorer.md +50 -0
- package/docs/guide/en/integrations/1-ai-providers.md +64 -0
- package/docs/guide/en/integrations/2-plugins.md +44 -0
- package/docs/guide/en/integrations/3-jira-integration.md +71 -0
- package/docs/guide/en/integrations/4-mobile-companion.md +38 -0
- package/docs/guide/en/pipeline/1-rails-and-jobs.md +94 -0
- package/docs/guide/en/pipeline/2-the-job-detail-view.md +90 -0
- package/docs/guide/en/pipeline/3-batch-implement-and-multi-feature.md +78 -0
- package/docs/guide/en/pipeline/4-picking-an-engine-per-rail.md +60 -0
- package/docs/guide/en/settings/1-themes.md +37 -0
- package/docs/guide/en/settings/2-language.md +39 -0
- package/docs/guide/en/settings/3-pipeline-telemetry-and-diagnostics.md +46 -0
- package/docs/guide/en/settings/4-where-your-data-lives.md +48 -0
- package/docs/guide/en/specs/1-specs-and-the-backlog.md +52 -0
- package/docs/guide/en/specs/2-add-spec-quick-mode.md +45 -0
- package/docs/guide/en/specs/3-add-spec-explore-mode.md +68 -0
- package/docs/guide/en/specs/4-drafts-and-contract-layer.md +81 -0
- package/docs/guide/es/agents/1-meet-the-agents.md +38 -0
- package/docs/guide/es/agents/2-profiles-and-the-balanced-default.md +45 -0
- package/docs/guide/es/agents/3-customizing-models-per-agent.md +60 -0
- package/docs/guide/es/agents/4-custom-agents-catalog.md +43 -0
- package/docs/guide/es/getting-started/1-what-is-specrails.md +49 -0
- package/docs/guide/es/getting-started/2-installing-and-first-run.md +42 -0
- package/docs/guide/es/getting-started/3-adding-your-first-project.md +58 -0
- package/docs/guide/es/getting-started/4-the-dashboard-tour.md +53 -0
- package/docs/guide/es/insights/1-analytics-and-cost-tracking.md +78 -0
- package/docs/guide/es/insights/2-the-integrated-terminal.md +46 -0
- package/docs/guide/es/insights/3-code-explorer.md +50 -0
- package/docs/guide/es/integrations/1-ai-providers.md +64 -0
- package/docs/guide/es/integrations/2-plugins.md +44 -0
- package/docs/guide/es/integrations/3-jira-integration.md +71 -0
- package/docs/guide/es/integrations/4-mobile-companion.md +38 -0
- package/docs/guide/es/pipeline/1-rails-and-jobs.md +94 -0
- package/docs/guide/es/pipeline/2-the-job-detail-view.md +90 -0
- package/docs/guide/es/pipeline/3-batch-implement-and-multi-feature.md +78 -0
- package/docs/guide/es/pipeline/4-picking-an-engine-per-rail.md +60 -0
- package/docs/guide/es/settings/1-themes.md +37 -0
- package/docs/guide/es/settings/2-language.md +39 -0
- package/docs/guide/es/settings/3-pipeline-telemetry-and-diagnostics.md +46 -0
- package/docs/guide/es/settings/4-where-your-data-lives.md +48 -0
- package/docs/guide/es/specs/1-specs-and-the-backlog.md +52 -0
- package/docs/guide/es/specs/2-add-spec-quick-mode.md +45 -0
- package/docs/guide/es/specs/3-add-spec-explore-mode.md +68 -0
- package/docs/guide/es/specs/4-drafts-and-contract-layer.md +81 -0
- package/docs/guide/fr/agents/1-meet-the-agents.md +38 -0
- package/docs/guide/fr/agents/2-profiles-and-the-balanced-default.md +45 -0
- package/docs/guide/fr/agents/3-customizing-models-per-agent.md +60 -0
- package/docs/guide/fr/agents/4-custom-agents-catalog.md +43 -0
- package/docs/guide/fr/getting-started/1-what-is-specrails.md +49 -0
- package/docs/guide/fr/getting-started/2-installing-and-first-run.md +42 -0
- package/docs/guide/fr/getting-started/3-adding-your-first-project.md +58 -0
- package/docs/guide/fr/getting-started/4-the-dashboard-tour.md +53 -0
- package/docs/guide/fr/insights/1-analytics-and-cost-tracking.md +78 -0
- package/docs/guide/fr/insights/2-the-integrated-terminal.md +46 -0
- package/docs/guide/fr/insights/3-code-explorer.md +50 -0
- package/docs/guide/fr/integrations/1-ai-providers.md +64 -0
- package/docs/guide/fr/integrations/2-plugins.md +44 -0
- package/docs/guide/fr/integrations/3-jira-integration.md +71 -0
- package/docs/guide/fr/integrations/4-mobile-companion.md +38 -0
- package/docs/guide/fr/pipeline/1-rails-and-jobs.md +94 -0
- package/docs/guide/fr/pipeline/2-the-job-detail-view.md +90 -0
- package/docs/guide/fr/pipeline/3-batch-implement-and-multi-feature.md +78 -0
- package/docs/guide/fr/pipeline/4-picking-an-engine-per-rail.md +60 -0
- package/docs/guide/fr/settings/1-themes.md +37 -0
- package/docs/guide/fr/settings/2-language.md +39 -0
- package/docs/guide/fr/settings/3-pipeline-telemetry-and-diagnostics.md +46 -0
- package/docs/guide/fr/settings/4-where-your-data-lives.md +48 -0
- package/docs/guide/fr/specs/1-specs-and-the-backlog.md +52 -0
- package/docs/guide/fr/specs/2-add-spec-quick-mode.md +45 -0
- package/docs/guide/fr/specs/3-add-spec-explore-mode.md +68 -0
- package/docs/guide/fr/specs/4-drafts-and-contract-layer.md +81 -0
- package/docs/guide/it/agents/1-meet-the-agents.md +38 -0
- package/docs/guide/it/agents/2-profiles-and-the-balanced-default.md +45 -0
- package/docs/guide/it/agents/3-customizing-models-per-agent.md +60 -0
- package/docs/guide/it/agents/4-custom-agents-catalog.md +43 -0
- package/docs/guide/it/getting-started/1-what-is-specrails.md +49 -0
- package/docs/guide/it/getting-started/2-installing-and-first-run.md +42 -0
- package/docs/guide/it/getting-started/3-adding-your-first-project.md +58 -0
- package/docs/guide/it/getting-started/4-the-dashboard-tour.md +53 -0
- package/docs/guide/it/insights/1-analytics-and-cost-tracking.md +78 -0
- package/docs/guide/it/insights/2-the-integrated-terminal.md +46 -0
- package/docs/guide/it/insights/3-code-explorer.md +50 -0
- package/docs/guide/it/integrations/1-ai-providers.md +64 -0
- package/docs/guide/it/integrations/2-plugins.md +44 -0
- package/docs/guide/it/integrations/3-jira-integration.md +71 -0
- package/docs/guide/it/integrations/4-mobile-companion.md +38 -0
- package/docs/guide/it/pipeline/1-rails-and-jobs.md +94 -0
- package/docs/guide/it/pipeline/2-the-job-detail-view.md +90 -0
- package/docs/guide/it/pipeline/3-batch-implement-and-multi-feature.md +78 -0
- package/docs/guide/it/pipeline/4-picking-an-engine-per-rail.md +60 -0
- package/docs/guide/it/settings/1-themes.md +37 -0
- package/docs/guide/it/settings/2-language.md +39 -0
- package/docs/guide/it/settings/3-pipeline-telemetry-and-diagnostics.md +46 -0
- package/docs/guide/it/settings/4-where-your-data-lives.md +48 -0
- package/docs/guide/it/specs/1-specs-and-the-backlog.md +52 -0
- package/docs/guide/it/specs/2-add-spec-quick-mode.md +45 -0
- package/docs/guide/it/specs/3-add-spec-explore-mode.md +68 -0
- package/docs/guide/it/specs/4-drafts-and-contract-layer.md +81 -0
- package/docs/guide/ja/agents/1-meet-the-agents.md +38 -0
- package/docs/guide/ja/agents/2-profiles-and-the-balanced-default.md +45 -0
- package/docs/guide/ja/agents/3-customizing-models-per-agent.md +60 -0
- package/docs/guide/ja/agents/4-custom-agents-catalog.md +43 -0
- package/docs/guide/ja/getting-started/1-what-is-specrails.md +49 -0
- package/docs/guide/ja/getting-started/2-installing-and-first-run.md +42 -0
- package/docs/guide/ja/getting-started/3-adding-your-first-project.md +58 -0
- package/docs/guide/ja/getting-started/4-the-dashboard-tour.md +53 -0
- package/docs/guide/ja/insights/1-analytics-and-cost-tracking.md +78 -0
- package/docs/guide/ja/insights/2-the-integrated-terminal.md +46 -0
- package/docs/guide/ja/insights/3-code-explorer.md +50 -0
- package/docs/guide/ja/integrations/1-ai-providers.md +64 -0
- package/docs/guide/ja/integrations/2-plugins.md +44 -0
- package/docs/guide/ja/integrations/3-jira-integration.md +71 -0
- package/docs/guide/ja/integrations/4-mobile-companion.md +38 -0
- package/docs/guide/ja/pipeline/1-rails-and-jobs.md +94 -0
- package/docs/guide/ja/pipeline/2-the-job-detail-view.md +90 -0
- package/docs/guide/ja/pipeline/3-batch-implement-and-multi-feature.md +78 -0
- package/docs/guide/ja/pipeline/4-picking-an-engine-per-rail.md +60 -0
- package/docs/guide/ja/settings/1-themes.md +37 -0
- package/docs/guide/ja/settings/2-language.md +39 -0
- package/docs/guide/ja/settings/3-pipeline-telemetry-and-diagnostics.md +46 -0
- package/docs/guide/ja/settings/4-where-your-data-lives.md +48 -0
- package/docs/guide/ja/specs/1-specs-and-the-backlog.md +52 -0
- package/docs/guide/ja/specs/2-add-spec-quick-mode.md +45 -0
- package/docs/guide/ja/specs/3-add-spec-explore-mode.md +68 -0
- package/docs/guide/ja/specs/4-drafts-and-contract-layer.md +81 -0
- package/docs/guide/pt/agents/1-meet-the-agents.md +38 -0
- package/docs/guide/pt/agents/2-profiles-and-the-balanced-default.md +45 -0
- package/docs/guide/pt/agents/3-customizing-models-per-agent.md +60 -0
- package/docs/guide/pt/agents/4-custom-agents-catalog.md +43 -0
- package/docs/guide/pt/getting-started/1-what-is-specrails.md +49 -0
- package/docs/guide/pt/getting-started/2-installing-and-first-run.md +42 -0
- package/docs/guide/pt/getting-started/3-adding-your-first-project.md +58 -0
- package/docs/guide/pt/getting-started/4-the-dashboard-tour.md +53 -0
- package/docs/guide/pt/insights/1-analytics-and-cost-tracking.md +78 -0
- package/docs/guide/pt/insights/2-the-integrated-terminal.md +46 -0
- package/docs/guide/pt/insights/3-code-explorer.md +50 -0
- package/docs/guide/pt/integrations/1-ai-providers.md +64 -0
- package/docs/guide/pt/integrations/2-plugins.md +44 -0
- package/docs/guide/pt/integrations/3-jira-integration.md +71 -0
- package/docs/guide/pt/integrations/4-mobile-companion.md +38 -0
- package/docs/guide/pt/pipeline/1-rails-and-jobs.md +94 -0
- package/docs/guide/pt/pipeline/2-the-job-detail-view.md +90 -0
- package/docs/guide/pt/pipeline/3-batch-implement-and-multi-feature.md +78 -0
- package/docs/guide/pt/pipeline/4-picking-an-engine-per-rail.md +60 -0
- package/docs/guide/pt/settings/1-themes.md +37 -0
- package/docs/guide/pt/settings/2-language.md +39 -0
- package/docs/guide/pt/settings/3-pipeline-telemetry-and-diagnostics.md +46 -0
- package/docs/guide/pt/settings/4-where-your-data-lives.md +48 -0
- package/docs/guide/pt/specs/1-specs-and-the-backlog.md +52 -0
- package/docs/guide/pt/specs/2-add-spec-quick-mode.md +45 -0
- package/docs/guide/pt/specs/3-add-spec-explore-mode.md +68 -0
- package/docs/guide/pt/specs/4-drafts-and-contract-layer.md +81 -0
- package/docs/guide/zh/agents/1-meet-the-agents.md +38 -0
- package/docs/guide/zh/agents/2-profiles-and-the-balanced-default.md +45 -0
- package/docs/guide/zh/agents/3-customizing-models-per-agent.md +60 -0
- package/docs/guide/zh/agents/4-custom-agents-catalog.md +43 -0
- package/docs/guide/zh/getting-started/1-what-is-specrails.md +49 -0
- package/docs/guide/zh/getting-started/2-installing-and-first-run.md +42 -0
- package/docs/guide/zh/getting-started/3-adding-your-first-project.md +58 -0
- package/docs/guide/zh/getting-started/4-the-dashboard-tour.md +53 -0
- package/docs/guide/zh/insights/1-analytics-and-cost-tracking.md +78 -0
- package/docs/guide/zh/insights/2-the-integrated-terminal.md +46 -0
- package/docs/guide/zh/insights/3-code-explorer.md +50 -0
- package/docs/guide/zh/integrations/1-ai-providers.md +64 -0
- package/docs/guide/zh/integrations/2-plugins.md +44 -0
- package/docs/guide/zh/integrations/3-jira-integration.md +71 -0
- package/docs/guide/zh/integrations/4-mobile-companion.md +38 -0
- package/docs/guide/zh/pipeline/1-rails-and-jobs.md +94 -0
- package/docs/guide/zh/pipeline/2-the-job-detail-view.md +90 -0
- package/docs/guide/zh/pipeline/3-batch-implement-and-multi-feature.md +78 -0
- package/docs/guide/zh/pipeline/4-picking-an-engine-per-rail.md +60 -0
- package/docs/guide/zh/settings/1-themes.md +37 -0
- package/docs/guide/zh/settings/2-language.md +39 -0
- package/docs/guide/zh/settings/3-pipeline-telemetry-and-diagnostics.md +46 -0
- package/docs/guide/zh/settings/4-where-your-data-lives.md +48 -0
- package/docs/guide/zh/specs/1-specs-and-the-backlog.md +52 -0
- package/docs/guide/zh/specs/2-add-spec-quick-mode.md +45 -0
- package/docs/guide/zh/specs/3-add-spec-explore-mode.md +68 -0
- package/docs/guide/zh/specs/4-drafts-and-contract-layer.md +81 -0
- package/docs/internals/README.md +1 -1
- package/docs/internals/adding-a-provider.md +192 -59
- package/docs/internals/api-reference.md +130 -21
- package/docs/internals/architecture.md +22 -9
- package/docs/internals/bundled-framework-build-plan.md +264 -0
- package/docs/internals/configuration.md +33 -8
- package/docs/internals/global-artifacts-alignment-contract.md +486 -0
- package/docs/internals/global-artifacts-relocation-evaluation.md +294 -0
- package/docs/internals/operations-runbook.md +16 -5
- package/docs/internals/profiles.md +42 -14
- package/docs/platforms/macos.md +27 -8
- package/docs/platforms/windows.md +20 -6
- package/docs/running-pipelines.md +17 -9
- package/docs/terminal.md +9 -3
- package/docs/tracking-cost.md +17 -11
- package/package.json +1 -1
- package/server/dist/agent-refine-manager.js +20 -5
- package/server/dist/artifact-registry.js +468 -0
- package/server/dist/attachment-manager.js +5 -8
- package/server/dist/browser-capture-manager.js +4 -4
- package/server/dist/bundled-core.js +72 -0
- package/server/dist/bundled-openspec.js +58 -0
- package/server/dist/chat-manager.js +42 -5
- package/server/dist/code-explorer-router.js +10 -7
- package/server/dist/config.js +7 -2
- package/server/dist/context-budget.js +17 -6
- package/server/dist/context-scope.js +6 -2
- package/server/dist/contract-refine-runner.js +31 -9
- package/server/dist/desktop-router.js +39 -14
- package/server/dist/docs-router.js +210 -132
- package/server/dist/file-summary-manager.js +41 -16
- package/server/dist/framework-manager.js +248 -0
- package/server/dist/framework-migration.js +308 -0
- package/server/dist/index.js +30 -0
- package/server/dist/install-config-path.js +73 -0
- package/server/dist/jira/jira-sync-manager.js +23 -11
- package/server/dist/openspec-shim.js +153 -0
- package/server/dist/plugins-router.js +19 -8
- package/server/dist/profiles-router.js +38 -16
- package/server/dist/project-registry.js +101 -3
- package/server/dist/project-router-chat.js +1 -1
- package/server/dist/project-router-helpers.js +25 -12
- package/server/dist/project-router-jobs.js +3 -3
- package/server/dist/project-router-settings.js +8 -6
- package/server/dist/project-router-setup.js +27 -10
- package/server/dist/project-router-spending.js +6 -1
- package/server/dist/project-router-tickets.js +30 -10
- package/server/dist/project-router.js +16 -1
- package/server/dist/providers/gemini-adapter.js +4 -0
- package/server/dist/providers/gemini-agent-ack.js +65 -0
- package/server/dist/queue-manager.js +156 -12
- package/server/dist/setup-manager.js +131 -29
- package/server/dist/smash-runner.js +21 -6
- package/server/dist/ticket-store.js +6 -2
- package/server/dist/ticket-watcher.js +5 -1
- package/server/dist/util/stream-display.js +18 -3
- package/server/dist/vitest-setup.js +25 -0
- package/server/dist/workspace-manager.js +199 -0
- package/server/dist/workspace-resolution.js +147 -0
- package/client/dist/assets/index-DgKfQFcf.css +0 -2
- package/client/dist/assets/setup-BIIkb-_K.js +0 -1
- package/client/dist/assets/setup-BeQxu9kD.js +0 -1
- package/client/dist/assets/setup-CPa6GnlI.js +0 -1
- package/client/dist/assets/setup-CZl4OEJx.js +0 -1
- package/client/dist/assets/setup-ChpodNfn.js +0 -1
- package/client/dist/assets/setup-D_fjJH6u.js +0 -1
- package/client/dist/assets/setup-YzD8DX4O.js +0 -1
- package/client/dist/assets/setup-fRpDozmq.js +0 -1
- package/docs/adding-a-provider.md +0 -107
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Añadir spec — Modo Quick
|
|
2
|
+
|
|
3
|
+
El modo Quick es para cuando ya sabes lo que quieres. Escribes tu idea, la IA redacta la spec completa y esta aterriza en tu tablero como **Por hacer**. Sin idas y venidas: solo descríbela y listo.
|
|
4
|
+
|
|
5
|
+
## Crear una spec en modo Quick
|
|
6
|
+
|
|
7
|
+
Para crear una spec rápidamente:
|
|
8
|
+
|
|
9
|
+
1. En el Dashboard, haz clic en **Añadir** (el botón Más de la barra de herramientas del SpecsBoard).
|
|
10
|
+
2. Elige el modo **Quick**.
|
|
11
|
+
3. Escribe tu idea en el campo de texto: una frase o un párrafo, lo que la capture.
|
|
12
|
+
4. Haz clic para generar.
|
|
13
|
+
|
|
14
|
+
Mientras se redacta la spec, un pequeño aviso en la esquina muestra el nombre del proyecto, un fragmento de tu idea y el **tiempo transcurrido** («Generando… 0:12»). Cuando termina, el aviso cambia a «Generada en <tiempo>» con una acción **Ver** que te lleva directamente a tu nueva spec.
|
|
15
|
+
|
|
16
|
+
Ese es todo el flujo. Todo lo que viene a continuación son ajustes opcionales.
|
|
17
|
+
|
|
18
|
+
## Qué puedes ajustar
|
|
19
|
+
|
|
20
|
+
**Modelo**: por defecto, la IA elige un modelo razonable. Puedes sobrescribirlo por spec desde el selector de modelo si quieres uno más rápido o más capaz.
|
|
21
|
+
|
|
22
|
+
**Motor**: si tu proyecto tiene instalado más de un proveedor de IA (cualquier combinación de Claude, Codex y Gemini), un selector de motor aparece en la parte superior del diálogo para que elijas cuál genera esta spec. Tu elección se recuerda por proyecto. Los proyectos con un solo proveedor no muestran esto: no hay entre qué elegir.
|
|
23
|
+
|
|
24
|
+
**Contexto**: el modo Quick normalmente se ejecuta en un solo turno, porque no necesita leer tu código para escribir una spec a partir de tu descripción. Pero un control deslizante de contexto te permite darle más material con el que trabajar:
|
|
25
|
+
|
|
26
|
+
- En el nivel más bajo solo lee tu descripción.
|
|
27
|
+
- En niveles más altos puede leer tus specs existentes, las specs de OpenSpec de tu proyecto e incluso todo tu código antes de escribir.
|
|
28
|
+
|
|
29
|
+
Cuanto más contexto le des, más tarda la generación (pasa a varios turnos para poder leer primero), pero la spec vuelve fundamentada en tu proyecto real. Recurre a un contexto más alto cuando la spec necesite referirse a código real, nombres de archivo o comportamiento existente.
|
|
30
|
+
|
|
31
|
+
**Adjuntos**: arrastra mockups, briefs o archivos de datos al campo de la idea. La IA los lee como parte de la redacción de la spec. (Los adjuntos también hacen que la generación pase a varios turnos.)
|
|
32
|
+
|
|
33
|
+
**Enriquecer con Contract Layer**: un interruptor que añade un bloque estructurado a la spec generada para que el pipeline posterior no tenga que adivinar nombres ni formas de datos. Es opcional y está desactivado por defecto; tu última elección se recuerda por proyecto. Consulta [Borradores y la Contract Layer](drafts-and-contract-layer.md) para ver qué añade y cuándo merece la pena.
|
|
34
|
+
|
|
35
|
+
## Cuándo usar el modo Quick frente a Explore
|
|
36
|
+
|
|
37
|
+
Usa **Quick** cuando la idea ya está clara en tu cabeza: podrías escribir la spec tú mismo, pero prefieres que lo haga la IA. Usa [**Explore**](add-spec-explore-mode.md) cuando todavía le estás dando vueltas y quieres un compañero que te ayude a darle forma.
|
|
38
|
+
|
|
39
|
+
Una spec creada en modo Quick es una spec totalmente normal: más adelante puedes abrirla y **Seguir editando** en una sesión de Explore si necesita refinarse.
|
|
40
|
+
|
|
41
|
+
## Adónde ir después
|
|
42
|
+
|
|
43
|
+
- [Añadir spec — Modo Explore](add-spec-explore-mode.md): para specs que necesitan darse forma.
|
|
44
|
+
- [Borradores y la Contract Layer](drafts-and-contract-layer.md): el enriquecimiento con Contract Layer explicado.
|
|
45
|
+
- [Ejecutar pipelines](running-pipelines.md): arrastra tu nueva spec a un rail e impleméntala.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Añadir spec — Modo Explore
|
|
2
|
+
|
|
3
|
+
El modo Explore es una conversación. En lugar de escribir tú mismo la spec, hablas sobre la idea con la IA: actúa como compañero de reflexión, hace preguntas, propone estructura y construye un **borrador en vivo** de la spec sobre la marcha. Cuando estés a gusto, confirmas el borrador como una spec real.
|
|
4
|
+
|
|
5
|
+
Recurre a Explore cuando la idea todavía no está del todo formada, cuando hay compromisos que conviene hablar o cuando quieres que la IA mire tu código real antes de fijar la spec.
|
|
6
|
+
|
|
7
|
+
## Crear una spec en modo Explore
|
|
8
|
+
|
|
9
|
+
Para dar forma a una spec en modo Explore:
|
|
10
|
+
|
|
11
|
+
1. En el Dashboard, haz clic en **Añadir** y luego elige **Explore**.
|
|
12
|
+
2. Escribe tu primer mensaje: la idea, una pregunta o un pensamiento a medio formar.
|
|
13
|
+
3. Lee la respuesta de la IA y sigue contestando. En cada turno, refina su comprensión.
|
|
14
|
+
4. Observa cómo se actualiza el **borrador en vivo** junto al chat: esta es la spec tomando forma.
|
|
15
|
+
5. Cuando el borrador tenga buena pinta, haz clic en **Crear spec**.
|
|
16
|
+
|
|
17
|
+
La conversación queda en tu historial, así que siempre puedes volver para ver cómo se le dio forma a la spec.
|
|
18
|
+
|
|
19
|
+
## El borrador en vivo
|
|
20
|
+
|
|
21
|
+
A medida que conversas, un panel de borrador muestra la spec tal como está en cada momento: título, descripción, prioridad, etiquetas y criterios de aceptación. Se reescribe en cada turno en función de lo que habéis comentado. No lo editas directamente; lo guías a través de la conversación («en realidad, pon la prioridad en alta», «añade un criterio sobre el manejo de errores», y así).
|
|
22
|
+
|
|
23
|
+
Esto es el corazón del modo Explore: nunca estás mirando un formulario en blanco. Siempre tienes delante una spec real y en evolución.
|
|
24
|
+
|
|
25
|
+
## Cuánto ve la IA: el control deslizante de contexto
|
|
26
|
+
|
|
27
|
+
Antes de que la IA responda, decides cuánto de tu proyecto puede ver. Un control deslizante de presets de contexto te permite cambiar velocidad por profundidad:
|
|
28
|
+
|
|
29
|
+
| Preset | Qué ve la IA |
|
|
30
|
+
|--------|--------------|
|
|
31
|
+
| **Mínimo** | Solo tu mensaje. Lo más rápido y barato. |
|
|
32
|
+
| **Ligero** | + tus specs existentes. |
|
|
33
|
+
| **Estándar** | + tus specs y las specs de OpenSpec de tu proyecto. |
|
|
34
|
+
| **Amplio** | + acceso de lectura a todo tu código, para que pueda fundamentar las respuestas en código real. |
|
|
35
|
+
| **Max** | Amplio, más una pasada de enriquecimiento con Contract Layer al confirmar. |
|
|
36
|
+
| **Desktop** | Max, más los servidores MCP de tu proyecto y tus propios servidores MCP aprobados. |
|
|
37
|
+
|
|
38
|
+
Empieza bajo para una lluvia de ideas rápida; sube cuando quieras que la IA verifique sus sugerencias contra tu código real. La elección se guarda en la conversación, así que no se filtra a otras sesiones de Explore.
|
|
39
|
+
|
|
40
|
+
Si quieres un control más fino, haz clic en **Ajuste fino** para activar las opciones subyacentes a mano, incluida **Mis MCP aprobados**, que carga los servidores MCP que ya has aprobado en local sin ralentizar la sesión.
|
|
41
|
+
|
|
42
|
+
## Botones del shell de Explore
|
|
43
|
+
|
|
44
|
+
- **Crear spec**: promueve el borrador en vivo a una spec real con estado **Por hacer**. (Cuando estás editando una spec existente, este botón pasa a leer **Actualizar spec** y parchea esa spec en su sitio.)
|
|
45
|
+
- **Revisar →**: abre una superposición de revisión que muestra la spec propuesta comparada con la línea base antes de confirmar, para que no haya sorpresas.
|
|
46
|
+
- **Guardar como borrador**: conserva la conversación como un ticket de borrador para que puedas retomarlo más tarde. Disponible en cuanto hayas enviado al menos un mensaje. Ver más abajo.
|
|
47
|
+
- **Minimizar**: aparca la conversación como un chip en el dock de chats minimizados, abajo a la izquierda. Haz clic en el chip en cualquier momento para volver directamente a la conversación: no se pierde nada.
|
|
48
|
+
- **Descartar**: tira la conversación a la basura (pide confirmación primero).
|
|
49
|
+
|
|
50
|
+
## Guardar como borrador
|
|
51
|
+
|
|
52
|
+
¿No estás listo para confirmar, pero no quieres perder lo pensado? Haz clic en **Guardar como borrador**. La conversación se convierte en una **spec en borrador** en tu tablero, y el borrador queda vinculado a la conversación que hay detrás.
|
|
53
|
+
|
|
54
|
+
Más tarde, abre el borrador desde el tablero y haz clic en **Seguir editando**: la conversación original se reabre con su historial de chat intacto y continúas exactamente donde lo dejaste. Los borradores nunca se borran automáticamente; te esperan.
|
|
55
|
+
|
|
56
|
+
Esto hace que Explore sea seguro para ideas a medio cocer: empieza una conversación, llega a algún sitio, guárdala como borrador y vuelve mañana.
|
|
57
|
+
|
|
58
|
+
Para todo lo relacionado con los borradores —incluido el enriquecimiento con Contract Layer— consulta [Borradores y la Contract Layer](drafts-and-contract-layer.md).
|
|
59
|
+
|
|
60
|
+
## Nota sobre múltiples proveedores
|
|
61
|
+
|
|
62
|
+
Si tu proyecto tiene instalado más de un proveedor de IA, un selector de motor te permite elegir cuál impulsa la conversación de Explore. Los proyectos con un solo proveedor no lo muestran.
|
|
63
|
+
|
|
64
|
+
## Adónde ir después
|
|
65
|
+
|
|
66
|
+
- [Borradores y la Contract Layer](drafts-and-contract-layer.md): guardar el trabajo en curso y enriquecer las specs para el pipeline.
|
|
67
|
+
- [Añadir spec — Modo Quick](add-spec-quick-mode.md): cuando la idea ya está clara.
|
|
68
|
+
- [Ejecutar pipelines](running-pipelines.md): implementa tu spec una vez esté lista.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Borradores y la Contract Layer
|
|
2
|
+
|
|
3
|
+
Esta página cubre dos formas de sacarle más partido a tus specs: los **borradores** (guardar una idea en curso para retomarla más tarde) y la **Contract Layer** (un enriquecimiento opcional que hace las specs más precisas para el pipeline de IA).
|
|
4
|
+
|
|
5
|
+
## Borradores: guardar una idea en curso
|
|
6
|
+
|
|
7
|
+
Un **borrador** es una conversación de [Explore](add-spec-explore-mode.md) en curso guardada como spec. Te permite parar a mitad de pensamiento sin perder nada y volver cuando estés listo.
|
|
8
|
+
|
|
9
|
+
### Guardar un borrador
|
|
10
|
+
|
|
11
|
+
Mientras estás en una conversación de Explore, haz clic en **Guardar como borrador** (disponible en cuanto hayas enviado al menos un mensaje). La app:
|
|
12
|
+
|
|
13
|
+
- Crea una spec con estado **Borrador** en tu tablero.
|
|
14
|
+
- Le pone un título automáticamente si no estableciste uno (un resumen breve de la conversación).
|
|
15
|
+
- La vincula de vuelta a la conversación, para conservar todo el historial del chat.
|
|
16
|
+
|
|
17
|
+
Guardar es idempotente: si guardas la misma conversación dos veces, actualiza el borrador existente en lugar de crear un duplicado.
|
|
18
|
+
|
|
19
|
+
### Cómo se ven los borradores en el tablero
|
|
20
|
+
|
|
21
|
+
Los borradores viven en el mismo grupo activo que tus specs Por hacer: no hay una columna separada. Los distinguirás por:
|
|
22
|
+
|
|
23
|
+
- Una píldora `Draft` donde normalmente está la píldora de prioridad.
|
|
24
|
+
- Un borde con un tinte sutil en la tarjeta.
|
|
25
|
+
|
|
26
|
+
Un borrador puede *no tener prioridad*: la prioridad la defines cuando lo confirmas como una spec real.
|
|
27
|
+
|
|
28
|
+
### Retomar un borrador
|
|
29
|
+
|
|
30
|
+
Para continuar donde lo dejaste:
|
|
31
|
+
|
|
32
|
+
1. Abre el borrador desde el tablero.
|
|
33
|
+
2. Haz clic en **Seguir editando** en el modal de detalle.
|
|
34
|
+
3. La conversación original de Explore se reabre con su historial de chat completo, y el panel del borrador en vivo se rellena con todo lo que habías ido dando forma.
|
|
35
|
+
4. Sigue hablando. Cuando termines, **Crear spec** promueve el borrador a una spec real (estado **Por hacer**, con la prioridad que elijas).
|
|
36
|
+
|
|
37
|
+
### Descartar un borrador
|
|
38
|
+
|
|
39
|
+
Los borradores **nunca se borran automáticamente**. Solo desaparecen cuando los descartas explícitamente, o cuando los confirmas en un estado real. Descartar un borrador también limpia su conversación vinculada cuando nada más la referencia.
|
|
40
|
+
|
|
41
|
+
> Consejo: cuando no tengas claro si una spec merece la pena, guárdala como borrador y déjala reposar. Ábrela a la mañana siguiente, echa un vistazo a la descripción y decide con la mente fresca.
|
|
42
|
+
|
|
43
|
+
## La Contract Layer: precisión para el pipeline
|
|
44
|
+
|
|
45
|
+
La **Contract Layer** es un enriquecimiento opcional que añade un bloque estructurado a la descripción de una spec. Su función es eliminar las conjeturas para los agentes de IA que implementan la spec, de modo que reutilicen los nombres correctos, respeten las formas de datos esperadas y toquen los archivos adecuados en lugar de inventar los suyos.
|
|
46
|
+
|
|
47
|
+
### Qué añade
|
|
48
|
+
|
|
49
|
+
La Contract Layer consta de cinco secciones breves que se añaden a la spec:
|
|
50
|
+
|
|
51
|
+
- **Naming Contract**: los identificadores exactos (funciones, campos, rutas) que la implementación debe reutilizar.
|
|
52
|
+
- **Data Shapes**: los payloads tipo JSON involucrados.
|
|
53
|
+
- **State Machine**: las transiciones o estados por los que pasa la funcionalidad.
|
|
54
|
+
- **Invariants**: propiedades que siempre deben cumplirse.
|
|
55
|
+
- **File Touch List**: los archivos que se espera que la implementación edite.
|
|
56
|
+
|
|
57
|
+
Piénsalo como entregarle al pipeline un plano preciso en lugar de un boceto. Resulta especialmente valioso para specs que se conectan con código existente, donde que la IA adivine un nombre o una forma provocaría retrabajo.
|
|
58
|
+
|
|
59
|
+
### Cómo añadirla
|
|
60
|
+
|
|
61
|
+
Hay tres formas de aplicar la Contract Layer:
|
|
62
|
+
|
|
63
|
+
- **Modo Quick**: activa el interruptor **Enriquecer con Contract Layer** antes de generar. Tu última elección se recuerda por proyecto. (Consulta [Añadir spec — Modo Quick](add-spec-quick-mode.md).)
|
|
64
|
+
- **Modo Explore**: elige el preset de contexto **Max** o **Desktop** (que ejecutan el enriquecimiento automáticamente al confirmar), o abre **Ajuste fino** y actívalo a mano. (Consulta [Añadir spec — Modo Explore](add-spec-explore-mode.md).)
|
|
65
|
+
- **En una spec existente**: abre el modal de detalle de la spec y vuelve a ejecutar el enriquecimiento desde ahí.
|
|
66
|
+
|
|
67
|
+
### Dónde aparece
|
|
68
|
+
|
|
69
|
+
Una vez que una spec tiene Contract Layer, el modal de detalle la muestra como un bloque desplegable con una insignia tipo `3/5 populated`, que te indica cuántas de las cinco secciones se han rellenado realmente (algunas funcionalidades simplemente no tienen, por ejemplo, una máquina de estados, y esas secciones se marcan como no aplicables). Despliégalo para leer el contrato completo; pliégalo para mantener la descripción ordenada.
|
|
70
|
+
|
|
71
|
+
Si el enriquecimiento alguna vez falla al ejecutarse, la app muestra una notificación con una acción **Reintentar** para que puedas volver a lanzarlo.
|
|
72
|
+
|
|
73
|
+
### ¿Siempre merece la pena?
|
|
74
|
+
|
|
75
|
+
No siempre. Para una spec pequeña y autocontenida, la IA puede implementarla bien sin ella. La Contract Layer demuestra su valor en specs que se integran estrechamente con código existente, donde los nombres y formas exactos importan: ahí es cuando fijar el contrato por adelantado te ahorra una ronda de correcciones más tarde.
|
|
76
|
+
|
|
77
|
+
## Adónde ir después
|
|
78
|
+
|
|
79
|
+
- [Añadir spec — Modo Explore](add-spec-explore-mode.md): de donde salen los borradores.
|
|
80
|
+
- [Añadir spec — Modo Quick](add-spec-quick-mode.md): el interruptor de Contract Layer en el modo Quick.
|
|
81
|
+
- [Ejecutar pipelines](running-pipelines.md): implementa una spec una vez esté lista.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Faites connaissance avec les agents
|
|
2
|
+
|
|
3
|
+
Quand vous lancez un rail **Implement**, Specrails ne confie pas votre spec à une seule IA en croisant les doigts. Il fait tourner une petite équipe d'*agents* spécialisés, chacun avec une mission précise, dans un ordre bien pensé. Cette page vous présente qui compose cette équipe et le rôle de chacun.
|
|
4
|
+
|
|
5
|
+
## Le trio de base
|
|
6
|
+
|
|
7
|
+
Chaque exécution du pipeline s'appuie sur ces trois agents — ils en sont la colonne vertébrale, et un projet ne peut pas lancer de rail sans eux.
|
|
8
|
+
|
|
9
|
+
| Agent | Rôle | Ce qu'il fait |
|
|
10
|
+
|-------|------|--------------|
|
|
11
|
+
| **sr-architect** | Le planificateur | Lit votre spec, inspecte la base de code et produit un plan d'implémentation concret — quels fichiers toucher, quelle forme prend le changement, à quoi faire attention. Il réfléchit avant que quiconque n'écrive du code. |
|
|
12
|
+
| **sr-developer** | Le bâtisseur | Reprend le plan de l'architecte et écrit réellement le code : nouveaux fichiers, modifications, tests. C'est ici que votre spec se transforme en un vrai diff. |
|
|
13
|
+
| **sr-reviewer** | Le critique | Valide le travail du développeur au regard de la spec et du plan, repère les régressions et fait machine arrière quand quelque chose ne va pas. C'est le contrôle qualité avant que le changement soit considéré comme terminé. |
|
|
14
|
+
|
|
15
|
+
Voyez cela comme une boucle **conception → construction → relecture**, exactement celle qu'une équipe humaine soigneuse suivrait. Chaque agent transmet son résultat au suivant : le développeur ne travaille jamais à l'aveugle, et le relecteur a toujours l'intention de départ pour s'y référer.
|
|
16
|
+
|
|
17
|
+
## Les agents spécialistes
|
|
18
|
+
|
|
19
|
+
Au-delà du trio, un projet peut inclure des **agents spécialistes** optionnels qui prennent en charge des types de travail bien précis. Le plus courant que vous croiserez est :
|
|
20
|
+
|
|
21
|
+
- **sr-merge-resolver** — un agent utilitaire qui aide à démêler les conflits de merge et à concilier les modifications qui se chevauchent. Il est optionnel : les profils ne l'incluent que si vous le souhaitez, et il ne bloque jamais le pipeline en son absence.
|
|
22
|
+
|
|
23
|
+
Les spécialistes fonctionnent sur la base du volontariat. Un nouveau projet démarre avec le seul trio ; vous ajoutez des spécialistes (et vos propres **agents personnalisés** — voir [Agents personnalisés et le catalogue](custom-agents-catalog)) quand le workflow d'un projet l'exige.
|
|
24
|
+
|
|
25
|
+
## Comment les tâches atteignent le bon agent
|
|
26
|
+
|
|
27
|
+
Au sein d'une exécution, le travail est *routé*. Une tâche porte des tags, et les règles de routage d'un profil envoient les tâches taguées vers l'agent le mieux placé pour s'en occuper — avec une règle fourre-tout finale qui dirige tout le reste vers le développeur. Vous n'avez pas à vous en préoccuper pour un usage normal ; la configuration par défaut route tout de manière sensée dès le départ. Quand vous serez prêt à orienter certains types de travail vers certains agents, consultez [Personnaliser les modèles par agent](customizing-models-per-agent).
|
|
28
|
+
|
|
29
|
+
## Une idée importante, dès le départ
|
|
30
|
+
|
|
31
|
+
La *définition* de chaque agent — ses instructions, sa personnalité, ce qu'il a le droit de faire — est **partagée**. Elle vit dans des fichiers (`.claude/agents/<id>.md`) qui voyagent avec votre dépôt, si bien que toute votre équipe fait tourner le même architecte, le même relecteur.
|
|
32
|
+
|
|
33
|
+
Ce qui est **propre à chaque projet**, c'est la *configuration* qui se superpose : quel modèle chaque agent utilise, et quelle combinaison d'agents vous choisissez pour un rail donné. C'est précisément à cela que servent les profils — et c'est l'objet de la page suivante.
|
|
34
|
+
|
|
35
|
+
## Pour aller plus loin
|
|
36
|
+
|
|
37
|
+
- [Profils et le défaut équilibré](profiles-and-the-balanced-default) — comment la configuration de l'équipe est empaquetée et sélectionnée.
|
|
38
|
+
- [Personnaliser les modèles par agent](customizing-models-per-agent) — ajustez coût et qualité.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Profils et le défaut équilibré
|
|
2
|
+
|
|
3
|
+
Un **profil** est une recette enregistrée pour une exécution de pipeline. Il répond à trois questions au même endroit :
|
|
4
|
+
|
|
5
|
+
1. **Quels agents** participent (le trio de base, plus d'éventuels spécialistes ou agents personnalisés).
|
|
6
|
+
2. **Quel modèle** chaque agent utilise.
|
|
7
|
+
3. **Comment les tâches sont routées** vers ces agents.
|
|
8
|
+
|
|
9
|
+
Vous trouverez les profils dans la section **Agents** de n'importe quel projet (barre latérale droite → **Agents** → onglet **Profils**).
|
|
10
|
+
|
|
11
|
+
## Le défaut équilibré
|
|
12
|
+
|
|
13
|
+
Par défaut, un projet se rabat sur un profil **default** sensé. Il inclut le trio de base — `sr-architect`, `sr-developer`, `sr-reviewer` — et route chaque tâche vers le développeur via une unique règle fourre-tout. Les modèles sont équilibrés pour le travail quotidien : un modèle compétent là où ça compte, sans dégainer l'option la plus chère à chaque étape.
|
|
14
|
+
|
|
15
|
+
Si votre projet avait déjà des modèles d'agents configurés à l'ancienne (dans le frontmatter des fichiers d'agents), le bouton **Migrer** les lit et construit un profil `default` qui reproduit exactement le comportement actuel — aucune perte, rien ne change tant que vous ne décidez pas de l'ajuster.
|
|
16
|
+
|
|
17
|
+
L'essentiel à retenir : **vous n'avez pas besoin de créer un profil pour utiliser Specrails.** Le défaut fait simplement le travail. Les profils, c'est la manière d'aller plus loin.
|
|
18
|
+
|
|
19
|
+
## Comment un profil est choisi pour une exécution
|
|
20
|
+
|
|
21
|
+
Quand vous lancez un rail, Specrails choisit un profil dans cet ordre :
|
|
22
|
+
|
|
23
|
+
1. **Votre choix explicite** dans l'en-tête du rail (voir ci-dessous).
|
|
24
|
+
2. Votre **préférence par développeur** — un profil que vous avez marqué comme votre défaut personnel pour ce projet (il est local à vous et n'est pas commité).
|
|
25
|
+
3. Le profil **`default`** du projet.
|
|
26
|
+
|
|
27
|
+
Le profil est *figé en snapshot au lancement*, si bien que chaque rail d'un lot peut faire tourner un profil différent, et modifier un profil plus tard ne réécrit jamais les jobs déjà démarrés.
|
|
28
|
+
|
|
29
|
+
## Sélectionner un profil par rail
|
|
30
|
+
|
|
31
|
+
La sélection du profil se fait là où vous lancez — dans l'**en-tête du rail**, via le sélecteur de profil.
|
|
32
|
+
|
|
33
|
+
- Choisissez un profil dans le menu déroulant pour l'utiliser **pour ce lancement uniquement**.
|
|
34
|
+
- Utilisez l'option de persistance pour faire d'un profil le choix permanent du rail à l'avenir.
|
|
35
|
+
|
|
36
|
+
Voilà tout le flux : choisir un profil, lancer, terminé. Des rails simultanés dans un même lot peuvent chacun porter leur propre profil, si bien qu'un correctif rapide et une grosse fonctionnalité peuvent tourner côte à côte avec des configurations différentes.
|
|
37
|
+
|
|
38
|
+
## Quand la section Agents reste silencieuse
|
|
39
|
+
|
|
40
|
+
Les profils sont une capacité de Claude. Sur un projet qui inclut un provider non-Claude (Codex ou Gemini), la section Agents est masquée et les rails tournent sans profils — c'est le comportement attendu, pas un bug. Les profils exigent aussi un `specrails-core` suffisamment récent dans le projet ; s'il est plus ancien, vous verrez une bannière jaune. Les profils que vous créez sont tout de même **enregistrés** — ils n'affectent simplement pas le pipeline tant que core n'est pas mis à jour. Mettez à jour avec la commande indiquée dans la bannière pour les débloquer.
|
|
41
|
+
|
|
42
|
+
## Pour aller plus loin
|
|
43
|
+
|
|
44
|
+
- [Personnaliser les modèles par agent](customizing-models-per-agent) — construisez des profils `fast` et `max`.
|
|
45
|
+
- [Agents personnalisés et le catalogue](custom-agents-catalog) — visualisez et étendez l'équipe.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Personnaliser les modèles par agent
|
|
2
|
+
|
|
3
|
+
La chose la plus utile que les profils vous permettent de faire, c'est de **choisir le bon modèle pour chaque étape**. Une étape de planification mérite peut-être votre modèle le plus puissant ; une étape de construction routinière sera sans doute parfaitement à l'aise avec quelque chose de plus rapide et moins cher. Les profils vous permettent d'exprimer exactement cela.
|
|
4
|
+
|
|
5
|
+
C'est ici que la distinction partagé / propre au projet porte ses fruits :
|
|
6
|
+
|
|
7
|
+
- Les *définitions* des agents restent partagées au sein de votre équipe.
|
|
8
|
+
- Le *modèle utilisé par chaque agent* se configure **par projet**, à l'intérieur d'un profil, et n'affecte que votre projet.
|
|
9
|
+
|
|
10
|
+
Changez un modèle et vous changez le coût et le comportement pour ce projet — sans toucher à la configuration de quiconque ni aux instructions sous-jacentes de l'agent.
|
|
11
|
+
|
|
12
|
+
## Changer le modèle utilisé par un agent
|
|
13
|
+
|
|
14
|
+
Dans **Agents → Profils**, sélectionnez un profil et ouvrez son éditeur de chaîne d'agents. Chaque agent de la chaîne dispose d'un champ modèle. Il y a aussi un modèle **orchestrateur** qui assure la coordination de haut niveau du pipeline.
|
|
15
|
+
|
|
16
|
+
Les valeurs de modèle sont des alias — pour Claude, ce sont `opus`, `sonnet` et `haiku` (du plus capable au plus rapide). Définissez l'alias souhaité par agent :
|
|
17
|
+
|
|
18
|
+
- Laissez le modèle d'un agent **vide** pour revenir au défaut propre au fichier de l'agent.
|
|
19
|
+
- Définissez-le explicitement pour le surcharger uniquement pour ce profil.
|
|
20
|
+
|
|
21
|
+
Enregistrez, et le prochain rail lancé avec ce profil utilisera les nouveaux modèles. Les jobs déjà en cours conservent leur snapshot.
|
|
22
|
+
|
|
23
|
+
## Créer des profils comme `fast` et `max`
|
|
24
|
+
|
|
25
|
+
Le schéma naturel consiste à avoir deux ou trois profils nommés vers lesquels vous vous tournez selon le travail :
|
|
26
|
+
|
|
27
|
+
**Un profil `fast`** — pour les petits changements à faible risque où vous voulez de la vitesse et une facture allégée :
|
|
28
|
+
|
|
29
|
+
- Architecte : un modèle intermédiaire ou rapide — le plan est simple.
|
|
30
|
+
- Développeur : un modèle rapide — le changement est mécanique.
|
|
31
|
+
- Relecteur : gardez-le solide, mais vous pouvez aussi alléger ici.
|
|
32
|
+
|
|
33
|
+
**Un profil `max`** — pour les fonctionnalités épineuses et à fort enjeu où vous voulez que chaque étape soit la plus pointue possible :
|
|
34
|
+
|
|
35
|
+
- Architecte, développeur et relecteur : votre modèle le plus puissant sur toute la ligne.
|
|
36
|
+
|
|
37
|
+
### Deux façons d'en construire un
|
|
38
|
+
|
|
39
|
+
1. **Dupliquer et ajuster** *(recommandé).* Sélectionnez votre profil `default`, **Dupliquez**-le, donnez à la copie un nom en kebab-case comme `fast` ou `max`, puis ajustez le modèle de chaque agent. Vous héritez d'une chaîne et d'un routage éprouvés et ne changez que ce que vous visez.
|
|
40
|
+
2. **Partir de zéro.** Créez un **profil vierge** et assemblez la chaîne vous-même. Vous devez toujours inclure le trio de base (`sr-architect`, `sr-developer`, `sr-reviewer`) — le pipeline dépend des trois — et exactement une règle de routage fourre-tout terminale, qui doit être en dernier.
|
|
41
|
+
|
|
42
|
+
Les noms de profils sont en kebab-case minuscule (par ex. `fast`, `max`, `cheap-and-cheerful`).
|
|
43
|
+
|
|
44
|
+
## Router les tâches vers des agents précis
|
|
45
|
+
|
|
46
|
+
Les **règles de routage** d'un profil décident quel agent prend en charge une tâche taguée. Chaque règle liste des tags de tâche et un agent cible ; la première règle dont les tags correspondent l'emporte, et une unique règle `default: true` en fin de liste attrape tout le reste. Seuls les agents réellement présents dans la chaîne du profil peuvent être des cibles de routage — l'éditeur l'impose.
|
|
47
|
+
|
|
48
|
+
Pour un usage quotidien, vous ne toucherez pas au routage : la règle fourre-tout envoie le travail au développeur et c'est très bien ainsi. Recourez aux règles de tags quand vous voulez, par exemple, que le travail tagué `migration` aille vers un spécialiste à la place.
|
|
49
|
+
|
|
50
|
+
## Choisir le profil au lancement
|
|
51
|
+
|
|
52
|
+
Tout cela se rejoint au lancement : dans l'en-tête du rail, choisissez `fast`, `max` ou `default` par rail. Un lot peut les mélanger — un minuscule correctif en `fast`, une grosse fonctionnalité en `max`, les deux tournant en même temps. Voir [Profils et le défaut équilibré](profiles-and-the-balanced-default) pour le flux de sélection.
|
|
53
|
+
|
|
54
|
+
## Un mot sur la sécurité
|
|
55
|
+
|
|
56
|
+
Supprimer un profil est sans danger pour le travail en cours : les jobs déjà lancés avec lui conservent leur snapshot, et les prochains lancements se rabattent simplement sur l'ordre de résolution. Expérimentez librement.
|
|
57
|
+
|
|
58
|
+
## Pour aller plus loin
|
|
59
|
+
|
|
60
|
+
- [Agents personnalisés et le catalogue](custom-agents-catalog) — ajoutez des agents à placer dans vos chaînes.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Agents personnalisés et le catalogue
|
|
2
|
+
|
|
3
|
+
Les profils décident *quels agents s'exécutent et avec quels modèles*. Mais d'où viennent les agents eux-mêmes ? C'est tout l'objet du **catalogue d'agents**.
|
|
4
|
+
|
|
5
|
+
Ouvrez **Agents → Catalogue** dans n'importe quel projet. C'est un visualiseur en lecture seule de tous les agents disponibles pour ce projet, répartis en deux groupes :
|
|
6
|
+
|
|
7
|
+
- **Agents upstream** — les agents fournis avec `specrails-core` : le trio de base (`sr-architect`, `sr-developer`, `sr-reviewer`) et d'éventuels spécialistes comme `sr-merge-resolver`.
|
|
8
|
+
- **Agents personnalisés** — les agents que vous avez ajoutés vous-même, nommés `custom-*`.
|
|
9
|
+
|
|
10
|
+
Chaque entrée du catalogue indique à quoi sert l'agent et son modèle par défaut, ce qui vous permet de voir l'effectif complet avant de câbler des agents dans la chaîne d'un profil.
|
|
11
|
+
|
|
12
|
+
## Ajouter un agent personnalisé
|
|
13
|
+
|
|
14
|
+
Les agents personnalisés sont de simples fichiers Markdown dans votre dépôt, sous `.claude/agents/`, nommés `custom-<quelque-chose>.md`. Le fichier contient les instructions de l'agent (son system prompt) et un petit en-tête frontmatter qui inclut un `model:` par défaut.
|
|
15
|
+
|
|
16
|
+
Dès que le fichier existe dans le projet, il apparaît dans le catalogue comme agent personnalisé, et vous pouvez ajouter son id à la chaîne d'agents de n'importe quel profil (et y router des tâches). L'id doit correspondre au nom du fichier — une entrée `custom-docs` correspond à `.claude/agents/custom-docs.md`.
|
|
17
|
+
|
|
18
|
+
Parce qu'ils vivent dans votre dépôt, les agents personnalisés sont des **ressources d'équipe commitables** : commitez le fichier et toute votre équipe récupère l'agent. Cela reflète l'idée centrale qui traverse toute la section Agents —
|
|
19
|
+
|
|
20
|
+
> **Les définitions d'agents sont partagées (elles vivent dans le dépôt et voyagent avec `git`). La configuration des modèles est propre au projet (elle vit dans les profils).**
|
|
21
|
+
|
|
22
|
+
L'espace de noms `custom-*` est réservé et protégé : les commandes `init` et `update` de `specrails-core` ne touchent jamais à `.claude/agents/custom-*.md`, si bien que vos agents personnalisés survivent intacts aux mises à jour de core. (La même protection couvre les fragments contribués par les plugins, comme `custom-serena.md`.)
|
|
23
|
+
|
|
24
|
+
## Mettre un agent personnalisé au travail
|
|
25
|
+
|
|
26
|
+
Le flux typique :
|
|
27
|
+
|
|
28
|
+
1. Rédigez `.claude/agents/custom-<nom>.md` avec des instructions et un modèle par défaut.
|
|
29
|
+
2. Vérifiez qu'il apparaît bien dans **Agents → Catalogue** sous Personnalisés.
|
|
30
|
+
3. Dans **Agents → Profils**, ajoutez l'agent à la chaîne d'un profil (en surchargeant éventuellement son modèle pour ce profil).
|
|
31
|
+
4. Ajoutez une règle de routage pour que les tâches portant les bons tags l'atteignent — ou reposez-vous sur l'ordre de la chaîne.
|
|
32
|
+
5. Lancez un rail avec ce profil depuis l'en-tête du rail.
|
|
33
|
+
|
|
34
|
+
## Suivre les performances des profils
|
|
35
|
+
|
|
36
|
+
La section Agents dispose aussi d'un onglet **Utilisation** — une répartition par profil du nombre de jobs lancés sous chaque profil sur une période sélectionnée. C'est un moyen rapide de confirmer que votre répartition `fast`/`max` est réellement utilisée comme vous l'aviez prévu, et de repérer le profil vers lequel votre équipe gravite.
|
|
37
|
+
|
|
38
|
+
## Récapitulatif de toute la section
|
|
39
|
+
|
|
40
|
+
- Les **agents** sont les membres spécialisés de l'équipe — le trio partagé, plus les spécialistes et vos agents personnalisés. ([Faites connaissance avec les agents](meet-the-agents))
|
|
41
|
+
- Les **profils** empaquettent quels agents s'exécutent, avec quels modèles, et comment les tâches sont routées — sélectionnés par rail au lancement. Le profil par défaut est le choix équilibré du quotidien. ([Profils et le défaut équilibré](profiles-and-the-balanced-default))
|
|
42
|
+
- Les **modèles** sont ajustés par agent, par projet, à l'intérieur des profils — construisez `fast` et `max` pour coller au travail. ([Personnaliser les modèles par agent](customizing-models-per-agent))
|
|
43
|
+
- **Le catalogue** montre chaque agent, et l'espace de noms `custom-*` vous permet d'agrandir l'équipe — définitions partagées, configuration propre au projet.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Qu'est-ce que specrails
|
|
2
|
+
|
|
3
|
+
Bienvenue dans **specrails** — une application de bureau qui transforme un assistant de codage IA en une véritable équipe de développement qui travaille sur *vos* projets, sur *votre* machine.
|
|
4
|
+
|
|
5
|
+
Au lieu de copier-coller des prompts dans tous les sens, vous décrivez ce que vous voulez sous la forme d'une **spec**, et specrails la fait passer dans un pipeline de développement complet — conception, construction, relecture et livraison de la modification — pendant que vous regardez tout se dérouler en direct.
|
|
6
|
+
|
|
7
|
+
## Le développement IA piloté par les specs
|
|
8
|
+
|
|
9
|
+
Le cœur de specrails repose sur une idée simple : **la meilleure façon d'obtenir du bon code d'une IA, c'est de partir d'une spec claire.**
|
|
10
|
+
|
|
11
|
+
Une *spec*, c'est une description courte et structurée d'un seul morceau de travail — une fonctionnalité, un correctif, un refactoring. Vous pouvez en rédiger une en quelques secondes, ou la façonner au fil d'un chat guidé qui pose les bonnes questions et la rédige pour vous. Chaque spec devient un **ticket** sur le tableau de votre projet, tout comme une tâche dans n'importe quel outil de suivi.
|
|
12
|
+
|
|
13
|
+
À partir de là, vous confiez la spec au pipeline et vous laissez l'IA faire le gros du travail.
|
|
14
|
+
|
|
15
|
+
## Le pipeline : Architect → Developer → Reviewer → Ship
|
|
16
|
+
|
|
17
|
+
Quand vous lancez une spec, specrails la fait passer par quatre étapes, chacune jouée par un agent IA spécialisé :
|
|
18
|
+
|
|
19
|
+
1. **Architect** — lit votre spec et le code environnant, puis planifie la modification : quels fichiers toucher, quelle forme doit prendre la solution.
|
|
20
|
+
2. **Developer** — écrit le code lui-même, en suivant le plan.
|
|
21
|
+
3. **Reviewer** — vérifie le travail pour la justesse et la qualité, et repère les problèmes avant vous.
|
|
22
|
+
4. **Ship** — finalise la modification pour qu'elle soit prête à être commitée.
|
|
23
|
+
|
|
24
|
+
Vous voyez chaque étape au moment où elle s'exécute, avec des logs en direct diffusés directement depuis l'IA. Rien n'est caché — si quelque chose dérape, vous verrez exactement où.
|
|
25
|
+
|
|
26
|
+
## Les projets
|
|
27
|
+
|
|
28
|
+
Tout dans specrails s'organise autour des **projets**. Un projet est simplement un dossier sur votre ordinateur qui contient une base de code. Vous pouvez ajouter autant de projets que vous le souhaitez et basculer de l'un à l'autre instantanément — chacun conserve ses propres specs, son historique de jobs, ses analytics et ses paramètres.
|
|
29
|
+
|
|
30
|
+
Specrails ne touche jamais à du code que vous ne lui avez pas demandé de toucher. Il travaille à l'intérieur de votre dépôt existant, et vous gardez le contrôle de ce qui finit par être commité.
|
|
31
|
+
|
|
32
|
+
## Choisissez votre fournisseur d'IA
|
|
33
|
+
|
|
34
|
+
Specrails fonctionne avec les principales CLI de codage IA :
|
|
35
|
+
|
|
36
|
+
- **Claude** (Claude Code)
|
|
37
|
+
- **Codex** (Codex CLI)
|
|
38
|
+
- **Gemini** (Gemini CLI)
|
|
39
|
+
|
|
40
|
+
Choisissez celui que vous utilisez déjà — ou installez-en plusieurs et choisissez selon la tâche. Un projet peut tourner sur un seul fournisseur ou sur plusieurs à la fois, vous n'êtes donc jamais enfermé.
|
|
41
|
+
|
|
42
|
+
## Pourquoi vous allez l'adorer
|
|
43
|
+
|
|
44
|
+
- **De la vitesse sans le chaos** — les specs gardent l'IA concentrée, vous obtenez donc des modifications utiles plutôt que des suppositions tous azimuts.
|
|
45
|
+
- **Une visibilité totale** — des logs en direct, une vue claire du pipeline et des analytics par projet vous montrent exactement ce qui s'est passé et ce que ça a coûté.
|
|
46
|
+
- **Votre machine, votre code** — tout tourne en local sur votre vrai dépôt.
|
|
47
|
+
- **Tout au même endroit** — specs, jobs, chat, un terminal intégré et le suivi des coûts, le tout dans une seule fenêtre.
|
|
48
|
+
|
|
49
|
+
Prêt à vous lancer ? La suite : [Installation et premier lancement](installing-and-first-run).
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Installation et premier lancement
|
|
2
|
+
|
|
3
|
+
Installer specrails sur votre machine ne prend que quelques minutes. Voici le déroulé complet.
|
|
4
|
+
|
|
5
|
+
## 1. Télécharger et installer
|
|
6
|
+
|
|
7
|
+
Récupérez l'installateur correspondant à votre plateforme :
|
|
8
|
+
|
|
9
|
+
- **macOS (Apple Silicon)** — un fichier `.dmg`. Ouvrez-le et glissez **specrails** dans votre dossier Applications.
|
|
10
|
+
- **Windows** — un installateur `.exe`. Lancez-le et suivez les indications.
|
|
11
|
+
|
|
12
|
+
> **À noter sur les avertissements de sécurité macOS et Windows**
|
|
13
|
+
>
|
|
14
|
+
> - Sous **Windows**, l'installateur n'est pas encore signé, SmartScreen peut donc afficher un avertissement. Cliquez sur **Informations complémentaires → Exécuter quand même** pour continuer.
|
|
15
|
+
> - Sous **macOS**, l'application est signée et notariée, elle devrait donc s'ouvrir sans problème.
|
|
16
|
+
|
|
17
|
+
## 2. Ce dont vous aurez besoin (prérequis)
|
|
18
|
+
|
|
19
|
+
Specrails exécute des pipelines de développement IA en pilotant de vrais outils en ligne de commande ; quelques éléments doivent donc être disponibles. La bonne nouvelle : l'application de bureau **intègre la plupart d'entre eux pour vous** (Node.js, npm et Git sont fournis dans l'application), donc sur une machine neuve il n'y a en général rien à installer.
|
|
20
|
+
|
|
21
|
+
La seule chose que specrails ne peut pas intégrer, c'est la **CLI du fournisseur d'IA** elle-même. Il vous faudra au moins l'une de celles-ci :
|
|
22
|
+
|
|
23
|
+
- **Claude Code**
|
|
24
|
+
- **Codex CLI**
|
|
25
|
+
- **Gemini CLI**
|
|
26
|
+
|
|
27
|
+
Installez celle que vous comptez utiliser, connectez-vous une fois depuis votre terminal, et le tour est joué. Specrails détecte automatiquement les fournisseurs présents.
|
|
28
|
+
|
|
29
|
+
> Si un outil est signalé comme manquant, l'application affiche un lien **Informations complémentaires** avec des commandes d'installation à copier-coller, adaptées à votre système d'exploitation (Homebrew sur macOS, winget sur Windows, apt/dnf sur Linux). Vous pouvez relancer la vérification à tout moment, sans redémarrer.
|
|
30
|
+
|
|
31
|
+
## 3. Premier lancement — l'écran d'accueil
|
|
32
|
+
|
|
33
|
+
La première fois que vous ouvrez specrails, vous arrivez sur un **écran d'accueil** épuré. Il n'y a encore aucun projet, l'application vous invite donc à ajouter le premier.
|
|
34
|
+
|
|
35
|
+
Vous y verrez :
|
|
36
|
+
|
|
37
|
+
- Une courte description de ce que fait specrails.
|
|
38
|
+
- Un unique bouton **Ajouter votre premier projet**.
|
|
39
|
+
|
|
40
|
+
C'est tout l'onboarding — aucun compte à créer, aucune inscription. Specrails fonctionne entièrement sur votre machine.
|
|
41
|
+
|
|
42
|
+
Cliquez sur **Ajouter votre premier projet** et passez à [Ajouter votre premier projet](adding-your-first-project).
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Ajouter votre premier projet
|
|
2
|
+
|
|
3
|
+
Un projet, c'est simplement un dossier sur votre ordinateur qui contient une base de code. Connectons-en un.
|
|
4
|
+
|
|
5
|
+
## Ouvrir la boîte de dialogue Ajouter un projet
|
|
6
|
+
|
|
7
|
+
Cliquez sur **Ajouter votre premier projet** sur l'écran d'accueil (ou plus tard sur le bouton **Ajouter un projet** dans la barre latérale gauche). Une petite boîte de dialogue apparaît.
|
|
8
|
+
|
|
9
|
+
## Renseigner les détails
|
|
10
|
+
|
|
11
|
+
**Dossier du projet** *(requis)*
|
|
12
|
+
|
|
13
|
+
Indiquez à specrails le dossier qui contient votre code. Dans l'application de bureau, vous pouvez cliquer sur l'icône de dossier pour le parcourir et le sélectionner visuellement, ou bien coller le chemin complet. Il doit s'agir de la racine de votre dépôt — le dossier qui contient votre code et (généralement) un répertoire `.git`.
|
|
14
|
+
|
|
15
|
+
**Nom du projet** *(facultatif)*
|
|
16
|
+
|
|
17
|
+
Un libellé convivial affiché dans la barre latérale. Si vous le laissez vide, specrails utilise le nom du dossier.
|
|
18
|
+
|
|
19
|
+
**Fournisseurs**
|
|
20
|
+
|
|
21
|
+
Choisissez le ou les fournisseurs d'IA que ce projet doit utiliser. Specrails vous présente ceux qu'il a détectés sur votre machine :
|
|
22
|
+
|
|
23
|
+
- 🤖 **Claude**
|
|
24
|
+
- ⚡ **Codex**
|
|
25
|
+
- ✨ **Gemini**
|
|
26
|
+
|
|
27
|
+
Les fournisseurs qu'il n'a pas trouvés sont grisés et marqués *introuvable* — installez-en un et connectez-vous, puis rouvrez la boîte de dialogue. Par défaut, chaque fournisseur disponible est présélectionné, mais vous pouvez tout désélectionner pour ne garder que celui que vous voulez. Si vous en choisissez plusieurs, le **premier** devient le fournisseur par défaut du projet ; vous pourrez choisir selon la tâche plus tard.
|
|
28
|
+
|
|
29
|
+
> Une vérification rapide tourne en arrière-plan pour confirmer que les outils requis sont présents. S'il manque quelque chose d'essentiel, le bouton **Ajouter** reste désactivé et un lien **Informations complémentaires** vous donne les commandes d'installation exactes.
|
|
30
|
+
|
|
31
|
+
Cliquez sur **Ajouter** pour continuer.
|
|
32
|
+
|
|
33
|
+
## Une configuration qui se fait en quelques secondes
|
|
34
|
+
|
|
35
|
+
Si le dossier est déjà configuré avec specrails, c'est terminé — le projet apparaît instantanément dans votre barre latérale.
|
|
36
|
+
|
|
37
|
+
S'il s'agit d'un projet vierge, un court **assistant de configuration** se lance. Il comporte trois étapes :
|
|
38
|
+
|
|
39
|
+
1. **Configurer** — confirmez les bases pour chaque fournisseur que vous avez choisi.
|
|
40
|
+
2. **Installer** — specrails configure le projet automatiquement. C'est l'installation *rapide* : des agents prédéfinis prêts à l'emploi, en place en quelques secondes. Vous verrez un log en direct pendant l'exécution.
|
|
41
|
+
3. **Terminé** — un récapitulatif qui confirme que tout est prêt.
|
|
42
|
+
|
|
43
|
+
Pour un projet multi-fournisseurs, l'installation s'exécute une fois par fournisseur, l'une après l'autre, et l'étape Terminé affiche une carte pour chacun.
|
|
44
|
+
|
|
45
|
+
## Ce qui est installé
|
|
46
|
+
|
|
47
|
+
La configuration est volontairement légère et **non intrusive**. Specrails ajoute une petite quantité de configuration à votre projet pour que le pipeline sache comment s'exécuter :
|
|
48
|
+
|
|
49
|
+
- Un dossier `.specrails/` qui contient les profils d'agents et les paramètres locaux de votre projet.
|
|
50
|
+
- Des définitions d'agents sous `.claude/agents/` qui alimentent le pipeline Architect → Developer → Reviewer → Ship.
|
|
51
|
+
|
|
52
|
+
C'est tout — specrails ne réécrit pas votre code source pendant la configuration, et ces fichiers peuvent être commités sans risque si vous souhaitez partager la configuration avec votre équipe.
|
|
53
|
+
|
|
54
|
+
> **Vous préférez la configuration approfondie ?** L'application propose l'installation rapide par templates à dessein. Si vous préférez le flux enrichi par l'IA (analyse de la base de code et personas d'agents personnalisés), vous pouvez exécuter `npx specrails-core@latest init` depuis le dossier de votre projet dans un terminal.
|
|
55
|
+
|
|
56
|
+
## Vous y êtes
|
|
57
|
+
|
|
58
|
+
Une fois la configuration terminée, specrails vous dépose dans le tableau de bord de votre projet. Place à la visite — voir [La visite du tableau de bord](the-dashboard-tour).
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# La visite du tableau de bord
|
|
2
|
+
|
|
3
|
+
Un projet ajouté, vous voilà devant votre **tableau de bord de projet** — votre camp de base pour transformer les specs en code livré. Voici comment vous y retrouver.
|
|
4
|
+
|
|
5
|
+
## La vue d'ensemble
|
|
6
|
+
|
|
7
|
+
La fenêtre comporte trois zones :
|
|
8
|
+
|
|
9
|
+
- **Barre latérale gauche** — la liste de vos projets. Cliquez sur n'importe quel projet pour y basculer instantanément ; tout le reste de la fenêtre se met à jour pour correspondre. Le bouton **Ajouter un projet** se trouve ici aussi.
|
|
10
|
+
- **Zone principale** — le tableau de bord du projet actif : vos specs et le pipeline qui les exécute.
|
|
11
|
+
- **Barre latérale droite** — la navigation entre les sections du projet courant.
|
|
12
|
+
|
|
13
|
+
## Le tableau de bord principal
|
|
14
|
+
|
|
15
|
+
C'est là que le travail se fait. Le tableau de bord affiche :
|
|
16
|
+
|
|
17
|
+
- **Vos specs** — les tickets que vous avez créés, organisés par statut (Backlog/À faire jusqu'à Terminé). Vous pouvez les visualiser sous forme de liste, de grille ou de cartes type post-it, selon votre préférence.
|
|
18
|
+
- **Un moyen d'ajouter une spec** — démarrez un nouveau morceau de travail. Vous pouvez rédiger une spec rapide directement, ou ouvrir un chat **Explore** guidé qui vous aide à la façonner par la conversation et rédige le ticket pour vous.
|
|
19
|
+
- **Les rails** — ce sont les couloirs où les specs se construisent. Déposez une spec sur un rail et lancez-la pour la faire passer dans le pipeline Architect → Developer → Reviewer → Ship. Plusieurs rails peuvent tourner en même temps, vous pouvez donc travailler sur plusieurs choses en parallèle.
|
|
20
|
+
|
|
21
|
+
Quand une spec s'exécute, vous voyez la progression de son pipeline et ses logs en direct — la sortie en temps réel de l'IA pendant qu'elle conçoit, code et relit votre modification.
|
|
22
|
+
|
|
23
|
+
## La barre latérale droite : les sections du projet
|
|
24
|
+
|
|
25
|
+
La barre latérale droite est votre tableau d'aiguillage pour le projet courant. Survolez-la pour la déplier, ou épinglez-la ouverte. Les sections que vous y trouverez :
|
|
26
|
+
|
|
27
|
+
- **Tableau de bord** — le tableau des specs et les rails (là d'où vous venez).
|
|
28
|
+
- **Jobs** — chaque exécution de pipeline pour ce projet, passée et présente, avec son statut, sa durée et la possibilité de plonger dans le détail et les logs de n'importe quelle exécution.
|
|
29
|
+
- **Analytics** — ce que coûte votre usage de l'IA. Les dépenses ventilées par jour, par activité, par modèle et par ticket — pour éviter les mauvaises surprises.
|
|
30
|
+
- **Agents** — les profils d'agents de votre projet : quels agents s'exécutent dans le pipeline et quels modèles d'IA ils utilisent. *(Projets propulsés par Claude uniquement.)*
|
|
31
|
+
- **Code** — un explorateur de fichiers en lecture seule, avec des résumés IA en langage clair et des badges indiquant quels fichiers l'IA a touchés. Idéal pour les non-développeurs qui veulent suivre.
|
|
32
|
+
- **Intégrations** — des extensions facultatives, comme connecter vos specs à un tableau **Jira** ou activer des outils supplémentaires pour l'IA.
|
|
33
|
+
- **Paramètres** — les options par projet (télémétrie, budgets, configuration des fournisseurs, et plus encore).
|
|
34
|
+
|
|
35
|
+
> Certaines sections n'apparaissent que lorsqu'elles ont du sens pour les fournisseurs que vous avez choisis — par exemple, **Agents** est spécifique à Claude. Si vous ne voyez pas une section, c'est simplement qu'elle ne s'applique pas à la configuration de ce projet.
|
|
36
|
+
|
|
37
|
+
## La barre de statut
|
|
38
|
+
|
|
39
|
+
Un fin bandeau court tout en bas de la fenêtre. Discret mais bien pratique :
|
|
40
|
+
|
|
41
|
+
- **Indicateur de connexion** (à gauche) — un point coloré et un libellé qui montrent que l'application est en ligne : vert pour *connecté*, ambre pendant la *reconnexion*, bleu pendant la *synchronisation* juste après une reconnexion. Vous en aurez rarement besoin, mais c'est rassurant le moment venu.
|
|
42
|
+
- **Dépense totale** (à droite) — un cumul en temps réel de ce que vous avez dépensé, pour que le coût soit toujours à portée de regard.
|
|
43
|
+
- **Bascule du terminal** (tout à droite) — ouvre le panneau de terminal intégré. Appuyez sur **Cmd+J** (macOS) ou **Ctrl+J** (Windows/Linux) pour l'afficher ou le masquer à tout moment. C'est un vrai shell, ouvert directement dans le dossier de votre projet.
|
|
44
|
+
|
|
45
|
+
## Quelques raccourcis bien pratiques
|
|
46
|
+
|
|
47
|
+
- **Cmd/Ctrl+B** — épingler ou replier les barres latérales.
|
|
48
|
+
- **Cmd/Ctrl+J** — afficher ou masquer le panneau de terminal.
|
|
49
|
+
- **Cmd/Ctrl+K** — ouvrir la recherche.
|
|
50
|
+
|
|
51
|
+
## Et maintenant ?
|
|
52
|
+
|
|
53
|
+
Voilà pour le tour du propriétaire. À partir d'ici, le réflexe naturel est d'**ajouter une spec** et de la lancer sur un rail — regardez le pipeline se dérouler de bout en bout, puis consultez **Analytics** pour voir ce que ça a coûté. Bienvenue à bord.
|