@xgent-ai/skills 0.3.0 → 0.5.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 +117 -11
- package/bin/xgent-skills.js +269 -9
- package/docs/claude-context-goal-guard.md +125 -0
- package/docs/codex-context-goal-guard.md +110 -0
- package/hooks/claude/context-goal-guard.js +139 -0
- package/hooks/claude/settings.example.json +26 -0
- package/hooks/codex/context-goal-guard.py +189 -0
- package/hooks/codex/hooks.example.json +26 -0
- package/package.json +7 -1
- package/skills/agi-mode/SKILL.md +225 -0
- package/skills/agi-mode/evals/baseline-coverage.md +96 -0
- package/skills/agi-mode/evals/scenarios.md +331 -0
- package/skills/agi-mode/evals/test_check_evidence.py +141 -0
- package/skills/agi-mode/playbooks/arena.md +47 -0
- package/skills/agi-mode/playbooks/authoring-a-skill.md +26 -0
- package/skills/agi-mode/playbooks/autonomous-run.md +39 -0
- package/skills/agi-mode/playbooks/bug-fix.md +27 -0
- package/skills/agi-mode/playbooks/design-prototype.md +41 -0
- package/skills/agi-mode/playbooks/eval.md +72 -0
- package/skills/agi-mode/playbooks/feature.md +26 -0
- package/skills/agi-mode/playbooks/forensics.md +31 -0
- package/skills/agi-mode/playbooks/hillclimb.md +73 -0
- package/skills/agi-mode/playbooks/investigation.md +29 -0
- package/skills/agi-mode/playbooks/migration-refactoring.md +27 -0
- package/skills/agi-mode/playbooks/optimization.md +27 -0
- package/skills/agi-mode/playbooks/pr-lifecycle.md +38 -0
- package/skills/agi-mode/playbooks/program.md +57 -0
- package/skills/agi-mode/playbooks/reflection.md +41 -0
- package/skills/agi-mode/playbooks/resource-cleanup.md +24 -0
- package/skills/agi-mode/playbooks/review.md +27 -0
- package/skills/agi-mode/playbooks/session-handoff.md +37 -0
- package/skills/agi-mode/playbooks/shipping.md +35 -0
- package/skills/agi-mode/playbooks/ui-delivery.md +34 -0
- package/skills/agi-mode/playbooks/unblock.md +54 -0
- package/skills/agi-mode/principles/autonomous-decisions.md +21 -0
- package/skills/agi-mode/principles/behavioral-tests.md +21 -0
- package/skills/agi-mode/principles/boundary-discipline.md +21 -0
- package/skills/agi-mode/principles/bounded-convergence.md +21 -0
- package/skills/agi-mode/principles/build-leverage.md +21 -0
- package/skills/agi-mode/principles/challenge-premises.md +21 -0
- package/skills/agi-mode/principles/complete-migrations.md +21 -0
- package/skills/agi-mode/principles/context-as-state.md +21 -0
- package/skills/agi-mode/principles/critical-path-throughput.md +21 -0
- package/skills/agi-mode/principles/domain-models-and-types.md +23 -0
- package/skills/agi-mode/principles/evidence-lifetime.md +21 -0
- package/skills/agi-mode/principles/experience-first.md +21 -0
- package/skills/agi-mode/principles/explore-alternatives.md +21 -0
- package/skills/agi-mode/principles/falsifiable-verification.md +21 -0
- package/skills/agi-mode/principles/foundations-first.md +21 -0
- package/skills/agi-mode/principles/idempotent-effects.md +21 -0
- package/skills/agi-mode/principles/information-first.md +21 -0
- package/skills/agi-mode/principles/minimize-complexity.md +21 -0
- package/skills/agi-mode/principles/outcome-ownership.md +21 -0
- package/skills/agi-mode/principles/prove-real-outcomes.md +21 -0
- package/skills/agi-mode/principles/redesign-from-constraints.md +21 -0
- package/skills/agi-mode/principles/root-cause.md +21 -0
- package/skills/agi-mode/principles/state-ownership.md +21 -0
- package/skills/agi-mode/principles/structural-learning.md +21 -0
- package/skills/agi-mode/principles/verifiable-units.md +21 -0
- package/skills/agi-mode/references/continuity.md +75 -0
- package/skills/agi-mode/references/eval-protocol.md +71 -0
- package/skills/agi-mode/references/evidence-contract.md +57 -0
- package/skills/agi-mode/references/evolution-evidence.md +71 -0
- package/skills/agi-mode/references/experiments.md +82 -0
- package/skills/agi-mode/references/reflection/divergent-reviewer.md +45 -0
- package/skills/agi-mode/references/reflection/judgment-reviewer.md +44 -0
- package/skills/agi-mode/references/reflection/synthesizer.md +39 -0
- package/skills/agi-mode/references/reflection/tooling-reviewer.md +57 -0
- package/skills/agi-mode/references/skill-evolution.md +50 -0
- package/skills/agi-mode/scripts/check_evidence.py +147 -0
- package/skills/apply-code-review/SKILL.md +53 -0
- package/skills/apply-code-review/agents/openai.yaml +4 -0
- package/skills/apply-code-review/references/record-contract.md +77 -0
- package/skills/apply-doc-review/SKILL.md +79 -0
- package/skills/apply-doc-review/agents/openai.yaml +4 -0
- package/skills/apply-doc-review/references/disposition-contract.md +57 -0
- package/skills/archify/LICENSE +22 -0
- package/skills/archify/SKILL.md +137 -0
- package/skills/archify/THIRD_PARTY_NOTICES.md +69 -0
- package/skills/archify/assets/JetBrainsMono-OFL.txt +93 -0
- package/skills/archify/assets/template.html +14937 -0
- package/skills/archify/bin/archify.mjs +2139 -0
- package/skills/archify/bin/open-artifact.mjs +86 -0
- package/skills/archify/bin/preview.mjs +653 -0
- package/skills/archify/bin/visual-check.mjs +829 -0
- package/skills/archify/brand-marks/README.md +31 -0
- package/skills/archify/brand-marks/catalog.json +131 -0
- package/skills/archify/delta/architecture-delta.mjs +1232 -0
- package/skills/archify/examples/agent-run.lifecycle.json +60 -0
- package/skills/archify/examples/agent-tool-call.workflow.json +94 -0
- package/skills/archify/examples/async-job-roundtrip.sequence.json +61 -0
- package/skills/archify/examples/brand-aware-delivery.architecture.json +47 -0
- package/skills/archify/examples/cache-miss-request.sequence.json +82 -0
- package/skills/archify/examples/checkout-platform.base.architecture.json +31 -0
- package/skills/archify/examples/checkout-platform.head.architecture.json +31 -0
- package/skills/archify/examples/dataflow-product-analytics.html +15048 -0
- package/skills/archify/examples/deployment-release.lifecycle.json +49 -0
- package/skills/archify/examples/event-stream.dataflow.json +57 -0
- package/skills/archify/examples/incident-response.workflow.json +64 -0
- package/skills/archify/examples/lifecycle-agent-run.html +14983 -0
- package/skills/archify/examples/product-analytics.dataflow.json +76 -0
- package/skills/archify/examples/production-deployment.architecture.json +71 -0
- package/skills/archify/examples/release-delivery.workflow.json +62 -0
- package/skills/archify/examples/sequence-cache-miss-request.html +15063 -0
- package/skills/archify/examples/web-app-rendered.html +15012 -0
- package/skills/archify/examples/web-app.architecture.json +46 -0
- package/skills/archify/examples/workflow-agent-tool-call-rendered.html +15054 -0
- package/skills/archify/migrations/workflow-v2.mjs +279 -0
- package/skills/archify/package-lock.json +149 -0
- package/skills/archify/package.json +39 -0
- package/skills/archify/recipes/scenarios.mjs +391 -0
- package/skills/archify/references/authoring-contract.md +247 -0
- package/skills/archify/references/brand-marks.md +65 -0
- package/skills/archify/references/delivery-contract.md +138 -0
- package/skills/archify/references/viewer-runtime.md +45 -0
- package/skills/archify/renderers/architecture/grid.mjs +62 -0
- package/skills/archify/renderers/architecture/render-architecture.mjs +1078 -0
- package/skills/archify/renderers/dataflow/README.md +104 -0
- package/skills/archify/renderers/dataflow/render-dataflow.mjs +483 -0
- package/skills/archify/renderers/lifecycle/README.md +115 -0
- package/skills/archify/renderers/lifecycle/render-lifecycle.mjs +561 -0
- package/skills/archify/renderers/sequence/README.md +114 -0
- package/skills/archify/renderers/sequence/render-sequence.mjs +464 -0
- package/skills/archify/renderers/shared/brand-marks.mjs +563 -0
- package/skills/archify/renderers/shared/cli.mjs +218 -0
- package/skills/archify/renderers/shared/desktop-readability.mjs +26 -0
- package/skills/archify/renderers/shared/diagnostics.mjs +160 -0
- package/skills/archify/renderers/shared/engineering-profiles.mjs +157 -0
- package/skills/archify/renderers/shared/generated-brand-marks.mjs +2003 -0
- package/skills/archify/renderers/shared/generated-validators.mjs +13 -0
- package/skills/archify/renderers/shared/geometry.mjs +1423 -0
- package/skills/archify/renderers/shared/i18n.mjs +595 -0
- package/skills/archify/renderers/shared/layout-report.mjs +40 -0
- package/skills/archify/renderers/shared/legend.mjs +217 -0
- package/skills/archify/renderers/shared/output-path.mjs +340 -0
- package/skills/archify/renderers/shared/repository-evidence.mjs +239 -0
- package/skills/archify/renderers/shared/repository-location.mjs +58 -0
- package/skills/archify/renderers/shared/text-fit.mjs +49 -0
- package/skills/archify/renderers/shared/utils.mjs +232 -0
- package/skills/archify/renderers/shared/validator.mjs +86 -0
- package/skills/archify/renderers/workflow/README.md +223 -0
- package/skills/archify/renderers/workflow/render-workflow.mjs +35 -0
- package/skills/archify/renderers/workflow/workflow-compiler.mjs +4400 -0
- package/skills/archify/renderers/workflow/workflow-migration-geometry.mjs +144 -0
- package/skills/archify/schemas/README.md +211 -0
- package/skills/archify/schemas/architecture.schema.json +178 -0
- package/skills/archify/schemas/common.schema.json +115 -0
- package/skills/archify/schemas/dataflow.schema.json +243 -0
- package/skills/archify/schemas/lifecycle.schema.json +266 -0
- package/skills/archify/schemas/sequence.schema.json +223 -0
- package/skills/archify/schemas/workflow.schema.json +428 -0
- package/skills/archify/scripts/check-render-output.mjs +916 -0
- package/skills/archify/scripts/check-update.mjs +1667 -0
- package/skills/archify/scripts/generate-brand-marks.mjs +141 -0
- package/skills/archify/scripts/generate-validators.mjs +66 -0
- package/skills/archify/scripts/render-examples.mjs +26 -0
- package/skills/archify/scripts/update-contract.mjs +182 -0
- package/skills/archify/skill-release.json +10 -0
- package/skills/archify/test/adaptive-reader-layout.test.mjs +86 -0
- package/skills/archify/test/animation.test.mjs +179 -0
- package/skills/archify/test/architecture-compare-recovery.test.mjs +157 -0
- package/skills/archify/test/architecture-delta-markers.test.mjs +137 -0
- package/skills/archify/test/architecture-delta.test.mjs +705 -0
- package/skills/archify/test/artifact-receipt-flush.test.mjs +126 -0
- package/skills/archify/test/authored-reachability.test.mjs +95 -0
- package/skills/archify/test/authoring-safety-contract.test.mjs +54 -0
- package/skills/archify/test/automatic-port-spread.test.mjs +376 -0
- package/skills/archify/test/base-input-compatibility.test.mjs +42 -0
- package/skills/archify/test/brand-marks.test.mjs +678 -0
- package/skills/archify/test/chapter-delta-preview.test.mjs +157 -0
- package/skills/archify/test/chapter-handoff.test.mjs +97 -0
- package/skills/archify/test/chapter-rail.test.mjs +86 -0
- package/skills/archify/test/checkout-line-endings.test.mjs +72 -0
- package/skills/archify/test/ci-scope.test.mjs +59 -0
- package/skills/archify/test/clean-skill-staging.test.mjs +440 -0
- package/skills/archify/test/cli-output-types.test.mjs +201 -0
- package/skills/archify/test/cli.test.mjs +986 -0
- package/skills/archify/test/community-proof-intake.test.mjs +125 -0
- package/skills/archify/test/cursor-onboarding.test.mjs +74 -0
- package/skills/archify/test/degraded.test.mjs +161 -0
- package/skills/archify/test/delivery-contract.test.mjs +52 -0
- package/skills/archify/test/desktop-reader-browser.test.mjs +80 -0
- package/skills/archify/test/diagram-guide.test.mjs +92 -0
- package/skills/archify/test/engineering-profile.test.mjs +209 -0
- package/skills/archify/test/export-browser.test.mjs +305 -0
- package/skills/archify/test/export-cleanup-browser.test.mjs +294 -0
- package/skills/archify/test/finder-browser.test.mjs +274 -0
- package/skills/archify/test/finder.test.mjs +104 -0
- package/skills/archify/test/fixtures/automatic-routing-node-border-clearance.workflow.json +40 -0
- package/skills/archify/test/fixtures/fail-migration-cleanup.mjs +17 -0
- package/skills/archify/test/fixtures/issue-126/custom-widths.workflow.json +18 -0
- package/skills/archify/test/fixtures/issue-126/explicit-route.workflow.json +28 -0
- package/skills/archify/test/fixtures/issue-126/explicit-viewbox.workflow.json +19 -0
- package/skills/archify/test/fixtures/issue-126/labels.workflow.json +18 -0
- package/skills/archify/test/fixtures/v1-baseline/agent-run.lifecycle.json +64 -0
- package/skills/archify/test/fixtures/v1-baseline/agent-tool-call.workflow.json +88 -0
- package/skills/archify/test/fixtures/v1-baseline/cache-miss-request.sequence.json +75 -0
- package/skills/archify/test/fixtures/v1-baseline/event-stream.dataflow.json +57 -0
- package/skills/archify/test/fixtures/v1-baseline/product-analytics.dataflow.json +70 -0
- package/skills/archify/test/fixtures/v1-baseline/production-deployment.architecture.json +71 -0
- package/skills/archify/test/fixtures/v1-baseline/web-app.architecture.json +41 -0
- package/skills/archify/test/fixtures/v1-workflow-700x400.workflow.json +22 -0
- package/skills/archify/test/fixtures/v1-workflow-explicit-coordinates.workflow.json +47 -0
- package/skills/archify/test/focus-browser.test.mjs +226 -0
- package/skills/archify/test/gallery.test.mjs +130 -0
- package/skills/archify/test/generate-validators.test.mjs +59 -0
- package/skills/archify/test/generate-viewer.test.mjs +165 -0
- package/skills/archify/test/generated-artifact-xml.test.mjs +88 -0
- package/skills/archify/test/geometry.test.mjs +739 -0
- package/skills/archify/test/golden.mjs +207 -0
- package/skills/archify/test/grid.test.mjs +47 -0
- package/skills/archify/test/guide-page.test.mjs +85 -0
- package/skills/archify/test/guide.test.mjs +81 -0
- package/skills/archify/test/guided-views-browser.test.mjs +460 -0
- package/skills/archify/test/guided-views.test.mjs +144 -0
- package/skills/archify/test/helpers/desktop-browser.mjs +48 -0
- package/skills/archify/test/helpers/offline-fonts.mjs +76 -0
- package/skills/archify/test/helpers/viewer-click.mjs +72 -0
- package/skills/archify/test/helpers/xml.mjs +37 -0
- package/skills/archify/test/i18n.test.mjs +422 -0
- package/skills/archify/test/intent-trace-browser.test.mjs +284 -0
- package/skills/archify/test/intent-trace.test.mjs +111 -0
- package/skills/archify/test/landing.test.mjs +97 -0
- package/skills/archify/test/layout-rules.test.mjs +1498 -0
- package/skills/archify/test/legend-contract.test.mjs +404 -0
- package/skills/archify/test/motion-governor-browser.test.mjs +342 -0
- package/skills/archify/test/motion-governor.test.mjs +111 -0
- package/skills/archify/test/offline-font-browser.test.mjs +210 -0
- package/skills/archify/test/offline-self-containment.test.mjs +80 -0
- package/skills/archify/test/open-artifact.test.mjs +118 -0
- package/skills/archify/test/ordinary-model-floor.test.mjs +1052 -0
- package/skills/archify/test/output-path.test.mjs +587 -0
- package/skills/archify/test/presentation.test.mjs +71 -0
- package/skills/archify/test/preset-tryon.test.mjs +113 -0
- package/skills/archify/test/preview-contract.test.mjs +40 -0
- package/skills/archify/test/preview.test.mjs +530 -0
- package/skills/archify/test/proof-aperture.test.mjs +78 -0
- package/skills/archify/test/reach-share-card.test.mjs +149 -0
- package/skills/archify/test/reader-layout-browser.test.mjs +320 -0
- package/skills/archify/test/readme-showcase.test.mjs +319 -0
- package/skills/archify/test/real-repository-proof.test.mjs +209 -0
- package/skills/archify/test/relationship-direct-explorer.test.mjs +115 -0
- package/skills/archify/test/relationship-lens.test.mjs +128 -0
- package/skills/archify/test/relationship-permalink.test.mjs +130 -0
- package/skills/archify/test/relationship-pulse.test.mjs +122 -0
- package/skills/archify/test/release-identity.test.mjs +476 -0
- package/skills/archify/test/release-package-gates.test.mjs +750 -0
- package/skills/archify/test/render-output-checks.test.mjs +588 -0
- package/skills/archify/test/renderer-diagnostic-boundary.test.mjs +107 -0
- package/skills/archify/test/repair-receipt.test.mjs +181 -0
- package/skills/archify/test/repository-evidence-replacement.test.mjs +136 -0
- package/skills/archify/test/repository-evidence.test.mjs +605 -0
- package/skills/archify/test/repository-language-metadata.test.mjs +67 -0
- package/skills/archify/test/route-journey.test.mjs +125 -0
- package/skills/archify/test/route-probe-browser.test.mjs +363 -0
- package/skills/archify/test/route-probe.test.mjs +114 -0
- package/skills/archify/test/route-share-card.test.mjs +163 -0
- package/skills/archify/test/semantic-camera.test.mjs +88 -0
- package/skills/archify/test/semantic-flow.test.mjs +90 -0
- package/skills/archify/test/semantic-legend-gateway.test.mjs +156 -0
- package/skills/archify/test/semantic-lens-browser.test.mjs +372 -0
- package/skills/archify/test/semantic-lens.test.mjs +103 -0
- package/skills/archify/test/semantic-passport.test.mjs +99 -0
- package/skills/archify/test/semantic-radar.test.mjs +735 -0
- package/skills/archify/test/semantic-zoom.test.mjs +86 -0
- package/skills/archify/test/sequence-column-fit.test.mjs +137 -0
- package/skills/archify/test/settled-flow.test.mjs +97 -0
- package/skills/archify/test/share-card-export.test.mjs +132 -0
- package/skills/archify/test/site-language-continuity.test.mjs +569 -0
- package/skills/archify/test/site-language-integration.mjs +9 -0
- package/skills/archify/test/skill-metadata.test.mjs +84 -0
- package/skills/archify/test/stable-update-manifest.test.mjs +167 -0
- package/skills/archify/test/start-page.test.mjs +312 -0
- package/skills/archify/test/story-beat-navigator.test.mjs +103 -0
- package/skills/archify/test/story-carrier.test.mjs +90 -0
- package/skills/archify/test/story-director-strip.test.mjs +91 -0
- package/skills/archify/test/story-follow-camera.test.mjs +103 -0
- package/skills/archify/test/story-horizon.test.mjs +91 -0
- package/skills/archify/test/story-moment-link.test.mjs +93 -0
- package/skills/archify/test/story-shelf.test.mjs +84 -0
- package/skills/archify/test/story-trail.test.mjs +81 -0
- package/skills/archify/test/toolbar-polish.test.mjs +57 -0
- package/skills/archify/test/update-contract.test.mjs +133 -0
- package/skills/archify/test/update-notifier.test.mjs +3317 -0
- package/skills/archify/test/v1-compatibility.test.mjs +329 -0
- package/skills/archify/test/vertical-edge.test.mjs +68 -0
- package/skills/archify/test/viewer-camera-browser.test.mjs +395 -0
- package/skills/archify/test/viewer-chrome-layout.test.mjs +1104 -0
- package/skills/archify/test/viewer-identifiers-browser.test.mjs +135 -0
- package/skills/archify/test/visual-check.test.mjs +400 -0
- package/skills/archify/test/webm-artifact.smoke.mjs +1855 -0
- package/skills/archify/test/workflow-compiler-hard-contract.test.mjs +2136 -0
- package/skills/archify/test/workflow-compiler.test.mjs +1163 -0
- package/skills/archify/test/workflow-migration.test.mjs +620 -0
- package/skills/archify/test/workflow-semantic-contract.test.mjs +131 -0
- package/skills/architect/SKILL.md +83 -0
- package/skills/architect/references/design-red-flags.md +33 -0
- package/skills/architect/references/rationale-template.md +35 -0
- package/skills/architect/references/runner-prompt.md +20 -0
- package/skills/arena/SKILL.md +13 -0
- package/skills/automate-me/SKILL.md +104 -0
- package/skills/autoresearch/SKILL.md +14 -0
- package/skills/debugging/SKILL.md +279 -0
- package/skills/dev-plan/SKILL.md +25 -18
- package/skills/dev-plan/references/execution-workflow.md +8 -61
- package/skills/dev-plan/references/plan-skeleton.md +43 -28
- package/skills/dev-plan/scripts/check_progress.sh +5 -1
- package/skills/documentation-writer/SKILL.md +204 -0
- package/skills/documentation-writer/assets/templates/ARCHITECTURE.md +49 -0
- package/skills/documentation-writer/assets/templates/CONCERNS.md +56 -0
- package/skills/documentation-writer/assets/templates/CONVENTIONS.md +52 -0
- package/skills/documentation-writer/assets/templates/FEATURES.md +43 -0
- package/skills/documentation-writer/assets/templates/INTEGRATIONS.md +48 -0
- package/skills/documentation-writer/assets/templates/STACK.md +56 -0
- package/skills/documentation-writer/assets/templates/STRUCTURE.md +44 -0
- package/skills/documentation-writer/assets/templates/TESTING.md +57 -0
- package/skills/documentation-writer/references/api-docs.md +185 -0
- package/skills/documentation-writer/references/architecture.md +134 -0
- package/skills/documentation-writer/references/codebase-map.md +113 -0
- package/skills/documentation-writer/references/inquiry-checkpoints.md +78 -0
- package/skills/documentation-writer/references/readme.md +89 -0
- package/skills/documentation-writer/references/stack-detection.md +134 -0
- package/skills/documentation-writer/references/user-manual.md +103 -0
- package/skills/documentation-writer/references/writing-style.md +220 -0
- package/skills/documentation-writer/scripts/check_doc.py +273 -0
- package/skills/documentation-writer/scripts/scan.py +712 -0
- package/skills/elintp/SKILL.md +27 -1
- package/skills/figure-it-out/SKILL.md +53 -0
- package/skills/gdpr-compliant/SKILL.md +283 -0
- package/skills/gdpr-compliant/references/Security.md +266 -0
- package/skills/gdpr-compliant/references/data-rights.md +177 -0
- package/skills/how/SKILL.md +58 -0
- package/skills/how/references/explainer-prompt.md +55 -0
- package/skills/how/references/explorer-prompt.md +52 -0
- package/skills/humanize-writing/SKILL.md +417 -0
- package/skills/humanize-writing/references/ai-tells.md +291 -0
- package/skills/kpi-dashboard-design/SKILL.md +103 -0
- package/skills/landing-page-conversion-audit/SKILL.md +122 -0
- package/skills/meeting-minutes/SKILL.md +235 -0
- package/skills/portal-app-exchange/SKILL.md +8 -17
- package/skills/portal-dev-setup/SKILL.md +137 -46
- package/skills/portal-dev-setup/puller.env.example +3 -2
- package/skills/portal-dev-setup/references/kafka.md +140 -0
- package/skills/portal-dev-setup/references/troubleshooting.md +22 -26
- package/skills/portal-dev-setup/scripts/onebox.sh +510 -56
- package/skills/portal-external-app/SKILL.md +57 -21
- package/skills/portal-external-app/references/contract-doc-template.md +1 -1
- package/skills/portal-external-app/references/integration-contract.md +4 -4
- package/skills/portal-external-app/references/public-entrypoints.md +100 -0
- package/skills/portal-external-app/references/quota-and-seats.md +12 -31
- package/skills/portal-external-app/references/registration-and-onebox.md +67 -11
- package/skills/portal-micro-app/SKILL.md +18 -28
- package/skills/portal-micro-app/references/manifest-and-acl.md +21 -3
- package/skills/portal-micro-app/references/open-api-and-extensions.md +1 -1
- package/skills/portal-micro-app/references/sdk-reference.md +1 -1
- package/skills/prd/SKILL.md +56 -38
- package/skills/prd/references/prd-skeleton.md +72 -34
- package/skills/prd/references/product-quality.md +89 -0
- package/skills/prd/references/spms-mapping.md +9 -7
- package/skills/react/SKILL.md +26 -4
- package/skills/react/references/actions.md +251 -0
- package/skills/react/references/data-fetching.md +25 -1
- package/skills/react/references/react19-migration.md +407 -0
- package/skills/reflect/SKILL.md +13 -0
- package/skills/review-code/SKILL.md +63 -0
- package/skills/review-code/agents/openai.yaml +4 -0
- package/skills/review-code/references/git-scopes.md +38 -0
- package/skills/review-code/references/report-contract.md +56 -0
- package/skills/review-code/references/review-lenses.md +33 -0
- package/skills/review-dev-plan/SKILL.md +88 -0
- package/skills/review-dev-plan/agents/openai.yaml +4 -0
- package/skills/review-dev-plan/references/report-contract.md +59 -0
- package/skills/review-dev-plan/references/review-lenses.md +82 -0
- package/skills/review-prd/SKILL.md +84 -0
- package/skills/review-prd/agents/openai.yaml +4 -0
- package/skills/review-prd/references/report-contract.md +64 -0
- package/skills/review-prd/references/review-lenses.md +82 -0
- package/skills/review-prd-dev-gaps/SKILL.md +84 -0
- package/skills/review-prd-dev-gaps/agents/openai.yaml +4 -0
- package/skills/review-prd-dev-gaps/references/report-contract.md +72 -0
- package/skills/security-audit/SKILL.md +191 -0
- package/skills/security-audit/references/language-patterns.md +221 -0
- package/skills/security-audit/references/report-format.md +194 -0
- package/skills/security-audit/references/secret-patterns.md +178 -0
- package/skills/security-audit/references/vuln-categories.md +288 -0
- package/skills/security-audit/references/vulnerable-packages.md +111 -0
- package/skills/sql-optimization/SKILL.md +296 -0
- package/skills/summarize/SKILL.md +1 -0
- package/skills/swarm/references/teams/product.md +2 -2
- package/skills/tdd/SKILL.md +42 -0
- package/skills/teach/SKILL.md +21 -0
- package/skills/test-plan/SKILL.md +12 -11
- package/skills/test-plan/references/case-taxonomy.md +3 -2
- package/skills/why/SKILL.md +158 -0
- package/skills/why/references/epistemics.md +144 -0
- package/skills/why/references/investigator-prompt.md +103 -0
- package/skills/why/references/source-playbook.md +17 -0
- package/skills/why/references/sources/code-archaeology.md +88 -0
- package/skills/why/references/sources/databricks.md +70 -0
- package/skills/why/references/sources/datadog.md +99 -0
- package/skills/why/references/sources/incident-postmortem.md +15 -0
- package/skills/why/references/sources/linear.md +48 -0
- package/skills/why/references/sources/notion.md +55 -0
- package/skills/why/references/sources/sentry.md +100 -0
- package/skills/why/references/sources/slack.md +54 -0
- package/skills/why/references/synthesizer-prompt.md +135 -0
- package/skills/xgent-app-release/SKILL.md +97 -28
- package/skills/xgent-app-release/references/build-and-package.md +8 -3
- package/skills/xgent-app-release/references/embed-csp.mjs +126 -0
- package/skills/xgent-app-release/references/frontend-archive.md +67 -0
- package/skills/xgent-app-release/references/public-delivery.md +75 -0
- package/skills/xgent-app-release/references/publish-api.md +62 -56
- package/skills/xgent-app-release/references/troubleshooting.md +18 -2
- package/skills/xgent-app-release/references/verify-preflight.mjs +50 -0
- package/skills/xgent-app-release/scripts/npm-token.mjs +8 -3
- package/skills/xgent-app-release/scripts/preflight.mjs +13 -2
- package/skills/xgent-init/SKILL.md +23 -82
- package/skills/xgent-init/references/external-app-AGENTS.template.md +149 -0
- package/skills/xgent-init/references/fill-guide.md +10 -22
- package/skills/xgent-init/scripts/check-docs.mjs +14 -86
- package/vendor/impeccable/VERSION.json +10 -16
- package/vendor/impeccable/bundle/blobs/{daa2a8ecd874f9f940dfd72aaa329318b06bb9be25515be85fea84c871b637a6 → 00c067253d37cd20a41dbe9c806d6a72cbff983ad1418b3c3e447998f577b9c2} +18 -11
- package/vendor/impeccable/bundle/blobs/{4ce929b8cafd37247ea4c148bbe39a9afe15908d1abf4a8248c5122275d16499 → 00d167d9183c8d0c6c0682055107382e6672bacf7a712de0abc8f157c2cb2210} +3 -2
- package/vendor/impeccable/bundle/blobs/{a9515f6f084d8f51c378eb3cdc6db1f12e06dba2d32fc61b7ee7950fa2586f2e → 016c082dcd2aa8f3c080a757c8ed335c6070a904bd2f39668bb9d3e6f95929c1} +1 -1
- package/vendor/impeccable/bundle/blobs/0221a193d111a9de33a785706a603e55dd974a115f549dbdf74e0f9ec72bde7d +101 -0
- package/vendor/impeccable/bundle/blobs/055c571f2960b8f929d6a8d3806a4d32dfcb9750b3ef8b60adc8930fff34b559 +101 -0
- package/vendor/impeccable/bundle/blobs/{3aa908c18db91d5f31d6bba6402eab6afc4e0b75137f841a86bd012386e0d8e2 → 0605c8729dc638a46798e90ab12486fe3ae3372a869757cfb387a08e23b3c84a} +18 -11
- package/vendor/impeccable/bundle/blobs/{ec58806f16fc7ba29bccef08f2e158cd00be077ce05d45e943a59bd26dc6dc55 → 0648e4e06d01cabc91fa7dc19256ceedeeeea213b9265e9d36b0918370e16fb2} +6 -0
- package/vendor/impeccable/bundle/blobs/06b20bd42e5682a42c5d6fbfaad4c55e66ff9b9d99a604bd31d3545af120fc2d +101 -0
- package/vendor/impeccable/bundle/blobs/{420e2fdee2b7f555d9a37ce348cf62610ddd98f96b1a0a511796ba600881588c → 08346755b13f1a3f7c6fb4e512387884b80467aaeff109fd41f5521d2a95635a} +3 -1
- package/vendor/impeccable/bundle/blobs/{8f651cb1f8cde0acc5cc511b77fddd98558a527f54974698a1650b0fd7e849a7 → 08398fa2d8e2b06b849f1c0f032e1e93b832e9294aed35c1c7f62b938d62ee80} +1 -1
- package/vendor/impeccable/bundle/blobs/087f6715114e901c2ce00b438e75b82fd48978c020a782f3dc361d39eb7198a6 +26 -0
- package/vendor/impeccable/bundle/blobs/{bc7a5128cfed46148396c08798b6b9429406fbe477e84e331a36ee2840b6b776 → 09310582ed23393b171eb99ad4a288cc422ac53c26d76311586ce54c6df77b22} +3 -1
- package/vendor/impeccable/bundle/blobs/{633903ba7cb38ed502448a66691fbf655805786a2f06be67043f12294ad08e86 → 0bc2bc36ca6e74f9f610392f1a4fb8f57b2676238ba1f9c65cd8714f5d27e8a2} +5 -0
- package/vendor/impeccable/bundle/blobs/0c064c9975f25f6eb5cf7911c2eeafd3e695d729f8c86a49a24ff2d76cb3cd94 +63 -0
- package/vendor/impeccable/bundle/blobs/{4a7d8695741e2cd354baada215b06798c050aa7a8e1ca6814f0e395e054d1ab1 → 0ccf57f758eb0d53bc32c5c77156f016e528d20fe2c2740662bf19964dfbb00b} +18 -11
- package/vendor/impeccable/bundle/blobs/0dd1e6ccf053cb80e057caf7bf2fef30fd0197a41d907a1a8d2d2d02f6978674 +63 -0
- package/vendor/impeccable/bundle/blobs/{943b0d7c9ce4f6802d8440a07b2ad3c61cbd1cc00ab63962bab7eea9ca584d20 → 0ed5986d1503399f48c11104df5e523a63be2d6558770ebfbbeb2323ca3f2ad3} +5 -5
- package/vendor/impeccable/bundle/blobs/14c9c9a7816026dd77494d06b8d1777c8d64785126b0c9ac8db5ebd996dfd6b6 +101 -0
- package/vendor/impeccable/bundle/blobs/{54cb270e8826380caefc8c40642a5d973f27df46bfdb762d822541a0c72a9877 → 14ef0ab84c10331f8af6b4124387a3f80b493175a04a3f89200719b4b5aea221} +18 -11
- package/vendor/impeccable/bundle/blobs/{6abbf5979db5cb1d7965bf5f91d589e984843069c587f4d1e63aab135bbace0f → 1547005438784032de3254cb35bff393e8187d7a459d0c20a693d9bfb0b5c1a4} +5 -0
- package/vendor/impeccable/bundle/blobs/162b814ddd1133923b9584bb95f85959e64844c94341d6bf10a81c06ab7cc02c +101 -0
- package/vendor/impeccable/bundle/blobs/16498466a97a5b19a593d5b3f245468c71784bea069d7fc8aa9690db5ac1d968 +29 -0
- package/vendor/impeccable/bundle/blobs/{b31ff29c7a1ea979c6d039f7e8d17007410697ab49536690dca109f0af3f20f8 → 16ba7fca1973c5faf53dd2ca523559129c0fe9e5f8d50b645f527afa78186cd2} +9 -0
- package/vendor/impeccable/bundle/blobs/1725ca4aa546a34770f29191b58bf8dc14957d4258fb9e7d02f7b1c59c412ea4 +63 -0
- package/vendor/impeccable/bundle/blobs/{598bfed550954471ba4d257d46b4d608cd82e4cdbf36d07bf93c5f4a563f7727 → 1898529e994bf0a31ee9ff3f87c343caea3d8a7e0986f404e129fbf89078ade0} +4 -3
- package/vendor/impeccable/bundle/blobs/{6e20041e209e8705d14aa9c4fb8cca3f0d743791de633785e5b46e2dd1ff1a6b → 19b439d7d16e139357459d3874f739ea94dbdffeb2a0e201df1620ed1e40574d} +1 -1
- package/vendor/impeccable/bundle/blobs/{04af9f2d6883fe76f9539d310d9c369052822a24886d2c330ab1e3fe5981c8a1 → 1b289c8c09de9d4442109ada91b1fa3a190e113a310cab7aa26a3633c5df0bb0} +1 -1
- package/vendor/impeccable/bundle/blobs/{eb3213b9c9f4d6b2f153e7b457f13aa131bcf633695229dad4eac39a920bdf38 → 1bb3bdce54386e96e21b5956713a80583e6b3b9d1170f3bb8dec3819fa341bc3} +5 -5
- package/vendor/impeccable/bundle/blobs/{e71d6b97680084a7ccec01844e658cbd2042aec00da0c91bec62a240ad7dcf6a → 1c11cb8ea42536c7a51e197f1aa32198960bb89262da2eaf32e0feb03c70792c} +18 -11
- package/vendor/impeccable/bundle/blobs/{f0c4d0615c7d520dfc2536c01cc7f1f3aab9b60ddc399ba01289fe62edb12370 → 1c6258015ed02c522948f8f1a3b6457395a8f7954497b87c1cd83f1791f9f819} +1 -1
- package/vendor/impeccable/bundle/blobs/{27c4b6c90ad12a186136f9ece9cb1830d4a6e36b11382ab334efc4543f8082de → 1d7145fd5bf65282b2e05cf42faf41766d68e83e2b75f460b3b62d81ada5e5d7} +18 -11
- package/vendor/impeccable/bundle/blobs/{1484a7ae206ab4f0e6262b21afe0f6307a629ed27d28fb7de69536a6800a4883 → 1e2f696760ee55fb154bdcc302c7d7b0fbb807e0308130594bd892dae14dc9ea} +5 -0
- package/vendor/impeccable/bundle/blobs/{6989120346e87907d59cc6d4708dd9dee29227ad583fbefee28935395b68ce34 → 1f6c3a1d7344f44eaa88b6f38334ad7d7b60201709589039a58cee73de486f5d} +1 -1
- package/vendor/impeccable/bundle/blobs/207d443cabe4e6fe1351f91785748957f757bf1e7aeca405433c0329dad46a15 +63 -0
- package/vendor/impeccable/bundle/blobs/{f7916d0113da7a19d4e03c113d5563d181457e44f1646ecab9191cfee5ae776d → 20e2111b3e065e8e8054f715ea3902e64b77886b30d2bddee723558f22942620} +4 -3
- package/vendor/impeccable/bundle/blobs/21e78c8a77badb3f83290cd4577ed3b24bd4dd3b57136d7da75733d4f3ee9ac0 +19 -0
- package/vendor/impeccable/bundle/blobs/{0f83648f6b425225290305bced51eacebacf9bf9bc05e21cdbad46863fbc89ce → 223f08673b267f81d7586f686afe05d7cd7529a8e11ac37d979f95c2ceaae8ce} +1 -1
- package/vendor/impeccable/bundle/blobs/2499b18f26639694344ca95682f47c65494f730cfff88aa9bd2aa83a22e5926d +101 -0
- package/vendor/impeccable/bundle/blobs/{074575671f24cf4298d06f0019f76e94f62e9a6ed205fce05b8e507341e64266 → 26cd88d10f8a14ed0ddb6e6b21e5e2c981f410eac93afa179202c354d7d1c0d5} +3 -1
- package/vendor/impeccable/bundle/blobs/{5f24c5a97b4ffcabc7c432b064cfdd04c7a2ad52f52e765be648dc0aadab8f38 → 275dd1b6e63bbd30d2713227c4f79b880a8bc4e01cc48d392068bb86939d3afa} +1 -1
- package/vendor/impeccable/bundle/blobs/{356cfa0ebf61589cf5d52691d101a69d69256062fe1d11d71d95d41a78289cbd → 28f65b42c1ce9aaea35dc37a51257d7c703bb7f6553ebe3b8ca238a1007251e0} +3 -1
- package/vendor/impeccable/bundle/blobs/{a1dbde501ffabb50f30f28f2de6755b5e91b3d4028292c5a3abd3358106eb457 → 2ac1624b1253f3b6fcf2da54d54293624176539b2e9609a49245e7e46c65ca5f} +5 -0
- package/vendor/impeccable/bundle/blobs/{3895765e9434400dfc1b30e364be002cf499c1718fb2431e65b907c14ae2cb27 → 2b9379cdb329890eebe2384fbaa23f771745f30d8cfc43e180ebd092e69bcd2f} +4 -3
- package/vendor/impeccable/bundle/blobs/{1a9180cec754f8afd354e7cb759750247e97c5bd26d3242ad4c45e315069e8c0 → 2bc5d62463cc83d6417df7b8f4a02b4135e2b1bb654aa7727890662496f86e3d} +5 -0
- package/vendor/impeccable/bundle/blobs/2ce1722bd1a9f366182d9357d629796b1448f7a0126a854df507eb044d891cab +26 -0
- package/vendor/impeccable/bundle/blobs/{e21af575fcc0f1df54ae422bea4dfa1e5211422606908919f6a86e19e0d5c20c → 3149a87bbed84bffe3558d5eaf1dc596b2e84d3c1be290fc7b1c13e481ae0803} +4 -3
- package/vendor/impeccable/bundle/blobs/3253eab02b62efa80abc74a5c85da08f3e2c6c20dff8dec38f4d236cbbfa0f3c +63 -0
- package/vendor/impeccable/bundle/blobs/{38c2e839e130008b6da814ab9c16f3fcbbedfdf721a9638eebd31a9e65341a7a → 37680abf9a8e446619fcd33862718f483d197bf2652f966adca8dc54d2909b9d} +3 -2
- package/vendor/impeccable/bundle/blobs/385a0efe833bd4afe4a257e7159590de0cf1b7fd8f7b213b732f1e537c62dab7 +21 -0
- package/vendor/impeccable/bundle/blobs/{8a1c872773996dfa1c1eb765ac7ed8e8d41f99d4f12f090b4725b694e85eaa62 → 3898bd9b56a042e860a0db4fb4dd81ac81126fa218b604702e2ac0c2287ae09b} +9 -0
- package/vendor/impeccable/bundle/blobs/3b2b60f23fa8ed9d73e721e17142c3933dc5318fa9a251742a76fee890ac81a8 +26 -0
- package/vendor/impeccable/bundle/blobs/3bd55b35c253f7841ca4e6e1a855a4b477d59aa2daf6e61e93fd685caaaff131 +63 -0
- package/vendor/impeccable/bundle/blobs/{dde1b74aeab3d90320e134f0ed0422bef99917dcab4c1749aa1720a2c94f725f → 3bed76a0d528e2d73da8acae4dc63702bdb5baca5ab11600d70e75fc9f2ba90b} +5 -0
- package/vendor/impeccable/bundle/blobs/{9b2fc50c5062073d097140cde85602bba181e325ec6b9eea1bd3da74582acb9d → 3ef9a43006bc68d83bc958fc8401e59f9beb6379048f5ced047747fdad05b895} +5 -5
- package/vendor/impeccable/bundle/blobs/{30e006fdee873bac23edaeadce0371161625e021e3cf442dff4b05bb82297ba1 → 400419aaa20f710e1a7e5ca1fce9e8bc995c4db84053f40cf778d987619e0210} +1 -1
- package/vendor/impeccable/bundle/blobs/40cd6024312a1339aa66801df533afa543e60c36e708f0f9659dd8d558f83dce +63 -0
- package/vendor/impeccable/bundle/blobs/{55e95137b3f9198c1d4dfc425366b82f1ef5f77d602682b2edf91f2ce9296289 → 412dd9a5238aee223397591fe49b3bd27b6b53d649a0e67ed8570f3e199cebb9} +1 -1
- package/vendor/impeccable/bundle/blobs/{181e814c1b9317098b2300c1b02ad0d137b6d82bd1e7e8cc64de4d00b4c50c25 → 41ef23c048ab739f48afdce26a2678d36ee40bcced34ef4b969d1d8ffafca64c} +3 -1
- package/vendor/impeccable/bundle/blobs/{edddeb3fad88adec9a055b1bf9d5c75418cbe97a13b1a7f6765e73249e482563 → 42831c3cd874346d8e7f120808d91e6ed3cda5c3eca6eefd76b126659536bc87} +5 -1
- package/vendor/impeccable/bundle/blobs/{e3c331cc21d9a216e25e08628610ea99c97e150893c3d26e5c0cecc532f26d7b → 43dbfcb7c2e54c9cca9fce66024f17c06a2f2be645547b718b75c8828a463de2} +1 -1
- package/vendor/impeccable/bundle/blobs/4435529820c3fc2eceae8b1ee35c906a34c7612fb860117e896152b45aee0770 +26 -0
- package/vendor/impeccable/bundle/blobs/44a60aedcc350c2d7d501d0f830a31a586a6511a9ff9b4e361cb328bb747339d +101 -0
- package/vendor/impeccable/bundle/blobs/{c6a0ec6c28ae55fe539f0f41a507b1638495afd285d6eb15c00245fc8cc7e7fe → 45dcea8da47cc21f447041daa942cf5d92cddde9a5a02c196cedbd159c829304} +5 -0
- package/vendor/impeccable/bundle/blobs/{015725eeca94f52bffd2132d4cb49bc3eb1ee76e6ac7378c065e629d59f56613 → 4700adf4542874f204c680ebad8317a97bf7169dbc04147082618ab59ce70c7d} +3 -2
- package/vendor/impeccable/bundle/blobs/4777bbeaff2efcd6a2a66b07aacaaf57cd32f3fab1c1da5a0513937fafb48bd1 +63 -0
- package/vendor/impeccable/bundle/blobs/{b6022a8c7200e96b0b55c2ff599a01d64123a2f5fe01557d4ca5192a6e0f0b0c → 484ea165f6d49ecc15b7a5c5623e377f2e203f4dad366df23eae99255ecf4572} +18 -11
- package/vendor/impeccable/bundle/blobs/485774d58dfd5796956024cdd9c12f05e692a3703f70b12a02ab43918885c3fd +101 -0
- package/vendor/impeccable/bundle/blobs/{3bf5d8661351831dbb2195e3b677fea1f128ca319c0589d538b66d9c9d7dddbc → 488da2e7406c6b4b5c92d7bc8cbd370cdaafc82a5f3ab5adbcffb21d1d1c4df4} +3 -1
- package/vendor/impeccable/bundle/blobs/{6f1d52863482fa0f6fff877f0cc8f6dd0b4230d28050b0d267e082776e61a332 → 492a8030d11e2f4908d934bd817bd6d16a3164056c74a7172f60e2cec5ff3055} +5 -0
- package/vendor/impeccable/bundle/blobs/{51e2f8963377f142ebdc9864e0ecc5aa1e5b7d344ed72d0e9d748d2d3d8c71b3 → 4972f28d96897c8dec891f0de7a0d9d51f36030ff780ed9d960241c75413da2b} +5 -5
- package/vendor/impeccable/bundle/blobs/4a6f0386bff78bb42efa285df2919e75209ec336672cf5fff91ba66ffb352eaa +63 -0
- package/vendor/impeccable/bundle/blobs/{12c1afcd15e86d840b89a78c6d17ce6d1b5609bac713d59271c6ab5932975dac → 4e3cc4d0e229ca96dd2e28fb2da0478a7f0bb64e447d07a652c425d8fbc57573} +3 -1
- package/vendor/impeccable/bundle/blobs/4ea8e05d0f88d24f182ad554da84317f90b9730e29fad262143ddf423a1f8645 +26 -0
- package/vendor/impeccable/bundle/blobs/{402656ca6df17bad1cd55ede0a966a7bb5b187cf4f89c517851f9efe7f14c0fd → 50d4b14134fc06daeac0aab6960800f171ef85250d3bcce6f246cf81e824463f} +3 -2
- package/vendor/impeccable/bundle/blobs/{43852ca5917de66704f73f9019d15482bb1efd92f2eefaeeeae23610b4c0c6a0 → 50f3b5714ca3e2c1bcf070003733407935ee050609d3123c2c065489fbc9950b} +5 -0
- package/vendor/impeccable/bundle/blobs/{f597742c8e5562263d3bce725cb55e920d8c2c60223f41a632d523ca30cdd12b → 51032bb883137007127d30189b44b516d0e6140271bf5881da7eca76f8bd282c} +3 -1
- package/vendor/impeccable/bundle/blobs/{13bd27aa8573e6d45d8bbf9f3fc991e4719d28a7e8f709009a4a5a49a227fff3 → 511ecde67e6bd976c9bdfa8d92f0dba359621344f8135c2a5ce5a66b385a4cb5} +5 -0
- package/vendor/impeccable/bundle/blobs/514a27fc9830455828d337cfc2fa95fa86be8e5464501bbabb9aca09a66b40ad +63 -0
- package/vendor/impeccable/bundle/blobs/{78ac93689928a580c2f90242cbaa96dda3fa4e55ff1f1d00e412b2a62ad85232 → 529cb2ace696ec11a86f4b010c9b137acf282072e483932181be1871df2aa690} +18 -11
- package/vendor/impeccable/bundle/blobs/53628d05b7eff0d4f48b95e48fad40266452fe1b42f398bd88dd9328353e0dd8 +101 -0
- package/vendor/impeccable/bundle/blobs/{00023f9e7f2e27604fde978b56510a8f837b76eeadd93221d11adcf4c98f1a10 → 53de37260c4f1c37e467557e9b038faa0f285b056bb2b95f435e0a7d1b69b0de} +3 -2
- package/vendor/impeccable/bundle/blobs/{0dbbef70048cc3ae44e6710ff09992ce14ad049ce8ed519b0ff8a1ddb4633f4e → 5415103ca4422ea1422e23bfe9f9bae181f5d6d6407442f7fba31856ada58d12} +3 -1
- package/vendor/impeccable/bundle/blobs/{af34b8af89edb10e228c0482754423f48238fce816eceb8703b8781c130da54e → 56285b28b0ffe471761c2ad062d3f933ed2346ca1b617f1323a30fed99a1a852} +1 -1
- package/vendor/impeccable/bundle/blobs/{12fefe52d80d25014e5f7e2f9b278275a675653d3d99ae8f0ecf344cdb9abbe6 → 56cc1bba51e6805de370160ce4a9399fef3740571204f13c3c751725870305e5} +3 -1
- package/vendor/impeccable/bundle/blobs/571f5c3bcf01c9b1bd02ab853a54db3f88375c4b8f39dd67d53e983a33e08bb7 +26 -0
- package/vendor/impeccable/bundle/blobs/{5ce02fc8f353d7f659535fb80e453963dc047a07c4396adf098fe010b479e7c0 → 5855d7595b0212bb8d521e0265378d437df8d2343d5f8a30408c3edde0a14d96} +3 -2
- package/vendor/impeccable/bundle/blobs/{2b21f0142ee88a11dbe2593362f5a910718a61062e3a64e7ff936ef1e74fd394 → 5a07d4769a741cd00fdf8c95b943ef072eb12cd0c9e2c2d2622d5fe0a4fa3894} +5 -5
- package/vendor/impeccable/bundle/blobs/{3dd45e1c32db3d3163a96ef198954905807b25cb9a1d206a7d77986f21d27652 → 5a9626fb8c1e9051155c68626fe7c765a55be325113245d44b4991fc3d3b014e} +5 -0
- package/vendor/impeccable/bundle/blobs/{d07e3131cdf3e392e59eaa3e2f59fcb0799d9494df4adfee12a21067fb8365ce → 5e354ae11913d5846faa3681a9ed98b68d1881fbbb1ecebf0769e3010bb0a426} +5 -0
- package/vendor/impeccable/bundle/blobs/{ad389ab12800738b0e5c97618278b7a824654b25990166ec9f389caa5c3386ca → 5e6eea05456108b8766cf354dda998e90b6a5ecca7f15d807e28659ee78c306f} +5 -0
- package/vendor/impeccable/bundle/blobs/{85b9c2d051de94ee9129c58be111946f73035ca62bbd2a3936f4fa48768fe5cf → 634257e766b1fecacd25e27dbfc7e21ef3b440b01e94e92b8b17711018d8a661} +18 -11
- package/vendor/impeccable/bundle/blobs/6428239079f98fd6500e9fd032dd289b52052da7a4364ff357b0a5341b6444db +63 -0
- package/vendor/impeccable/bundle/blobs/{f424dafa190533cd32c0bc3e4131d0c472d58e16bb191eab14f0ae73c2cea917 → 647bab2f5cf6279d58d808f4df05d1ac63c1c86c6df9d13406ae776458653995} +5 -0
- package/vendor/impeccable/bundle/blobs/{8e7bb79db7331b93f99de314dd5599de8587ec0b6c25e26cf1efab25c0777fcb → 6528f2aebe4a425b724de293c8f6dc8a42ca80c7f1ed3039b8b9a813b004956a} +4 -3
- package/vendor/impeccable/bundle/blobs/{89eb0206a0d9308c6c6a7cc01bc4fd8812d2bd34bb9a831988c5d86fac2c60de → 6575a657642ccdab42d0743ceaee06621c77811b4dc4f21c616e28aabf5e28ef} +1 -1
- package/vendor/impeccable/bundle/blobs/66d60356172ccafdd334fca9bf33243c8409216a733dcde0d66a24fd70ee8132 +1 -0
- package/vendor/impeccable/bundle/blobs/{759bab1d8adc071fdde2efcf6e2157aa4026f3c2b4f3c342a8070bf328011616 → 69cad1ae7355825ef320ac9638a1c9675ba9fda01c9a0fa12244cc4a1973e550} +2 -2
- package/vendor/impeccable/bundle/blobs/6d21d8e2729effaecc5b6239dadbcffb1ec8d51e8bdadeb47a39827266a61c5e +26 -0
- package/vendor/impeccable/bundle/blobs/{ff882c59c9aced92338aa194cc99a521ea2f083fd22eef3b1c1225e06bc72f66 → 6d9258a49c0b0583ec255eeb1092554298d5eea676fb9391f5a5a1377c3fd770} +4 -3
- package/vendor/impeccable/bundle/blobs/{68bc52a604731ca024610051fc763f4d78a53eb2a45d35b40a8c0383043baa63 → 6f4dfe968f47302ea64dca0e02f8c6d81497d93e4f436d09236e305456cbcc02} +4 -3
- package/vendor/impeccable/bundle/blobs/{f97a6891c80bbbc728edefcf4b638d1a823b38f3cb16ecd0fbb717734cc5c0c8 → 6f7f1639a933ed88e116aa8ab0cfb951096930d14f413349ae22ed04e28d2358} +5 -5
- package/vendor/impeccable/bundle/blobs/713a942482531ef8ef103adf48d9decd7327697450e444289aa0479458e4ee1f +101 -0
- package/vendor/impeccable/bundle/blobs/{6d47503587ad6da17ac529f44a96123bbb96a9c91a7a9350b7690fc467561a5d → 7212014fb2477d1d54aedaa79cdb861071a58afb2ae6d4dc5a495fa4810c6f8a} +5 -5
- package/vendor/impeccable/bundle/blobs/{21bc91f6e07691e82b7bba99f9e1d956f9d7a6810dcdc18d231fe73b53a13b23 → 73f8bdec7d9a97476fd7d7e0b4114b5c3e9c7b84c22cbb876cd18c3e64a9b8c5} +5 -0
- package/vendor/impeccable/bundle/blobs/{a8547c8565979894f0c07f92a96ac2a38e681a31fbf155ffeefc7566e185d9c2 → 754e9f0aa2101245a83cb17d8cc5bc49cf87997b29a83dedbfff283dbd0a8c4f} +5 -0
- package/vendor/impeccable/bundle/blobs/{84df879a0332a56ece4bff1922ecf4f50635951b3c67e67eb46f31bc5d30fa9a → 765d3e890cd7f58ca94b6834181052166e9c4f9ef06278dc241da4d64da2d595} +3 -1
- package/vendor/impeccable/bundle/blobs/778cedc9199b407d3e23fa1041e38d548b00b1101a33517aa2a2eb299f9d0edc +26 -0
- package/vendor/impeccable/bundle/blobs/{ef0b8eca20e1321cf7216fd0bda41ce54b0cca197cfd1b075eb51f3436f59059 → 77ae09542fbc10aa4e8b119d6fd19359908a47c13c30068d6a150bfdb50e3e10} +1 -1
- package/vendor/impeccable/bundle/blobs/{15b4837dccb27d7382e2f134ef050b244c4488b1906e0308f288112183cc09ac → 796bbd8231413fcbf22eb7e6f40c402842aa4b10b1894545a7b05d9201ca7c4a} +18 -11
- package/vendor/impeccable/bundle/blobs/{5e3616ac45568f239fda3a4764f7d3bf3473b8b5eefd91e402dd9208a4b851d1 → 7af7fcc09c6b14f26ba78734460a2f9dddd2dcd2e2fa0c47c682f539e2f4cad5} +1 -1
- package/vendor/impeccable/bundle/blobs/7b1a4cc5ce94837c8309962a204c47361927e442b7a1c3cc472f90276eca8b8c +63 -0
- package/vendor/impeccable/bundle/blobs/7c417abe75f0ce4341b6f5acbadcafbbeabcc32cdb13c930aecc5cabda9f9242 +26 -0
- package/vendor/impeccable/bundle/blobs/7e36403ed58e0e82c0e42bf2fbea1c066b8e63276978647a6f1e44bf1edb23fb +63 -0
- package/vendor/impeccable/bundle/blobs/80191b3580a996a2045105976f728e0f46de22c412fc7640741add9767b2d8f4 +101 -0
- package/vendor/impeccable/bundle/blobs/814610dee1081abc4213476ff0c4ae3e8f457909550d250ea0f89953687c85c6 +63 -0
- package/vendor/impeccable/bundle/blobs/8157b5a376e46980117f1ad6d08b24ee7be966f5de64b041bd213d486ea8c077 +26 -0
- package/vendor/impeccable/bundle/blobs/{bad9250670c18d89722563fd747bae4c4bec64d1db0ee09d12d4fea04fe271b8 → 8373668da1aa37c39888809ed9e834a7edfcb884af12f74934c270d004fba626} +3 -2
- package/vendor/impeccable/bundle/blobs/{46250caaec1bd69619a5b28a73cb3c845b319d029b0af9228aaa7001e7e0104a → 83d614fec61078175383012a088f49a9c0bb08b9ebd2b651c77cb94a323474ab} +5 -0
- package/vendor/impeccable/bundle/blobs/{a5371492582dbeb69b24a1a2947b256a2da8a4d55917af709bbab6e452d9d23c → 8449781319a33d4a10a7fab9bfa4812241c303b95f33703b300b097dba51089a} +18 -11
- package/vendor/impeccable/bundle/blobs/{12d2a8043ae8668ad29c32bfa92995849fc49cb016e6ebd4f7e59539d96e7b03 → 857c4a0db5859f1fa91152db684528299dfc552525f50f416d1625a270e12671} +5 -5
- package/vendor/impeccable/bundle/blobs/{bead87679caad7c537dd7c04c3bb78be56ac7eec279ad6aad7322f48ff2df2d9 → 871a8e4d749b807c693ebabd83defbd6c76e1bd2a0f53a28a460cb1308ba8634} +6 -0
- package/vendor/impeccable/bundle/blobs/{cf3ae16765e7b5bc333ef76e24ab37f080e3d62e931c4986158e3cbcda6b9f7a → 881a58aadf300bcc8f4947243e82192ae8dd7f14822a70fabc84fc74a5f9199c} +5 -5
- package/vendor/impeccable/bundle/blobs/{896da399bafcffb0623bdd81bb18709d6eab25c9d5917e739c8798f31ff0d076 → 88549c11ea55d5dfc9f551db9a9c270d7362a9d42aa83db7747c9a7f020e1255} +5 -5
- package/vendor/impeccable/bundle/blobs/9287af96048c58ed0e72493cf7eb90c3957d4ba8b19e70ecf5d1f54264e9e597 +101 -0
- package/vendor/impeccable/bundle/blobs/92b7ab84c828fa888f4882c417c3d7f8fde2e5445b40f96f4fc8181a3e058afc +101 -0
- package/vendor/impeccable/bundle/blobs/{e2f98c4136d0ab70ec32fcdef58edb20ed8ec4f6cc067e0dae952b22cfd6a471 → 93c53421c3376f695fe9dad5c82102f74bb5dd15e4ced81bb4ad50a71e5f1027} +1 -1
- package/vendor/impeccable/bundle/blobs/{a8f4056a85706c0c8f80ec48e9b437e198464100aa42786f9252051f4b931c19 → 95f0c7935a6d0375e09ae67ae0066c0ce7b583bf1d445d268cc4d2f4f900b1bb} +3 -1
- package/vendor/impeccable/bundle/blobs/98384b78af087855dbb526ec1e870a676ecd87f57237643dfea815317dad8a07 +26 -0
- package/vendor/impeccable/bundle/blobs/{948326fab89f0d5c07355a06b9b9c30d08bba2e3a673a0151ebbf5a39dff7b9a → 99e4a6facdb07986aa721bda8a4e35466b30091f32e38d7a71d9fcbe3591f65a} +5 -0
- package/vendor/impeccable/bundle/blobs/{44a91b3f0810f43829d8584e912812444d15614e4b57ca8070aee7ab899f7c1e → 9a4aa0d4903eabee987fdc92053466ff7f6eb0604797aee0efe67d67999b3eae} +5 -5
- package/vendor/impeccable/bundle/blobs/{9b85b85443aec09918befb83208c72f475457db8261a8fc5e83ef7eec474c869 → 9d45e5f6c082de6df4a2cfff11deb969715c49b5d9891d100dd1b2252c5bdcdd} +18 -11
- package/vendor/impeccable/bundle/blobs/9db3c0857f4c2c8877b1fe24a47a229fee0de76ec9057bd8ee95f0677fb58d74 +26 -0
- package/vendor/impeccable/bundle/blobs/{5738bcf9ac21dbb2113fd0c5cc7e4bbfc8174778916ab5843644332b3dbbc36e → 9e82126a2e08aa365f9c430d383cf6e1921e04d1e0a1b5777716ff97828cfad8} +5 -5
- package/vendor/impeccable/bundle/blobs/{b3782f2d9215eb0f5df4fe3c0e0bec07cef011e1836d4d0e45ef02bc48d3adde → 9f2993499adadfdef4065a9a7fb69c75f888d892d4ee6bdbe62619bc772f495c} +1 -1
- package/vendor/impeccable/bundle/blobs/{1c804990fd8ac23a4b19c42972b5ae591d17f620d0006f0f32927c8db5d5bf50 → a1af8b8a97665a3692eb39872c235796684a387a0b83785872f81aebd9dab046} +18 -11
- package/vendor/impeccable/bundle/blobs/{824b994782a1fe68a244bbdff7218a2e0854655d90cc0fb5ade7ef9259ba6305 → a27399e3056c77a28ddd310fb5b4dee6e8e440dfa1737f7e38815097bec4c3a9} +5 -5
- package/vendor/impeccable/bundle/blobs/a569989e6a3d6453b4c45e9474e162a15cc54e11732ac6baa7990a6e7cccc0b5 +21 -0
- package/vendor/impeccable/bundle/blobs/a75b892696469e3ccd2af33c9eef793e635efc3c5ac45336b0c1373d90c856b0 +63 -0
- package/vendor/impeccable/bundle/blobs/{3ba92d4aa840ec1b6c2fda224339489d6dd65eedf43bb45836af02584d1faa88 → a7e8e60df83c6f47590467094ab2a13f1fe28ce45959a4e69dd89575a4208646} +5 -0
- package/vendor/impeccable/bundle/blobs/{e49d2b0110c55751da3c965b4ae4d294aa676c961a09f8efbbbf22c1ec7c4fa0 → a892e337eee548d53252abb72ba5aa85cbcf556ffd8dc74e05534652c010d574} +1 -1
- package/vendor/impeccable/bundle/blobs/{8f0867db7c6f6a54348a0d951f198a1bd852cd12505d821e6e1ac6bd42e7fcea → a93397adc906e245c69b42d4b25931fc92dc75baa60ca9a3749ba23b52ba01a0} +3 -2
- package/vendor/impeccable/bundle/blobs/{424b2e75cb204e2dca7db4a40dfe5a81f78dc0fc58ac4790e8b7bbf2f330bba4 → a9e63b2df611805e845e0bb1cca1a0c27e83640a78185c9fd9de90d53a539cdc} +5 -0
- package/vendor/impeccable/bundle/blobs/ab80e6a971baa66342548a846ce3fb69824ef9ef4e0f26c6f02685f225d00bbd +26 -0
- package/vendor/impeccable/bundle/blobs/af35b5fb6e45acb6483a5fbb864c3eaa9c57bacc43857f48183c836041c670ae +101 -0
- package/vendor/impeccable/bundle/blobs/af5842c4844b692b817319d5375611d4211dc7f459fb12da358baefc3a6cd373 +63 -0
- package/vendor/impeccable/bundle/blobs/b2732083f8f1d1924d38f84f179491430aebda8e0fd1f1d0785e3f883bcf3a40 +63 -0
- package/vendor/impeccable/bundle/blobs/b3b1d5a4c80ce279d88896601deee9ccfeacdae0d0cd433600985a5f7ac93c72 +26 -0
- package/vendor/impeccable/bundle/blobs/{fd5579dbae1fc2495b7dddde48df9673acebd27953bbb56d506d3b470375c9e9 → b4be5499f404a926cdd2c55d8fb7409ba74a56b3d0c7d865594cc0254d3e499a} +5 -0
- package/vendor/impeccable/bundle/blobs/{2fd096823e4a93f19edd421a69e10f90ebb630a014c673d1802a927c6f47b7d2 → b626e0677288a1660e9ce80c4f0454b527010239681f6b8dcc0f36b4a4d6bcb2} +3 -1
- package/vendor/impeccable/bundle/blobs/{33b6b32c0c3c0c4a2b22bd2275176b1c88a006dd94592a854f629911a0b21cdc → b719be9c5d4ced5d649ec6c0c90630196e7ee513d0da482aef13c705fdc23ab6} +3 -1
- package/vendor/impeccable/bundle/blobs/{df0eb9e9a484fc7b8a0f3e50573a7d7f81e0f17598ac30d9f3fe5a6c6aa5fefa → b8938fea3399aa639b4c873248035c219658069eef7be62672254e2f72c056f4} +5 -0
- package/vendor/impeccable/bundle/blobs/{ee0a15fcfc244b76b896a2650a17b35e444d4311166b69a3cfa32d11f8f44851 → ba0d96d88ab40fad1cb522e60b11affc568cfe9d340110ac5e71f834ac3d0f4a} +12 -0
- package/vendor/impeccable/bundle/blobs/{426c7f5437dd3c23a4cfaef6964dc7f1e038480f92238499b85f3ce7e4472bf4 → bc48bca63dff44e1f0205bafb64e16b2d6fb294ace405dbc9ae06a3bc6107154} +3 -1
- package/vendor/impeccable/bundle/blobs/{c3ad2a5fa570876af6645c48d246c664859e19f253d2dc9e0ead34e785d5b40a → bdd676c8f29295addfdbceaab285bb1184ec3ef7ff60501908b97ea8269580c4} +3 -2
- package/vendor/impeccable/bundle/blobs/{38d4d404030c6ea935d3223db1eeb22c45d04a94f41f98e02a43cdc5af7ff2e3 → c06effcdc60859157208d3b7ee23d56160f2386f6a2dfa2514ba82fe21828ae0} +1 -1
- package/vendor/impeccable/bundle/blobs/c100b67a4ae248ad564182b181acb1ee2fe64c00049aeef62d4e7a3213726f37 +26 -0
- package/vendor/impeccable/bundle/blobs/c2dfc965319745c403b99e00e9e97de15f1300ea721bd3f708f0ac47aadc537b +101 -0
- package/vendor/impeccable/bundle/blobs/{e9da72a13eb3411d6bbb316953022f62abc4434f505e5345907b216eda9f793b → c6b3bc811eb23d90ff9add1e0e5b40999a0bbbab364f5e6d08061f36d30429a5} +1 -1
- package/vendor/impeccable/bundle/blobs/{82a5e564563333aabb7ab4d2f8c26c785dfe2c2416ac6e9f30cba31440676194 → cdf8a88b9865599c58fe285041d2d46eea7d9bd2d4075d82de358191742b20ad} +5 -5
- package/vendor/impeccable/bundle/blobs/cf3d3a296890ac1ee363fee930f252e20d0935cd575367ad017b3cdc2dc5a50d +26 -0
- package/vendor/impeccable/bundle/blobs/{a1e4febca3455787d7c753fe177a150dccde6e742957de400b0307247802d200 → d2e16da9bb6b33c931378d1bf57dcfff5dc426a71434bc352cec6aece715a66f} +18 -11
- package/vendor/impeccable/bundle/blobs/{c36f6aac0ddf52eabbb21df09fd3310540dca6b09e7a4017d18e94c06c469405 → d4a9e18a879bbb92aa0a56e16b45481090dffa4470efdecf52fb0da8c900be5d} +5 -5
- package/vendor/impeccable/bundle/blobs/{869fa5390b84bfd00d072f5280a9002ea3e3936edf5985241be641a87f03ff7b → d57c3e0453f601ad688911fca4471057c7b46b561fcd42a1e12a581101c5186c} +1 -1
- package/vendor/impeccable/bundle/blobs/{910461b1c1f8216155165955c860a884a1e2f557cb38f21ef512ea90ef6503c2 → d5f83912eda93d42f93522bb74aeff0ea04d9c559577ec52fcccc130dd03166d} +2 -1
- package/vendor/impeccable/bundle/blobs/{9deb14303b421b5a9232755b5b9f317716f33e1e211557a98a00a9c409775c4d → d6489d7f3e607ce3f8514a7a7d3a0eb5e8f1ac55859eaf7d5c31b53de8fab9f3} +18 -11
- package/vendor/impeccable/bundle/blobs/{37080ea5e5b381adb7eae7a427231b0ad0dee0f0916fc1d6b673b7101a5b425b → d6a51f4df6d76f16b95ab81268a689f4c5936d505c5bb25c80ad7423f927bbc6} +5 -0
- package/vendor/impeccable/bundle/blobs/{61c72fdde649bf7f2e0668e48f9d222666c81672100b5f2265940e7aa13c8767 → d7b99a57652cb8741d57a15ba7e06de4707fac02a97e5e001179da007272f2b8} +3 -1
- package/vendor/impeccable/bundle/blobs/{57402ef6fd9d0745f8c60d778f77da83a8b16edf751fa1013598a0f6e5f0f541 → d9963fd73bf6129fe0c8ec25c5148f50617ec85683b8eeae7e411c9a42e2db33} +2 -1
- package/vendor/impeccable/bundle/blobs/{581409ace104a81744b7d08f5398a2c207cf76d9e50751f807b4382eaf66454f → da3b2399814db89d67959268c646601957d3e8c641b09a5bdbce84217c1c2cfe} +5 -5
- package/vendor/impeccable/bundle/blobs/{249f0437a52ab3eb4bc4d4a9f38e085334c0fbb7795e88dd419e32b5f58c924d → dc3aeccbea3e997704ce8b170f56b0eaf343a14ad4fedb22a6dbee0f205aa37f} +5 -0
- package/vendor/impeccable/bundle/blobs/{433a79eee3ce4c99e79a7aebe3a6d8ec9ff70216772e0c2ff9dce3a01d672963 → dcc1572e739cdabcbf084f276b447cb686aa18459896e6d8fe29f4d7d807bd1d} +5 -5
- package/vendor/impeccable/bundle/blobs/{2d7086992c07df1fc734cdf9c420c4bd8ad409ab7909e07c8b486c303d420732 → dd66761b291c7dbca6e9efd22023e38f8c53ad310f3a6cdab5dc7ecd7ae8f31f} +3 -2
- package/vendor/impeccable/bundle/blobs/dd953992625c240fd1842aaf533a865aabd09487cbc16fa01fe8bb4b4365b843 +101 -0
- package/vendor/impeccable/bundle/blobs/{df4f14df1daaad1606b682995f649da19a85debf264092447b3b7ddb8b4bc1ce → de70398719140e4951aa111e9625de5ed916ad1ef0877e4ab6f6b4a7e3cc5f8f} +18 -11
- package/vendor/impeccable/bundle/blobs/{8b23562ccc3e41609ce6e67fdad6cc57b6c961964c329eff6975a1b4c5471c0d → deaaa533475b6a9f7dd52e01a1f1997aa3af146694334981650f8c846f939559} +3 -1
- package/vendor/impeccable/bundle/blobs/{041535231366047a0beeb5daa64ea9c23d5a566580f7dafdb8c0623cb4a7e76b → e07176229b8a330970ca3c9c5e3dd68c2aaeb726285e30f471e91053d7f8e798} +1 -1
- package/vendor/impeccable/bundle/blobs/{115e1c3f1b58b5129910ed925dbf65d61d5ac4c2036618847555ce40098aae97 → e1075ea5b34ac9c60f7c5bda97356eeaf1b683b599592d324fd3704f0852ad7a} +18 -11
- package/vendor/impeccable/bundle/blobs/e3af212117e0c552b0976687200fe8f95846a01725a482e8e4dbfd75e40dbfa6 +26 -0
- package/vendor/impeccable/bundle/blobs/e3c2031978cd670d7150ff3140f12cf8b6882ef638ea9a9985caffa9a80c8713 +63 -0
- package/vendor/impeccable/bundle/blobs/e6e18e7c23cfe82961d90b9714cb466c20bd83f222ac63e9339b6b2c304e1787 +26 -0
- package/vendor/impeccable/bundle/blobs/e7af7ad18b307a3171fcf49421df2a557f93289d27af2430f10ee74e2a2fc2d3 +101 -0
- package/vendor/impeccable/bundle/blobs/{b161198874e4e77599bc31691e78790be14bacc2eb03be168c8a7543ece9fbe1 → e85da3098368807689009184eca2bb09a91bdb6cb1be3e7a61f91f1ae31cd69b} +18 -11
- package/vendor/impeccable/bundle/blobs/{6bdbc3f745ceee15e10b050f109ce42bbeb53ab3c3b5239257de1d596654dee7 → e8720f3aa41135211cc58cc299a39eeda86c75651f4279cc1ede8db10dcc0584} +4 -0
- package/vendor/impeccable/bundle/blobs/e9861052457cc1ddc42c687bb8c33a877834ced94fed74af2a4f00f6bae50795 +101 -0
- package/vendor/impeccable/bundle/blobs/{d1faa55eb956033d28e9f27fd2bc2a9f62c5da0f0abd6534819cc0a04db54d9d → eb3e86876c20f1cfc443dcbe48d8f41fea6e815082a304610be432272429a06d} +5 -0
- package/vendor/impeccable/bundle/blobs/{0e1819750e5448311a051d35ab6d0be0830418f78ca872ef10469fafebb27d4f → eba472f6190541c28e2e647ed019f43564ba5b92d629963f34c899175b25b31e} +5 -5
- package/vendor/impeccable/bundle/blobs/{f173ff03f989f162cee815feb2d8ca72daf00019c48694d89db16d52171a79c0 → eba609589a5a051643a7bae60b7cceef7cfe44d0f8bd9229e61473ac75910fb3} +1 -1
- package/vendor/impeccable/bundle/blobs/{8eb466778023fccea641654d662157b123eeb360f4a0875bf6fbe3d93680851c → ec81b008d2641402e3352b09b1a90562ef7a24598d7c5aded475038cce63aca0} +1 -1
- package/vendor/impeccable/bundle/blobs/{4acfb9e38f6e09f7484e36fc19704d69eab159436ee9329168be74c493042f22 → ec86b8633fbeb14ef2272f220fdd98089972b03b99da83e49eeb6a8b73b00617} +3 -1
- package/vendor/impeccable/bundle/blobs/{d15a2914d93e07a4956acd5c8b8211af17380f527acd10d8acf4f4920badaaaf → ef2e97cd690baf6fe5c895dd2d8844aff9fcc4a8bc04973402678a739c81d712} +4 -3
- package/vendor/impeccable/bundle/blobs/f0fbe529f63961a027bada2e6a3cbe86f4af0dba4b8e1010da22b007f9002f66 +63 -0
- package/vendor/impeccable/bundle/blobs/{c02feba25a961a72647ad317aba2d65baeeed53c4cdcc072f25bb37f4d867d43 → f254d59ff973e907cacdc2c34b8b4de075437d292de31dac30e10a9d7035086c} +3 -2
- package/vendor/impeccable/bundle/blobs/f5efb1b1dd4cd18e1d4789d7c8e0188f4342b25fffd53af6088ba8b67774fb99 +26 -0
- package/vendor/impeccable/bundle/blobs/{7af0a8665057c83b39bca2c8c7427ef2343734f70d4128c377113a6726a1e3b1 → f68a3d68ac92606e91aa8878e003d9432ddd09aa97ca01c6b3ce46c937dca316} +524 -4
- package/vendor/impeccable/bundle/blobs/{381ff89aa76e82a0d98456ec31cb117555ae045539fba47c45056daa50f611ca → f84b653ede0804d21e6210c6d21fd5352023914fedceae6ff14e20f1e93b06e7} +5 -5
- package/vendor/impeccable/bundle/blobs/{5b30a06646ad5e453d6b5ed1b8d446f69fca3cd13b8aeda28f0d0b2cbe8f62d1 → fb32d99751c5fc24493ff4460be1767bd5236dc820fd337775067c0620d1a7a6} +3 -1
- package/vendor/impeccable/bundle/blobs/{733504a70ed20bcfca9c26c353f7b88f8491d24f3f2fe124dc1e73b28eefa296 → fb5fec24adafa48df43eece6907c1c986a4772cbdc64142c881f00c3b312e9ca} +18 -11
- package/vendor/impeccable/bundle/blobs/fc149b5bc7a8d0cc9b9bf86e5013793f3857c1c302212e9aaf101cb95427386b +101 -0
- package/vendor/impeccable/bundle/manifest.json +413 -298
- package/skills/grafton-view-dev/SKILL.md +0 -195
- package/skills/grafton-view-dev/references/bindings.md +0 -120
- package/skills/grafton-view-dev/references/components.md +0 -168
- package/skills/grafton-view-dev/references/recipes.md +0 -208
- package/skills/grafton-view-dev/references/schema.md +0 -86
- package/skills/grafton-view-dev/references/stores.md +0 -310
- package/skills/portal-backend-app/SKILL.md +0 -56
- package/skills/portal-backend-app/references/gate-and-tokens.md +0 -93
- package/skills/portal-backend-app/references/wiring-and-conventions.md +0 -71
- package/skills/xgent-init/references/external-app-CLAUDE.template.md +0 -249
- package/vendor/impeccable/bundle/blobs/800cf1c0392b24de7c0a1c6ea6778ecb433dec71c49a150bce96a98477527b2f +0 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# README
|
|
2
|
+
|
|
3
|
+
README 是项目的门面,读者多半是第一次来,只想在几分钟内回答三个问题:这是什么,跟我有没有关系,怎么跑起来。写的时候照着这三个问题排优先级,其余内容能链接出去就链接出去。
|
|
4
|
+
|
|
5
|
+
## 目录
|
|
6
|
+
|
|
7
|
+
- [先判断是哪种 README](#先判断是哪种-readme)
|
|
8
|
+
- [新建 README](#新建-readme)
|
|
9
|
+
- [更新 README](#更新-readme)
|
|
10
|
+
- [变更映射](#变更映射)
|
|
11
|
+
- [常见问题](#常见问题)
|
|
12
|
+
|
|
13
|
+
## 先判断是哪种 README
|
|
14
|
+
|
|
15
|
+
| 类型 | 重点 | 通常不需要 |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| 应用 / 服务 | 怎么在本地跑起来、依赖哪些服务、有哪些环境变量、端口 | 安装到别的项目里的说明 |
|
|
18
|
+
| 库 / SDK / CLI | 安装、最小可用示例、主要 API 或命令一览、兼容版本 | 部署说明 |
|
|
19
|
+
| monorepo 根目录 | 仓库是什么、子包地图、公共命令、去哪里找每个子包的文档 | 每个子包的细节 |
|
|
20
|
+
| monorepo 子包 | 这个包在整体里的位置、自己的启动与测试命令、和其他包的依赖 | 重复根 README 的通用说明,链接回去即可 |
|
|
21
|
+
|
|
22
|
+
monorepo 子包的 README 开头写一句它在整个仓库里是干什么的,并链接到根 README;公共的安装步骤不要再抄一遍。
|
|
23
|
+
|
|
24
|
+
## 新建 README
|
|
25
|
+
|
|
26
|
+
### 动笔前核实
|
|
27
|
+
|
|
28
|
+
- 项目名称和一句话定位:从 manifest 的 `name` / `description`、入口代码、已有文档里找。
|
|
29
|
+
- 运行时和版本:`engines`、`.nvmrc`、`.tool-versions`、`go.mod`、`pyproject.toml` 的 `requires-python`、Dockerfile 的 `FROM`。
|
|
30
|
+
- 命令:只写 `package.json` 的 `scripts`、`Makefile`、`justfile`、CI 配置里真实存在的。能跑的最好跑一下安装和启动命令确认;跑不了就不要编造输出。
|
|
31
|
+
- 环境变量:`.env.example` / `.env.template` / `.env.sample`,以及代码里读取环境变量的位置(`process.env.X`、`os.getenv`、`env.X` 的配置模块)。以代码实际读取的为准,模板里有但代码不用的,不写或注明。
|
|
32
|
+
- 端口、依赖服务(数据库、Redis、消息队列):从配置文件、docker-compose、启动脚本里找。
|
|
33
|
+
|
|
34
|
+
### 章节结构
|
|
35
|
+
|
|
36
|
+
按顺序,缺的就不写,不要为了完整留空章节:
|
|
37
|
+
|
|
38
|
+
1. **标题 + 一两句话**:是什么、给谁用、解决什么问题。不写口号。
|
|
39
|
+
2. **快速开始**:前置条件(带版本)→ 安装 → 配置 → 启动 → 怎么确认跑起来了(打开哪个地址、看到什么输出、调哪个健康检查接口)。每一步是一条可复制的命令。
|
|
40
|
+
3. **用法**:最常见的一两个场景的真实例子。库给代码示例,服务给一个请求示例,CLI 给一条命令和它的输出。
|
|
41
|
+
4. **配置**:环境变量用表格,列「变量 | 必填 | 默认值 | 说明」。默认值从代码里取。
|
|
42
|
+
5. **开发**:测试、lint、类型检查、构建命令;怎么只跑一个测试。
|
|
43
|
+
6. **项目结构**:只在目录不直观时写,每个目录一行说明,只列重要的。
|
|
44
|
+
7. **更多文档**:API 文档、架构文档、用户手册的链接。
|
|
45
|
+
8. **贡献 / 许可证**:仓库里有 `CONTRIBUTING`、`LICENSE` 才写,一两行加链接。
|
|
46
|
+
|
|
47
|
+
徽章(CI 状态、覆盖率、版本)只在对应服务真实存在时加,不加装饰性徽章。截图只用仓库里已有的图片或用户提供的;没有就不放,不要写一个指向不存在文件的图片链接。
|
|
48
|
+
|
|
49
|
+
### 例子
|
|
50
|
+
|
|
51
|
+
不好的开头:
|
|
52
|
+
|
|
53
|
+
> 🚀 **Invoice Service** 是一款强大的、一站式的发票管理解决方案,致力于为企业赋能,助力财务数字化转型!
|
|
54
|
+
|
|
55
|
+
好的开头(虚构项目,仅示意写法):
|
|
56
|
+
|
|
57
|
+
> Invoice Service 负责开票、作废和红冲,供订单系统和财务后台调用。它从订单服务拉取已支付订单,按税率配置生成发票,再推送到税务平台;本地开发需要 PostgreSQL 15 和一个 Redis。
|
|
58
|
+
|
|
59
|
+
## 更新 README
|
|
60
|
+
|
|
61
|
+
1. 通读现有 README,记下它的结构、语气、术语、emoji 与格式习惯。
|
|
62
|
+
2. 找出变化:用户描述的改动、`git diff`、`git log -p --since=<上次更新> -- <相关路径>`。README 本身的最后修改时间可以用 `git log -1 --format=%ad -- README.md` 查,之后的提交都是候选。
|
|
63
|
+
3. 用下面的「变更映射」确定要动哪些章节。
|
|
64
|
+
4. 逐条核对现有 README 里的每条命令、每个环境变量、每个版本号是否还成立,过时的改掉或删掉。
|
|
65
|
+
5. 保持原有风格。原文用 emoji 的继续用,原文用英文标题的继续用英文标题。新增内容和原文读起来要像一个人写的。
|
|
66
|
+
6. 缺失但重要的章节(例如没有环境变量说明)可以补,补之前在交付说明里说明为什么补。
|
|
67
|
+
|
|
68
|
+
## 变更映射
|
|
69
|
+
|
|
70
|
+
| 代码里的变化 | README 里要看的地方 |
|
|
71
|
+
|---|---|
|
|
72
|
+
| 新增 / 删除依赖、升级运行时版本 | 前置条件、安装 |
|
|
73
|
+
| `package.json` scripts、`Makefile` 目标变化 | 快速开始、开发 |
|
|
74
|
+
| `.env.example` 或代码读取的环境变量变化 | 配置 |
|
|
75
|
+
| `docker-compose.yml`、依赖服务变化 | 快速开始(要先起哪些服务) |
|
|
76
|
+
| 新增 / 删除路由、命令、公开 API | 用法、功能概述、API 文档链接 |
|
|
77
|
+
| 端口、默认地址变化 | 快速开始里的访问地址 |
|
|
78
|
+
| 目录重组、包拆分或合并 | 项目结构、monorepo 子包地图 |
|
|
79
|
+
| 新功能上线、旧功能下线 | 功能概述、用法;下线的要删掉,不要只加不减 |
|
|
80
|
+
| 许可证、贡献流程变化 | 许可证、贡献 |
|
|
81
|
+
|
|
82
|
+
同一个改动如果还影响 API 文档或用户手册,一并提醒用户,或者按对应参考文件一起更新。
|
|
83
|
+
|
|
84
|
+
## 常见问题
|
|
85
|
+
|
|
86
|
+
- **README 写成了架构文档**:README 里的架构说明控制在一段话加一张简图以内,细节链接到架构文档。
|
|
87
|
+
- **把所有环境变量都列进来**:只列运行需要配置的;内部调试用的开关放到开发文档里。
|
|
88
|
+
- **快速开始跑不通**:最常见的原因是漏了前置服务(数据库没起)、漏了迁移、漏了 `.env` 复制。按一个全新环境的视角从头走一遍步骤。
|
|
89
|
+
- **只加不删**:删掉已经不存在的命令、参数和功能描述,比加新内容更重要。
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# 技术栈识别
|
|
2
|
+
|
|
3
|
+
技术栈不明确时读这份:多种 manifest 并存、文件扩展名陌生、找不到明显的 `package.json` / `go.mod`。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Manifest 文件 → 生态
|
|
8
|
+
|
|
9
|
+
| 文件 | 生态 | 重点看的字段 |
|
|
10
|
+
|------|-----------|--------------------|
|
|
11
|
+
| `package.json` | Node.js / JavaScript / TypeScript | `dependencies`, `devDependencies`, `scripts`, `main`, `type`, `engines` |
|
|
12
|
+
| `go.mod` | Go | Module path, Go version, `require` block |
|
|
13
|
+
| `requirements.txt` | Python (pip) | Package list with pinned versions |
|
|
14
|
+
| `Pipfile` | Python (pipenv) | `[packages]`, `[dev-packages]`, `[requires]` python version |
|
|
15
|
+
| `pyproject.toml` | Python (poetry / uv / hatch) | `[tool.poetry.dependencies]`, `[project]`, `[build-system]` |
|
|
16
|
+
| `setup.py` / `setup.cfg` | Python (setuptools, legacy) | `install_requires`, `python_requires` |
|
|
17
|
+
| `Cargo.toml` | Rust | `[dependencies]`, `[[bin]]`, `[lib]` |
|
|
18
|
+
| `pom.xml` | Java / Kotlin (Maven) | `<dependencies>`, `<artifactId>`, `<groupId>`, `<java.version>` |
|
|
19
|
+
| `build.gradle` / `build.gradle.kts` | Java / Kotlin (Gradle) | `dependencies {}`, `sourceCompatibility` |
|
|
20
|
+
| `composer.json` | PHP | `require`, `require-dev` |
|
|
21
|
+
| `Gemfile` | Ruby | `gem` declarations, `ruby` version constraint |
|
|
22
|
+
| `mix.exs` | Elixir | `deps/0`, `elixir: "~> X.Y"` |
|
|
23
|
+
| `pubspec.yaml` | Dart / Flutter | `dependencies`, `dev_dependencies`, `environment.sdk` |
|
|
24
|
+
| `*.csproj` | .NET / C# | `<PackageReference>`, `<TargetFramework>` |
|
|
25
|
+
| `*.sln` | .NET solution | References multiple `.csproj` projects |
|
|
26
|
+
| `deno.json` / `deno.jsonc` | Deno (TypeScript runtime) | `imports`, `tasks` |
|
|
27
|
+
| `bun.lockb` | Bun (JavaScript runtime) | Binary lockfile — check `package.json` for deps |
|
|
28
|
+
| `bun.lock` | Bun (JavaScript runtime) | Text lockfile (Bun 1.2+) — check `package.json` for deps |
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 运行时版本在哪里
|
|
33
|
+
|
|
34
|
+
| 语言 | 版本写在哪 |
|
|
35
|
+
|----------|--------------------------|
|
|
36
|
+
| Node.js | `.nvmrc`, `.node-version`, `engines.node` in `package.json`, Docker `FROM node:X` |
|
|
37
|
+
| Python | `.python-version`, `pyproject.toml [requires-python]`, Docker `FROM python:X` |
|
|
38
|
+
| Go | First line of `go.mod` (`go 1.21`) |
|
|
39
|
+
| Java | `<java.version>` in `pom.xml`, `sourceCompatibility` in `build.gradle`, Docker `FROM eclipse-temurin:X` |
|
|
40
|
+
| Ruby | `.ruby-version`, `Gemfile` `ruby 'X.Y.Z'` |
|
|
41
|
+
| Rust | `rust-toolchain.toml`, `rust-toolchain` file |
|
|
42
|
+
| .NET | `<TargetFramework>` in `.csproj` (e.g., `net8.0`) |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 框架识别(Node.js / TypeScript)
|
|
47
|
+
|
|
48
|
+
| `package.json` 里的依赖 | 框架 |
|
|
49
|
+
|-----------------------------|-----------|
|
|
50
|
+
| `express` | Express.js (minimal HTTP server) |
|
|
51
|
+
| `fastify` | Fastify (high-performance HTTP server) |
|
|
52
|
+
| `next` | Next.js (SSR/SSG React — check for `pages/` or `app/` directory) |
|
|
53
|
+
| `nuxt` | Nuxt.js (SSR/SSG Vue) |
|
|
54
|
+
| `@nestjs/core` | NestJS (opinionated Node.js framework with DI) |
|
|
55
|
+
| `koa` | Koa (middleware-focused, no built-in router) |
|
|
56
|
+
| `@hapi/hapi` | Hapi |
|
|
57
|
+
| `hono` | Hono (lightweight, multi-runtime HTTP framework) |
|
|
58
|
+
| `elysia` | Elysia (Bun-first HTTP framework, TypeBox schemas via `t`) |
|
|
59
|
+
| `@trpc/server` | tRPC (type-safe API without REST/GraphQL schemas) |
|
|
60
|
+
| `routing-controllers` | routing-controllers (decorator-based Express wrapper) |
|
|
61
|
+
| `typeorm` | TypeORM (SQL ORM with decorators) |
|
|
62
|
+
| `prisma` | Prisma (type-safe ORM, check `prisma/schema.prisma`) |
|
|
63
|
+
| `mongoose` | Mongoose (MongoDB ODM) |
|
|
64
|
+
| `sequelize` | Sequelize (SQL ORM) |
|
|
65
|
+
| `drizzle-orm` | Drizzle (lightweight SQL ORM) |
|
|
66
|
+
| `react` without `next` | Vanilla React SPA (check for `react-router-dom`) |
|
|
67
|
+
| `vue` without `nuxt` | Vanilla Vue SPA |
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 框架识别(Python)
|
|
72
|
+
|
|
73
|
+
| 包 | 框架 |
|
|
74
|
+
|---------|-----------|
|
|
75
|
+
| `fastapi` | FastAPI (async REST, auto OpenAPI docs) |
|
|
76
|
+
| `flask` | Flask (minimal WSGI web framework) |
|
|
77
|
+
| `django` | Django (batteries-included, check `settings.py`) |
|
|
78
|
+
| `starlette` | Starlette (ASGI, often used as FastAPI base) |
|
|
79
|
+
| `aiohttp` | aiohttp (async HTTP client and server) |
|
|
80
|
+
| `sqlalchemy` | SQLAlchemy (SQL ORM; check for `alembic` migrations) |
|
|
81
|
+
| `alembic` | Alembic (SQLAlchemy migration tool) |
|
|
82
|
+
| `pydantic` | Pydantic (data validation; core to FastAPI) |
|
|
83
|
+
| `celery` | Celery (distributed task queue) |
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Monorepo 识别
|
|
88
|
+
|
|
89
|
+
按顺序检查这些信号:
|
|
90
|
+
|
|
91
|
+
1. `pnpm-workspace.yaml` — pnpm workspaces
|
|
92
|
+
2. `lerna.json` — Lerna monorepo
|
|
93
|
+
3. `nx.json` — Nx monorepo (also check `workspace.json`)
|
|
94
|
+
4. `turbo.json` — Turborepo
|
|
95
|
+
5. `rush.json` — Rush (Microsoft monorepo manager)
|
|
96
|
+
6. `moon.yml` — Moon
|
|
97
|
+
7. `package.json` with `"workspaces": [...]` — npm/yarn workspaces
|
|
98
|
+
8. Presence of `packages/`, `apps/`, `libs/`, or `services/` directories with their own `package.json`
|
|
99
|
+
|
|
100
|
+
确认是 monorepo 后:每个 workspace 的依赖和约定可能**各自独立**。在 `STACK.md` 里分别写每个子包,在 `STRUCTURE.md` 里说明 monorepo 结构。
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## TypeScript 路径别名
|
|
105
|
+
|
|
106
|
+
`tsconfig.json` 里有 `paths` 时,非相对路径前缀的导入是别名。写结构前先映射成真实路径。
|
|
107
|
+
|
|
108
|
+
```json
|
|
109
|
+
// tsconfig.json 示例
|
|
110
|
+
"paths": {
|
|
111
|
+
"@/*": ["./src/*"],
|
|
112
|
+
"@components/*": ["./src/components/*"],
|
|
113
|
+
"@utils/*": ["./src/utils/*"]
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
`import { foo } from '@/utils/bar'` 实际指向 `src/utils/bar`。文档里写 `src/utils/bar`,不写 `@/utils/bar`。
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Docker 基础镜像 → 运行时
|
|
122
|
+
|
|
123
|
+
没有 manifest 但有 `Dockerfile` 时,`FROM` 行能看出运行时:
|
|
124
|
+
|
|
125
|
+
| FROM 行 | 运行时 |
|
|
126
|
+
|------------------|---------|
|
|
127
|
+
| `FROM node:X` | Node.js X |
|
|
128
|
+
| `FROM python:X` | Python X |
|
|
129
|
+
| `FROM golang:X` | Go X |
|
|
130
|
+
| `FROM eclipse-temurin:X` | Java X (Eclipse Temurin JDK) |
|
|
131
|
+
| `FROM mcr.microsoft.com/dotnet/aspnet:X` | .NET X |
|
|
132
|
+
| `FROM ruby:X` | Ruby X |
|
|
133
|
+
| `FROM rust:X` | Rust X |
|
|
134
|
+
| 只有 `FROM alpine` | 看 `RUN apk add` 装了什么 |
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# 用户手册、教程与操作指南
|
|
2
|
+
|
|
3
|
+
读者是用产品的人,不是写代码的人:业务用户、管理员、运营,或者部署维护系统的运维。他们不关心代码在哪,只关心「我要做 X,该点哪里、填什么、会发生什么」。但手册里的每句话仍然要从代码里核实,因为界面上的按钮名、字段限制、权限规则都写在代码里,凭印象写的手册会和产品对不上。
|
|
4
|
+
|
|
5
|
+
## 目录
|
|
6
|
+
|
|
7
|
+
- [先定读者和文档类型](#先定读者和文档类型)
|
|
8
|
+
- [从代码里取事实](#从代码里取事实)
|
|
9
|
+
- [手册结构](#手册结构)
|
|
10
|
+
- [写步骤的规矩](#写步骤的规矩)
|
|
11
|
+
- [截图和图](#截图和图)
|
|
12
|
+
- [运维手册](#运维手册)
|
|
13
|
+
- [自检](#自检)
|
|
14
|
+
|
|
15
|
+
## 先定读者和文档类型
|
|
16
|
+
|
|
17
|
+
| 读者 | 典型文档 | 语气 |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| 第一次用的业务用户 | 快速上手教程 | 一步一个结果,不讲原理 |
|
|
20
|
+
| 日常使用者 | 按任务组织的操作指南 | 直接给步骤 |
|
|
21
|
+
| 管理员 | 配置与权限指南 | 讲清每个设置的影响范围 |
|
|
22
|
+
| 运维 | 部署、升级、备份、故障处理手册 | 命令精确,写清前置条件和回滚方式 |
|
|
23
|
+
|
|
24
|
+
不同角色看到的界面和能做的事不同。按角色区分章节,或者在每个操作开头写明「需要的角色」。
|
|
25
|
+
|
|
26
|
+
## 从代码里取事实
|
|
27
|
+
|
|
28
|
+
| 要写的 | 去哪里找 |
|
|
29
|
+
|---|---|
|
|
30
|
+
| 页面和菜单的名字、入口路径 | 前端路由配置、导航 / 菜单定义、页面组件 |
|
|
31
|
+
| 按钮、字段、提示文字的**原文** | 国际化文件(`locales/`、`i18n/`、`messages/`);没有 i18n 就看组件里的字面量。界面文字要和产品完全一致,不要意译 |
|
|
32
|
+
| 字段是否必填、长度、格式、取值范围 | 前端表单校验和后端校验 schema,两边不一致时以更严的为准,并告诉用户这个不一致 |
|
|
33
|
+
| 谁能做什么 | 权限 / 角色定义、路由守卫、后端鉴权中间件 |
|
|
34
|
+
| 操作之后会发生什么 | 后端 handler:状态变化、通知、邮件、审批流转 |
|
|
35
|
+
| 状态和流转规则 | 状态枚举、状态机代码 |
|
|
36
|
+
| 报错提示和原因 | 错误码表、i18n 里的错误文案、抛出错误的地方 |
|
|
37
|
+
| 数量限制、配额 | 常量、套餐配置、租户设置 |
|
|
38
|
+
|
|
39
|
+
写之前可以在交付说明里列出「手册依据的代码位置」,但手册正文里不放文件路径和行号,读者用不上。
|
|
40
|
+
|
|
41
|
+
## 手册结构
|
|
42
|
+
|
|
43
|
+
按 Diátaxis 分成几块,各写各的,不要在教程里插长篇解释,也不要在参考表里夹操作步骤:
|
|
44
|
+
|
|
45
|
+
1. **概述**:这个产品或模块能帮你做什么,适合谁用,一两段话。列出主要功能,每项一句话。
|
|
46
|
+
2. **快速上手(教程)**:带新用户完整走通一件最典型的事,从登录或打开页面开始,到看到结果为止。只走一条路,不讲分支。
|
|
47
|
+
3. **操作指南**:按任务组织,标题用动词开头,写用户要做的事:「提交工时」「审批请假」「导出月度报表」,不用「工时模块介绍」。每个任务独立成节,读者可以直接跳过去看。
|
|
48
|
+
4. **参考**:字段说明表、状态说明表、角色权限表、限制与配额。
|
|
49
|
+
5. **常见问题与故障排查**:从错误提示反推,写「看到 X 提示 → 原因 → 怎么办」。只写代码里真实存在的错误,不编造问题。
|
|
50
|
+
|
|
51
|
+
小产品可以合并成一篇;功能多的按模块拆成多篇,加一个目录页。
|
|
52
|
+
|
|
53
|
+
## 写步骤的规矩
|
|
54
|
+
|
|
55
|
+
- 一步一个动作,用祈使句:「点击「提交」。」不写「用户可以通过点击提交按钮来完成提交操作」。
|
|
56
|
+
- 界面文字用「」括起来(英文文档用 **粗体**),和产品上的文字一字不差。
|
|
57
|
+
- 路径写全:「进入「设置」→「团队成员」」。
|
|
58
|
+
- 关键步骤后写预期结果:「页面顶部出现「已提交,等待审批」。」读者靠它确认自己没走错。
|
|
59
|
+
- 有前置条件的写在最前面:需要的角色、需要先完成的配置。
|
|
60
|
+
- 可能出错的地方就地提醒,一句话说清原因和解决办法,不要全堆到最后。
|
|
61
|
+
- 不写「只需」「轻松」「简单地」,对卡住的读者来说这些词没用,还让人烦。
|
|
62
|
+
- 字段说明写「填什么、格式、限制」,不写「请填写正确的值」。
|
|
63
|
+
|
|
64
|
+
例子:
|
|
65
|
+
|
|
66
|
+
> **提交报销单**
|
|
67
|
+
>
|
|
68
|
+
> 需要的角色:员工
|
|
69
|
+
>
|
|
70
|
+
> 1. 在左侧菜单点击「费用报销」,再点击右上角「新建报销」。
|
|
71
|
+
> 2. 选择「费用类型」,填写「金额」。金额最多两位小数,单笔不超过 50,000。
|
|
72
|
+
> 3. 在「附件」里上传发票图片,支持 JPG、PNG、PDF,单个文件不超过 10 MB。
|
|
73
|
+
> 4. 点击「提交审批」。
|
|
74
|
+
>
|
|
75
|
+
> 提交后报销单状态变为「审批中」,不能再修改。需要修改的话,请审批人点击「退回」。
|
|
76
|
+
|
|
77
|
+
(示例为虚构产品,只示意写法。)
|
|
78
|
+
|
|
79
|
+
## 截图和图
|
|
80
|
+
|
|
81
|
+
- 截图不能编造。仓库里已有截图,或者用户提供了,才引用。需要截图但没有的,在对应位置写 `[TODO: 截图 - 「页面名」页面,标出「按钮名」]`,交付时统一告诉用户要补哪些。
|
|
82
|
+
- 能在本地把应用跑起来、并且有浏览器自动化工具时,可以自己截图;截图里不要出现真实的个人信息。
|
|
83
|
+
- 流程类内容(审批流、提交流程)和状态类内容(单据状态流转)适合配图,按 SKILL.md 的「出图」一节处理:审批流、多角色协作流程用 archify 的 `workflow`,状态流转用 `lifecycle`;没有 archify 用 Mermaid。面向业务用户的图,节点名用界面上的叫法,不用代码里的枚举名。
|
|
84
|
+
|
|
85
|
+
## 运维手册
|
|
86
|
+
|
|
87
|
+
读者是部署和维护系统的人,要求和用户手册不同:
|
|
88
|
+
|
|
89
|
+
- 每个操作写清:前置条件、完整命令、预期输出、怎么确认成功、失败了怎么回滚。
|
|
90
|
+
- 命令只写在脚本、CI、部署配置里真实存在的;环境相关的值(主机名、路径)用占位符并说明从哪里取。
|
|
91
|
+
- 按场景组织:首次部署、升级、备份与恢复、扩容、常见故障处理、日志在哪看。
|
|
92
|
+
- 危险操作(删数据、重置、迁移)单独标出来,写清影响范围。
|
|
93
|
+
- 部署拓扑、发布流程适合配图:拓扑用 archify 的 `architecture`,发布步骤用 `workflow`。
|
|
94
|
+
|
|
95
|
+
## 自检
|
|
96
|
+
|
|
97
|
+
- [ ] 每个界面文字都和 i18n 文件或组件里的原文一致
|
|
98
|
+
- [ ] 每个操作写了需要的角色
|
|
99
|
+
- [ ] 字段限制和校验代码一致
|
|
100
|
+
- [ ] 教程从头到尾走得通,没有跳步
|
|
101
|
+
- [ ] 常见问题里的每个错误提示在代码里都能找到
|
|
102
|
+
- [ ] 没有编造的截图链接
|
|
103
|
+
- [ ] 正文没有文件路径和行号
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
# 写作风格:去 AI 味
|
|
2
|
+
|
|
3
|
+
AI 写的技术文档有一股很好认的味道:每节一个模子、形容词堆砌、什么都「强大」「无缝」、结尾必有总结。读者一闻到这个味道,就会怀疑内容也是凑的,哪怕事实都对。
|
|
4
|
+
|
|
5
|
+
技术文档去 AI 味,方向和散文不一样。散文靠加观点、加个性、加第一人称;技术文档靠**具体、直接、可核对**:用数字代替形容词,用行为代替评价,用读者要做的动作代替空泛的介绍。参考文档不需要个性,需要的是准确和一致。
|
|
6
|
+
|
|
7
|
+
## 目录
|
|
8
|
+
|
|
9
|
+
- [1. 结构的模子](#1-结构的模子)
|
|
10
|
+
- [2. 夸大和宣传腔](#2-夸大和宣传腔)
|
|
11
|
+
- [3. AI 高频词](#3-ai-高频词)
|
|
12
|
+
- [4. 句法层面的习惯](#4-句法层面的习惯)
|
|
13
|
+
- [5. 节奏和格式](#5-节奏和格式)
|
|
14
|
+
- [6. 含糊、填充、聊天腔](#6-含糊填充聊天腔)
|
|
15
|
+
- [7. 连接词](#7-连接词)
|
|
16
|
+
- [8. 技术文档特有的毛病](#8-技术文档特有的毛病)
|
|
17
|
+
- [技术文档里合适的「人味」](#技术文档里合适的人味)
|
|
18
|
+
- [该保留的](#该保留的)
|
|
19
|
+
- [改写示例](#改写示例)
|
|
20
|
+
- [快速自检](#快速自检)
|
|
21
|
+
|
|
22
|
+
## 1. 结构的模子
|
|
23
|
+
|
|
24
|
+
AI 喜欢套公式。最显眼,先改。
|
|
25
|
+
|
|
26
|
+
**症状**
|
|
27
|
+
- 每节都是「引入一句 + 三点列表 + 小结一句」
|
|
28
|
+
- 每节结尾都有「总之」「由此可见」「这意味着」
|
|
29
|
+
- 每个列表恰好三条,或者条数都一样
|
|
30
|
+
- 文末固定来一节「总结与展望」「未来规划」「挑战与机遇」
|
|
31
|
+
- 「尽管 X 很强,但也面临挑战……尽管如此,X 仍然……」这种来回绕
|
|
32
|
+
|
|
33
|
+
**改法**
|
|
34
|
+
- 节的长短跟着内容走。有的节两句话,有的节一整页。
|
|
35
|
+
- 讲完就停,不给每节系蝴蝶结。
|
|
36
|
+
- 列表条数就是真实的条数,四条就四条,一条就别用列表。
|
|
37
|
+
- 删掉总结、展望式结尾。真有后续计划,写具体的:「v2.0 计划移除 `legacyAuth`,见 #123」。
|
|
38
|
+
|
|
39
|
+
## 2. 夸大和宣传腔
|
|
40
|
+
|
|
41
|
+
技术文档不是新闻稿。
|
|
42
|
+
|
|
43
|
+
**中文**:赋能、助力、打造、构建(滥用时)、一站式、全方位、多维度、全链路(非技术含义时)、极致、卓越、领先、业界一流、革命性、颠覆、重塑、引领、里程碑、具有重要意义、至关重要、不可或缺、坚实的基础、保驾护航、为……注入新活力、开启……新篇章
|
|
44
|
+
|
|
45
|
+
**英文**:stands as / serves as a testament、pivotal、groundbreaking、revolutionize、cutting-edge、world-class、best-in-class、game-changer、state-of-the-art、marks a shift、setting the stage for
|
|
46
|
+
|
|
47
|
+
**改法**:不是换个近义词,而是删掉,换成事实。删完句子不成立,说明原来就没有内容。
|
|
48
|
+
|
|
49
|
+
> 改前:本平台致力于为企业打造一站式、全方位的数据治理解决方案,助力企业数字化转型。
|
|
50
|
+
>
|
|
51
|
+
> 改后:本平台从 MySQL、PostgreSQL 和 Kafka 采集元数据,按表和字段记录血缘,字段变更时通知下游负责人。
|
|
52
|
+
|
|
53
|
+
## 3. AI 高频词
|
|
54
|
+
|
|
55
|
+
单独出现一次不算问题,扎堆出现就是味道。
|
|
56
|
+
|
|
57
|
+
### 中文
|
|
58
|
+
|
|
59
|
+
| AI 常用 | 改成 |
|
|
60
|
+
|---|---|
|
|
61
|
+
| 旨在、致力于 | 直接说做什么:「用于」「负责」,或者删掉 |
|
|
62
|
+
| 扮演着……的角色、发挥着……的作用、起到……作用 | 「是」「负责」「用来」 |
|
|
63
|
+
| 强大的、丰富的、灵活的、高效的 | 删掉,或者给出具体能力、数字 |
|
|
64
|
+
| 无缝集成、无缝衔接 | 说清怎么集成:「通过 Webhook 推送」 |
|
|
65
|
+
| 显著提升、极大地提高、大幅优化 | 给数字:「P99 从 800 ms 降到 120 ms」;没有数字就删 |
|
|
66
|
+
| 深入探讨、全面解析、一文读懂 | 删掉,直接开始讲 |
|
|
67
|
+
| 核心、关键(一段里出现多次) | 留一个真正核心的,其余删 |
|
|
68
|
+
| 生态(非技术含义)、闭环、抓手、底层逻辑、颗粒度、沉淀、打通 | 说具体的东西 |
|
|
69
|
+
| 开箱即用 | 确实零配置可用才写,否则写需要哪些配置 |
|
|
70
|
+
| 高性能、高可用、高扩展 | 有测试数据或部署设计支撑才写,并给出依据 |
|
|
71
|
+
|
|
72
|
+
### 英文
|
|
73
|
+
|
|
74
|
+
| AI 常用 | 改成 |
|
|
75
|
+
|---|---|
|
|
76
|
+
| delve into | look at,或者删掉 |
|
|
77
|
+
| leverage、harness、utilize | use |
|
|
78
|
+
| seamless、seamlessly | 说清怎么连 |
|
|
79
|
+
| robust、comprehensive、powerful | 删掉,或给具体能力 |
|
|
80
|
+
| streamline | simplify、cut steps |
|
|
81
|
+
| navigate(比喻) | handle、deal with |
|
|
82
|
+
| landscape、realm、ecosystem(非技术) | 删掉或说具体领域 |
|
|
83
|
+
| myriad、plethora | many |
|
|
84
|
+
| facilitate | help、let |
|
|
85
|
+
| empower | let、allow |
|
|
86
|
+
| tapestry、testament、paradigm shift | 删掉 |
|
|
87
|
+
|
|
88
|
+
## 4. 句法层面的习惯
|
|
89
|
+
|
|
90
|
+
**绕开「是」**:「作为……而存在」「扮演着……的角色」「构成了……的基础」扎堆出现,就改回「是」「有」「负责」。英文的 serves as、stands as、functions as、boasts 同理。
|
|
91
|
+
|
|
92
|
+
**空洞的尾巴**:句子结尾挂一个「从而……」「进而……」「体现了……」「彰显了……」「为……奠定了基础」,英文是 highlighting、underscoring、ensuring、fostering。删掉,或者拆成单独一句并给出依据。
|
|
93
|
+
|
|
94
|
+
> 改前:该模块采用事件驱动架构,从而实现了各服务之间的解耦,进而提升了系统的可维护性。
|
|
95
|
+
>
|
|
96
|
+
> 改后:订单服务处理完支付后发布 `order.paid` 事件,库存服务和通知服务各自订阅,订单服务不直接调用它们。
|
|
97
|
+
|
|
98
|
+
**否定式排比**:「不仅……更……」「不是……而是……」「It's not just X, it's Y」。一篇文档用一次足够。
|
|
99
|
+
|
|
100
|
+
**凑三**:「高效、稳定、易用」「快速、安全、可靠」,第三个往往是凑的。真有三个就写三个,只有两个就写两个。
|
|
101
|
+
|
|
102
|
+
**同义词轮换**:AI 为了避免重复,会把同一个东西依次叫「租户」「组织」「空间」「团队」。技术文档里这是灾难,读者会以为是四个东西。一个概念一个名字,从头用到尾;和代码里的叫法对应,第一次出现时可以括号注明代码名:租户(`tenant`)。
|
|
103
|
+
|
|
104
|
+
**假范围**:「从小型团队到大型企业」「从开发到上线」,两端不在一个尺度上。直接列出具体支持的场景。
|
|
105
|
+
|
|
106
|
+
## 5. 节奏和格式
|
|
107
|
+
|
|
108
|
+
**句子长度一个样**:每句都是二三十字的中等长句,读起来像节拍器。长短交替,该短就短:「这一步不能省。」
|
|
109
|
+
|
|
110
|
+
**破折号**:中文的「——」和英文的 em dash(—),AI 用来插入戏剧性的补充说明。一篇文档里几段才出现一次还算正常;每段都有就是味道。改成逗号、句号、括号,或者拆句。检查脚本会报数量,数过再判断,不要凭感觉。
|
|
111
|
+
|
|
112
|
+
**加粗泛滥**:每段都有几个加粗词,等于没有强调。只在第一次出现的定义术语、真正的警告上加粗。
|
|
113
|
+
|
|
114
|
+
**加粗小标题列表**:
|
|
115
|
+
|
|
116
|
+
> 改前:
|
|
117
|
+
> - **高性能:** 系统性能得到了大幅提升。
|
|
118
|
+
> - **易扩展:** 系统扩展性更强。
|
|
119
|
+
> - **安全性:** 安全能力全面增强。
|
|
120
|
+
>
|
|
121
|
+
> 改后:查询接口加了 Redis 缓存,命中时响应从 300 ms 降到 20 ms;新增服务只需在 `services.yaml` 里注册;所有写接口加了 CSRF 校验。
|
|
122
|
+
|
|
123
|
+
参考文档里「**字段名**:说明」「**术语**:定义」这种格式是正常用法,不算。
|
|
124
|
+
|
|
125
|
+
**emoji**:新写的文档不给标题和列表加 emoji(✨🚀📝✅)。更新已有文档时,原文用了就沿用。
|
|
126
|
+
|
|
127
|
+
**英文标题的 Title Case**:有明确风格指南(AP、Chicago)时照指南;没有的话单独出现不算问题,和其他 AI 特征一起出现才算。
|
|
128
|
+
|
|
129
|
+
## 6. 含糊、填充、聊天腔
|
|
130
|
+
|
|
131
|
+
**铺垫句**:「值得注意的是」「需要指出的是」「众所周知」「不难发现」「It's worth noting」「It's important to note」。直接说那件事。
|
|
132
|
+
|
|
133
|
+
**过度对冲**:「在一定程度上」「可能会」「或许」「通常来说」堆在一起。确定的就直接说;不确定的用标记(`[INFERRED]`、`[UNVERIFIED]`),不要用含糊的措辞糊过去。
|
|
134
|
+
|
|
135
|
+
**模糊出处**:「业界普遍认为」「有观点指出」「Experts say」。给出具体来源,或者删掉。
|
|
136
|
+
|
|
137
|
+
**填充短语**:「为了实现这一目标」→「为此」;「由于……的原因」→「因为」;「具有……的能力」→「能」;「进行……操作」→ 直接用动词(「进行删除操作」→「删除」);「in order to」→「to」。
|
|
138
|
+
|
|
139
|
+
**聊天腔**:「希望对你有帮助!」「如需进一步了解,请随时告诉我」「好问题!」「Let me know if...」。文档里一律删掉。
|
|
140
|
+
|
|
141
|
+
**开场白**:「在当今数字化时代」「随着……的快速发展」「In today's fast-paced world」。删掉,第一句直接说是什么。
|
|
142
|
+
|
|
143
|
+
**空泛结尾**:「未来可期」「让我们拭目以待」「综上所述」「总而言之」「The future looks bright」。删掉,文档讲完就停。
|
|
144
|
+
|
|
145
|
+
## 7. 连接词
|
|
146
|
+
|
|
147
|
+
AI 反复用同一批连接词:「此外」「另外」「同时」「与此同时」「首先……其次……最后」「总之」,英文是 Moreover、Furthermore、Additionally、In conclusion。
|
|
148
|
+
|
|
149
|
+
大多数时候不需要连接词,直接开始下一个意思就行,段落分隔本身就是过渡。需要的时候用真实的逻辑关系:「因为」「所以」「但是」。
|
|
150
|
+
|
|
151
|
+
## 8. 技术文档特有的毛病
|
|
152
|
+
|
|
153
|
+
- **「只需」「简单地」「轻松」「just」「simply」「easily」**:对卡住的读者毫无帮助,还让人觉得是自己笨。删掉。
|
|
154
|
+
- **用评价代替行为**:「性能很好」「非常安全」「使用方便」。写行为或数字:「单实例 2,000 QPS(见 `bench/README.md`)」。
|
|
155
|
+
- **把 README 写成产品宣传页**:开头一大段愿景,读者翻三屏才看到安装命令。
|
|
156
|
+
- **功能列表只有名词**:「用户管理、权限管理、日志管理」。每项写它具体让用户做什么。
|
|
157
|
+
- **「等」「等等」「etc.」收尾的清单**:参考文档要全,列不全就说明范围(「以下是最常用的 5 个,完整列表见……」)。
|
|
158
|
+
- **被动语态堆积**:「该配置会被系统读取并被用于……」→「系统启动时读取该配置,用来……」。
|
|
159
|
+
|
|
160
|
+
## 技术文档里合适的「人味」
|
|
161
|
+
|
|
162
|
+
改散文时去 AI 味常靠加观点、加第一人称、加幽默,这些在参考文档里都不合适。技术文档里真正让人觉得「这是懂行的人写的」的,是这些:
|
|
163
|
+
|
|
164
|
+
- 写出真实的坑:「第一次运行 `db:migrate` 会失败,因为 Redis 还没起;先跑 `docker compose up -d redis`。」
|
|
165
|
+
- 写出设计取舍:「这里没有用消息队列,因为订单量每天不到一千单,定时任务每分钟扫一次足够。」
|
|
166
|
+
- 教程和 README 可以用「你」直接对读者说话。
|
|
167
|
+
- 该下判断的地方下判断:「生产环境不要开 `DEBUG=1`,它会在响应里带上 SQL。」不写「建议谨慎考虑是否开启」。
|
|
168
|
+
|
|
169
|
+
## 该保留的
|
|
170
|
+
|
|
171
|
+
- 技术事实、具体数字、版本号
|
|
172
|
+
- 专有名词、产品名、代码标识符(保持原样,不翻译)
|
|
173
|
+
- 已有文档的结构和风格(更新时)
|
|
174
|
+
- 参考文档里统一的「**术语**:定义」格式
|
|
175
|
+
- 表格里真实就是三行的三条(不是所有三项并列都是凑数)
|
|
176
|
+
- 标准技术术语,哪怕看起来像流行词:「端到端测试」「高可用部署」「生态系统」在技术语境里有确切含义,有依据就可以用
|
|
177
|
+
|
|
178
|
+
## 改写示例
|
|
179
|
+
|
|
180
|
+
**README 开头**
|
|
181
|
+
|
|
182
|
+
> 改前:
|
|
183
|
+
> # 🚀 DataHub
|
|
184
|
+
> 在当今数据驱动的时代,数据治理扮演着至关重要的角色。DataHub 是一款强大的、一站式的数据治理平台,致力于为企业赋能,无缝集成各类数据源,助力企业实现数字化转型。它不仅提供了全面的元数据管理能力,更打造了业界领先的数据血缘追踪功能。
|
|
185
|
+
>
|
|
186
|
+
> 改后:
|
|
187
|
+
> # DataHub
|
|
188
|
+
> DataHub 收集数据库和消息队列的元数据,记录表和字段之间的血缘关系。上游改了字段类型时,它会找出受影响的下游表和报表,通知负责人。目前支持 MySQL、PostgreSQL 和 Kafka。
|
|
189
|
+
|
|
190
|
+
**架构文档段落**
|
|
191
|
+
|
|
192
|
+
> 改前:
|
|
193
|
+
> 值得注意的是,系统采用了先进的微服务架构,各服务之间通过消息队列实现了无缝的异步通信,从而显著提升了系统的可扩展性和稳定性。此外,网关层扮演着统一入口的角色,为整个系统提供了坚实的安全保障。
|
|
194
|
+
>
|
|
195
|
+
> 改后:
|
|
196
|
+
> 系统拆成 6 个服务,都挂在 `gateway` 后面。网关负责校验 JWT 并把用户 ID 写进 `X-User-Id` 请求头,下游服务只读这个头,不再自己验 token(`gateway/src/auth.ts:31`)。服务之间的异步通知走 Redis Streams,同步查询直接 HTTP 调用。
|
|
197
|
+
|
|
198
|
+
**英文 API 说明**
|
|
199
|
+
|
|
200
|
+
> Before: This powerful endpoint seamlessly enables you to effortlessly retrieve comprehensive user information, leveraging our robust caching layer.
|
|
201
|
+
>
|
|
202
|
+
> After: Returns one user by ID. Responses are cached for 60 seconds; send `Cache-Control: no-cache` to bypass.
|
|
203
|
+
|
|
204
|
+
## 快速自检
|
|
205
|
+
|
|
206
|
+
命中 5 条以上,说明需要再改一遍:
|
|
207
|
+
|
|
208
|
+
- [ ] 第一段没有直接说这是什么、给谁用
|
|
209
|
+
- [ ] 出现 3 个以上第 2、3 节里的词
|
|
210
|
+
- [ ] 有「值得注意的是」一类的铺垫句
|
|
211
|
+
- [ ] 每节结构一样,或者每节都有小结
|
|
212
|
+
- [ ] 结尾有总结、展望
|
|
213
|
+
- [ ] 「不仅……更……」「不是……而是……」出现两次以上
|
|
214
|
+
- [ ] 破折号每段都有
|
|
215
|
+
- [ ] 加粗小标题列表
|
|
216
|
+
- [ ] 标题或列表有装饰性 emoji
|
|
217
|
+
- [ ] 同一个概念用了两个以上的名字
|
|
218
|
+
- [ ] 用形容词评价性能、安全、易用,没有数字或行为
|
|
219
|
+
- [ ] 出现「只需」「轻松」「简单地」
|
|
220
|
+
- [ ] 有聊天腔(「希望对你有帮助」)
|