coding-os 0.3.2__py3-none-any.whl
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.
- adapters/claude/README.md +6 -0
- adapters/claude/_install_helpers/extract_stacks.py +43 -0
- adapters/claude/_install_helpers/update_mcp_json.py +75 -0
- adapters/claude/adapter.yaml +164 -0
- adapters/claude/hooks/README.md +40 -0
- adapters/claude/hooks/agent_memory_sync.py +131 -0
- adapters/claude/hooks/ensure-agent-memory-link.sh +36 -0
- adapters/claude/hooks/sync-agent-memory.sh +21 -0
- adapters/claude/install.sh +86 -0
- adapters/claude/sdk_dispatcher.py +871 -0
- adapters/claude/settings.local.template.json +31 -0
- adapters/claude/settings.template.json +808 -0
- adapters/claude/update_mcp_json.py +85 -0
- adapters/codex/adapter.yaml +254 -0
- adapters/codex/chat_provider.py +230 -0
- adapters/codex/commands/formula-f1.md +129 -0
- adapters/codex/commands/formula-f10.md +100 -0
- adapters/codex/commands/formula-f11.md +123 -0
- adapters/codex/commands/formula-f2.md +139 -0
- adapters/codex/commands/formula-f3.md +127 -0
- adapters/codex/commands/formula-f4.md +101 -0
- adapters/codex/commands/formula-f5.md +135 -0
- adapters/codex/commands/formula-f6.md +147 -0
- adapters/codex/commands/formula-f7.md +111 -0
- adapters/codex/commands/formula-f8.md +133 -0
- adapters/codex/commands/formula-f9.md +112 -0
- adapters/codex/enable_codex_hooks.py +94 -0
- adapters/codex/ensure_codex_mcp.py +124 -0
- adapters/codex/hooks/codex-merge-hook-output.py +72 -0
- adapters/codex/hooks/codex-normalize-edit.py +96 -0
- adapters/codex/hooks/codex-postedit-dispatch.sh +75 -0
- adapters/codex/hooks/codex-posttool-dispatch.sh +70 -0
- adapters/codex/hooks/codex-preedit-dispatch.sh +83 -0
- adapters/codex/hooks/codex-pretool-dispatch.sh +82 -0
- adapters/codex/hooks/codex-sessionend-dispatch.sh +20 -0
- adapters/codex/hooks/codex-sessionstart-dispatch.sh +68 -0
- adapters/codex/hooks/codex-stop-dispatch.sh +73 -0
- adapters/codex/hooks/codex-userpromptsubmit-dispatch.sh +74 -0
- adapters/codex/hooks.template.json +208 -0
- adapters/codex/install.sh +83 -0
- adapters/codex/sdk_dispatcher.py +449 -0
- board_os/__init__.py +39 -0
- board_os/_agent_runtime.py +256 -0
- board_os/config.py +421 -0
- board_os/git_coherence.py +107 -0
- board_os/hub_adapter_manifest.py +140 -0
- board_os/mcp_tools.py +3228 -0
- board_os/migration.py +166 -0
- board_os/parser.py +317 -0
- board_os/presence.py +156 -0
- board_os/sync.py +320 -0
- board_os/transition_gates.py +224 -0
- board_os/transition_gates_cli.py +272 -0
- board_os/transition_gates_validator.py +551 -0
- board_os/verify_suites.py +126 -0
- board_os/verify_suites_cli.py +328 -0
- board_os/workflow.py +967 -0
- cli/__init__.py +0 -0
- cli/_data_types.py +248 -0
- cli/_init_helpers.py +587 -0
- cli/_resources.py +100 -0
- cli/adapter_registry.py +239 -0
- cli/add_stack.py +315 -0
- cli/aggregator.py +438 -0
- cli/board_commands.py +1218 -0
- cli/brain_commands.py +255 -0
- cli/cognition.py +345 -0
- cli/config_composer.py +349 -0
- cli/core_version.py +41 -0
- cli/cron_commands.py +278 -0
- cli/db_reset.py +298 -0
- cli/doc_commands.py +111 -0
- cli/doctor.py +2953 -0
- cli/doctor_board.py +365 -0
- cli/doctor_extras.py +1121 -0
- cli/doctor_graph.py +608 -0
- cli/doctor_tokens.py +254 -0
- cli/graph_commands.py +1265 -0
- cli/hook_renderer.py +393 -0
- cli/hub_commands.py +580 -0
- cli/list_adapters.py +79 -0
- cli/list_stacks.py +105 -0
- cli/logs_commands.py +89 -0
- cli/main.py +3070 -0
- cli/materialize_file.py +65 -0
- cli/mcp_start.py +153 -0
- cli/module_commands.py +513 -0
- cli/pr_commands.py +2024 -0
- cli/preset_commands.py +126 -0
- cli/preset_registry.py +171 -0
- cli/project_overrides.py +119 -0
- cli/registry.py +365 -0
- cli/remove_stack.py +492 -0
- cli/renderer.py +620 -0
- cli/setup.py +464 -0
- cli/skill_commands.py +689 -0
- cli/skill_registry.py +235 -0
- cli/skills_list.py +332 -0
- cli/stack_lint.py +351 -0
- cli/stack_registry.py +688 -0
- cli/subsystems.py +335 -0
- cli/sync_all.py +310 -0
- cli/tail_command.py +410 -0
- cli/update.py +608 -0
- cli/verify_since_edit.py +439 -0
- coding_os-0.3.2.dist-info/METADATA +508 -0
- coding_os-0.3.2.dist-info/RECORD +1304 -0
- coding_os-0.3.2.dist-info/WHEEL +5 -0
- coding_os-0.3.2.dist-info/entry_points.txt +5 -0
- coding_os-0.3.2.dist-info/licenses/LICENSE +201 -0
- coding_os-0.3.2.dist-info/top_level.txt +10 -0
- core/__init__.py +0 -0
- core/board_os/__init__.py +39 -0
- core/board_os/_agent_runtime.py +256 -0
- core/board_os/config.py +421 -0
- core/board_os/git_coherence.py +107 -0
- core/board_os/hub_adapter_manifest.py +140 -0
- core/board_os/mcp_tools.py +3228 -0
- core/board_os/migration.py +166 -0
- core/board_os/parser.py +317 -0
- core/board_os/presence.py +156 -0
- core/board_os/sync.py +320 -0
- core/board_os/transition-gates.yaml +176 -0
- core/board_os/transition_gates.py +224 -0
- core/board_os/transition_gates_cli.py +272 -0
- core/board_os/transition_gates_validator.py +551 -0
- core/board_os/verify-suites.yaml +113 -0
- core/board_os/verify_suites.py +126 -0
- core/board_os/verify_suites_cli.py +328 -0
- core/board_os/workflow.py +967 -0
- core/commands/board.md +27 -0
- core/commands/classify.md +23 -0
- core/commands/compose.md +23 -0
- core/commands/daily.md +31 -0
- core/commands/diagnose.md +7 -0
- core/commands/memory-search.md +23 -0
- core/commands/new-project.md +33 -0
- core/commands/retro.md +38 -0
- core/commands/review.md +14 -0
- core/commands/task.md +17 -0
- core/commands/verify.md +34 -0
- core/docs/thinking_os-final-edition.md +1449 -0
- core/doctor-config.yaml +74 -0
- core/graph_os/__init__.py +29 -0
- core/graph_os/backend.py +233 -0
- core/graph_os/backends/__init__.py +13 -0
- core/graph_os/backends/sqlite_backend.py +1053 -0
- core/graph_os/bench/__init__.py +17 -0
- core/graph_os/bench/fixtures.py +56 -0
- core/graph_os/bench/harness.py +95 -0
- core/graph_os/bench/persian_precision.py +142 -0
- core/graph_os/bench/scale_500k.py +120 -0
- core/graph_os/bench/token_cost.py +170 -0
- core/graph_os/bench/viewer_fps.py +110 -0
- core/graph_os/communities.py +410 -0
- core/graph_os/enterprise.py +218 -0
- core/graph_os/entry_points.py +226 -0
- core/graph_os/extractors/__init__.py +25 -0
- core/graph_os/extractors/code_generic.py +914 -0
- core/graph_os/extractors/code_go.py +1422 -0
- core/graph_os/extractors/code_json.py +340 -0
- core/graph_os/extractors/code_php.py +979 -0
- core/graph_os/extractors/code_python.py +1454 -0
- core/graph_os/extractors/code_shell.py +538 -0
- core/graph_os/extractors/code_toml.py +302 -0
- core/graph_os/extractors/code_ts.py +1665 -0
- core/graph_os/extractors/code_yaml.py +394 -0
- core/graph_os/extractors/contracts.py +1592 -0
- core/graph_os/extractors/md_links.py +890 -0
- core/graph_os/extractors/task_deps.py +345 -0
- core/graph_os/groups/__init__.py +22 -0
- core/graph_os/groups/cross_repo.py +156 -0
- core/graph_os/groups/manifest.py +141 -0
- core/graph_os/ingest/__init__.py +19 -0
- core/graph_os/ingest/base.py +306 -0
- core/graph_os/ingest/github.py +112 -0
- core/graph_os/ingest/zip.py +95 -0
- core/graph_os/toolchain.py +393 -0
- core/graph_os/tools/__init__.py +9 -0
- core/graph_os/tools/graph.py +5573 -0
- core/graph_os/tools/reindex_dispatch.py +730 -0
- core/graph_os/tree_sitter_overlay.py +235 -0
- core/graph_os/types.py +252 -0
- core/graph_os/vec_index.py +277 -0
- core/graph_os/viewer/__init__.py +12 -0
- core/graph_os/viewer/exporter.py +93 -0
- core/graph_os/viewer/template.py +189 -0
- core/hooks/_helpers/_paths.py +40 -0
- core/hooks/_helpers/advance_role.py +72 -0
- core/hooks/_helpers/auto_compose.py +228 -0
- core/hooks/_helpers/auto_validate_lessons.py +55 -0
- core/hooks/_helpers/branch_guard_check.py +796 -0
- core/hooks/_helpers/check_commit_message.py +108 -0
- core/hooks/_helpers/check_dangerous_rm.py +80 -0
- core/hooks/_helpers/check_git_bypass.py +154 -0
- core/hooks/_helpers/check_git_destructive.py +77 -0
- core/hooks/_helpers/check_settings_write.py +97 -0
- core/hooks/_helpers/consume_override.py +51 -0
- core/hooks/_helpers/context_budget.py +77 -0
- core/hooks/_helpers/cos_say_json.py +103 -0
- core/hooks/_helpers/destructive_edit_check.py +163 -0
- core/hooks/_helpers/detect_status_transition.py +82 -0
- core/hooks/_helpers/digest_regen.py +56 -0
- core/hooks/_helpers/doc_sync_check.py +498 -0
- core/hooks/_helpers/drain_embedding_outbox.py +52 -0
- core/hooks/_helpers/extract_additional_context.py +51 -0
- core/hooks/_helpers/extract_commit_msg_arg.py +74 -0
- core/hooks/_helpers/git_command_parse.py +424 -0
- core/hooks/_helpers/git_settings_fields.py +47 -0
- core/hooks/_helpers/graph_context_match.py +37 -0
- core/hooks/_helpers/graph_marker_check.py +70 -0
- core/hooks/_helpers/jit_recall.py +56 -0
- core/hooks/_helpers/json_field.py +41 -0
- core/hooks/_helpers/narrative_signal.py +59 -0
- core/hooks/_helpers/observation_count.py +31 -0
- core/hooks/_helpers/pre_commit_batch.py +177 -0
- core/hooks/_helpers/pre_commit_fake_input.py +42 -0
- core/hooks/_helpers/presence_gc.py +102 -0
- core/hooks/_helpers/presence_write.py +167 -0
- core/hooks/_helpers/recover_indirect.py +35 -0
- core/hooks/_helpers/routing_evolution.py +104 -0
- core/hooks/_helpers/session_recap.py +72 -0
- core/hooks/_helpers/skill_primer.py +229 -0
- core/hooks/_helpers/task_sync.py +59 -0
- core/hooks/_helpers/tool_failure_capture.py +147 -0
- core/hooks/_helpers/trajectory_autosnap.py +278 -0
- core/hooks/_helpers/trajectory_startup.py +62 -0
- core/hooks/_helpers/turn_summary.py +82 -0
- core/hooks/_helpers/validate_task_frontmatter.py +98 -0
- core/hooks/_helpers/wip_limit_check.py +103 -0
- core/hooks/_helpers/wip_lines.py +53 -0
- core/hooks/_helpers/work_log_append.py +89 -0
- core/hooks/_helpers/wrap_dispatch_output.py +82 -0
- core/hooks/advance-role.sh +48 -0
- core/hooks/agent-presence.sh +179 -0
- core/hooks/auto-brain-decay.sh +184 -0
- core/hooks/auto-compose-roles.sh +83 -0
- core/hooks/auto-graph-reconcile-shell.sh +119 -0
- core/hooks/auto-regen-doc-index.sh +120 -0
- core/hooks/auto-reindex-docs.sh +130 -0
- core/hooks/auto-task-sync.sh +56 -0
- core/hooks/auto-trace-rotate.sh +88 -0
- core/hooks/block-bad-patterns.sh +212 -0
- core/hooks/block-dangerous-commands.sh +182 -0
- core/hooks/block-hardcoded-literals.sh +90 -0
- core/hooks/block-migration-conflict.sh +114 -0
- core/hooks/block-protected-files.sh +129 -0
- core/hooks/block-secrets.sh +185 -0
- core/hooks/block-shared-tree-edit.sh +75 -0
- core/hooks/block-uv-heredoc.sh +78 -0
- core/hooks/branch-guard.sh +122 -0
- core/hooks/capture-observation.sh +76 -0
- core/hooks/capture-tool-failure.sh +24 -0
- core/hooks/capture-work-log.sh +89 -0
- core/hooks/check-agents-md-refs.sh +75 -0
- core/hooks/check-agents-md-size.sh +49 -0
- core/hooks/check-capture-worked.sh +148 -0
- core/hooks/check-doc-size.sh +61 -0
- core/hooks/check-mcp-extras.sh +92 -0
- core/hooks/check-state.sh +87 -0
- core/hooks/classify-task-mode.sh +103 -0
- core/hooks/cos-env.sh +1301 -0
- core/hooks/drain-embedding-outbox.sh +24 -0
- core/hooks/enforce-anti-ambiguity.sh +74 -0
- core/hooks/enforce-commit-message.sh +73 -0
- core/hooks/enforce-doc-anchor.sh +224 -0
- core/hooks/enforce-doc-sync.sh +206 -0
- core/hooks/enforce-graph-context.sh +89 -0
- core/hooks/enforce-graph-first-read.sh +94 -0
- core/hooks/enforce-memory-check.sh +128 -0
- core/hooks/enforce-rename-plan.sh +78 -0
- core/hooks/enforce-scaffold-boundary.sh +68 -0
- core/hooks/enforce-skill.sh +125 -0
- core/hooks/enforce-task-body.sh +52 -0
- core/hooks/enforce-task-start.sh +81 -0
- core/hooks/enforce-task-transition.sh +75 -0
- core/hooks/enforce-template.sh +143 -0
- core/hooks/enforce-verify.sh +112 -0
- core/hooks/enforce-wip-limit.sh +43 -0
- core/hooks/enforce-zoom.sh +69 -0
- core/hooks/ensure-hub-up.sh +67 -0
- core/hooks/inject-mcp-caller-session.sh +70 -0
- core/hooks/jit-recall.sh +65 -0
- core/hooks/link-commit-to-task.sh +143 -0
- core/hooks/lint-task.sh +40 -0
- core/hooks/nudge-docs-first.sh +71 -0
- core/hooks/nudge-git-mode.sh +29 -0
- core/hooks/nudge-graph-os.sh +118 -0
- core/hooks/nudge-learn-narrative.sh +36 -0
- core/hooks/nudge-model-routing.sh +32 -0
- core/hooks/nudge-reentry.sh +101 -0
- core/hooks/nudge-reuse-first.sh +68 -0
- core/hooks/nudge-task-discovery.sh +81 -0
- core/hooks/nudge-thinking-os.sh +109 -0
- core/hooks/pr-reap.sh +23 -0
- core/hooks/reclaim-sweep.sh +58 -0
- core/hooks/record-verify-auto.sh +77 -0
- core/hooks/record-verify.sh +74 -0
- core/hooks/regen-reminder.sh +104 -0
- core/hooks/registry.yaml +1262 -0
- core/hooks/remind-daily.sh +27 -0
- core/hooks/remind-dogfood.sh +70 -0
- core/hooks/remind-learn-validate.sh +94 -0
- core/hooks/rules-primer.sh +50 -0
- core/hooks/search-enforce-inventory.sh +108 -0
- core/hooks/search-verify-remaining.sh +132 -0
- core/hooks/session-context.sh +729 -0
- core/hooks/session-end.sh +145 -0
- core/hooks/session-skill-primer.sh +43 -0
- core/hooks/snapshot-transcript.sh +56 -0
- core/hooks/sync-task-current.sh +85 -0
- core/hooks/test-first-reminder.sh +120 -0
- core/hooks/test-governor.sh +173 -0
- core/hooks/thinking_os-gate.sh +52 -0
- core/hooks/track-backtrack.sh +35 -0
- core/hooks/track-discovery.sh +121 -0
- core/hooks/track-skill.sh +53 -0
- core/hooks/validate-task-frontmatter.sh +49 -0
- core/hooks/verify-rename-callers.sh +119 -0
- core/hooks/warn-abandoned-task.sh +99 -0
- core/hooks/warn-destructive-edit.sh +64 -0
- core/hooks/warn-diff-size.sh +43 -0
- core/hooks/warn-graph-empty.sh +81 -0
- core/hooks/warn-mcp-down.sh +190 -0
- core/hooks/write-state.sh +55 -0
- core/logging_os/__init__.py +33 -0
- core/logging_os/api.py +127 -0
- core/logging_os/bridge.py +80 -0
- core/logging_os/config.py +172 -0
- core/logging_os/fingerprint.py +25 -0
- core/logging_os/redact.py +53 -0
- core/logging_os/render.py +83 -0
- core/logging_os/sinks.py +164 -0
- core/rules/anti-overengineering.md +44 -0
- core/rules/api-contract-discipline.md +41 -0
- core/rules/dimension-registry.md +155 -0
- core/rules/git-workflow.md +57 -0
- core/rules/memory.md +46 -0
- core/rules/model-routing.md +22 -0
- core/rules/skill-enforcement.md +75 -0
- core/rules/test-discipline.md +38 -0
- core/rules/thinking_os.md +48 -0
- core/rules/transparency-banner.md +37 -0
- core/runtime_paths.yaml +36 -0
- core/scaffold_manifest.json +14430 -0
- core/scheduled/__init__.py +0 -0
- core/scheduled/_activity.py +126 -0
- core/scheduled/_state.py +113 -0
- core/scheduled/config.py +86 -0
- core/scheduled/dep_reconcile.py +135 -0
- core/scheduled/error_sweep.py +137 -0
- core/scheduled/nightly.py +930 -0
- core/scheduled/responsive_extract.py +65 -0
- core/schemas/adapter.schema.json +269 -0
- core/schemas/preset.schema.json +50 -0
- core/schemas/skill.schema.json +81 -0
- core/schemas/stack.schema.json +404 -0
- core/scripts/_lib.sh +9 -0
- core/scripts/docs-lint.sh +228 -0
- core/scripts/docs-nav-fix.sh +133 -0
- core/scripts/docs-staleness-check.sh +154 -0
- core/scripts/install-adapter.sh +266 -0
- core/scripts/link-stack-skills.sh +52 -0
- core/scripts/log-latest.sh +106 -0
- core/scripts/log-search.sh +89 -0
- core/scripts/log-write.sh +134 -0
- core/scripts/ref-resolve.sh +71 -0
- core/skills/a11y/SKILL.md +305 -0
- core/skills/a11y/assets/a11y-checklist.md +137 -0
- core/skills/a11y/references/aria-and-focus.md +247 -0
- core/skills/a11y/references/rn-accessibility.md +343 -0
- core/skills/a11y/references/screen-reader-testing.md +190 -0
- core/skills/agent-memory/SKILL.md +191 -0
- core/skills/agent-memory/assets/memory-checklist.md +21 -0
- core/skills/agent-memory/references/memory-recipes.md +57 -0
- core/skills/api-design/SKILL.md +232 -0
- core/skills/api-design/assets/api-design-checklist.md +110 -0
- core/skills/api-design/references/error-envelope.md +381 -0
- core/skills/api-design/references/idempotency-pagination.md +312 -0
- core/skills/api-design/references/rest-contracts.md +426 -0
- core/skills/auth-patterns/SKILL.md +352 -0
- core/skills/auth-patterns/assets/auth-checklist.md +118 -0
- core/skills/auth-patterns/references/jwt-and-service-tokens.md +343 -0
- core/skills/auth-patterns/references/passkeys-2fa.md +289 -0
- core/skills/auth-patterns/references/sessions-vs-jwt.md +230 -0
- core/skills/auth-patterns/scripts/cookie-flag-check.py +146 -0
- core/skills/backend-fundamentals/SKILL.md +238 -0
- core/skills/backend-fundamentals/assets/backend-checklist.md +27 -0
- core/skills/backend-fundamentals/references/backend-patterns.md +56 -0
- core/skills/backend-fundamentals/scripts/check_layering.py +83 -0
- core/skills/clean-code/SKILL.md +642 -0
- core/skills/clean-code/scripts/audit-fail-closed.py +167 -0
- core/skills/codebase-explorer/SKILL.md +89 -0
- core/skills/codebase-explorer/assets/reading-checklist.md +24 -0
- core/skills/codebase-explorer/references/reading-strategies.md +52 -0
- core/skills/codebase-explorer/scripts/outline.py +99 -0
- core/skills/db-design/SKILL.md +327 -0
- core/skills/db-design/assets/migration-template.sql +49 -0
- core/skills/db-design/references/migration-discipline.md +290 -0
- core/skills/db-design/references/postgres-patterns.md +340 -0
- core/skills/db-design/scripts/migration-safety.sh +150 -0
- core/skills/deployment-cicd/SKILL.md +260 -0
- core/skills/deployment-cicd/assets/deploy-checklist.md +26 -0
- core/skills/deployment-cicd/references/pipeline-and-release.md +54 -0
- core/skills/deployment-cicd/scripts/lint_workflow.py +79 -0
- core/skills/docker/SKILL.md +114 -0
- core/skills/docker/assets/dockerfile-checklist.md +31 -0
- core/skills/docker/references/compose-patterns.md +66 -0
- core/skills/docker/references/dockerfile-optimization.md +64 -0
- core/skills/docker/scripts/lint_dockerfile.sh +48 -0
- core/skills/docker/versions.json +16 -0
- core/skills/end-to-end-testing/SKILL.md +101 -0
- core/skills/end-to-end-testing/assets/e2e-checklist.md +23 -0
- core/skills/end-to-end-testing/references/maestro.md +63 -0
- core/skills/end-to-end-testing/references/playwright.md +68 -0
- core/skills/end-to-end-testing/scripts/lint_e2e.py +88 -0
- core/skills/end-to-end-testing/versions.json +16 -0
- core/skills/frontend-design/SKILL.md +76 -0
- core/skills/frontend-design/assets/design-checklist.md +29 -0
- core/skills/frontend-design/references/design-principles.md +65 -0
- core/skills/frontend-design/scripts/check_contrast.py +89 -0
- core/skills/frontend-fundamentals/SKILL.md +213 -0
- core/skills/frontend-fundamentals/assets/frontend-checklist.md +25 -0
- core/skills/frontend-fundamentals/references/rendering-and-state.md +66 -0
- core/skills/frontend-fundamentals/scripts/check_frontend.py +86 -0
- core/skills/graph-explorer/SKILL.md +215 -0
- core/skills/graph-explorer/scripts/explain-impact.sh +64 -0
- core/skills/graphql/SKILL.md +187 -0
- core/skills/grpc-microservices/SKILL.md +174 -0
- core/skills/hexagonal-architecture/SKILL.md +199 -0
- core/skills/hexagonal-architecture/assets/folder-scaffold.md +233 -0
- core/skills/hexagonal-architecture/references/anti-patterns.md +129 -0
- core/skills/hexagonal-architecture/references/go-fiber-layout.md +429 -0
- core/skills/hexagonal-architecture/references/python-fastapi-layout.md +453 -0
- core/skills/hexagonal-architecture/references/react-native-layout.md +428 -0
- core/skills/i18n/SKILL.md +126 -0
- core/skills/incident-response/SKILL.md +225 -0
- core/skills/incident-response/assets/incident-checklist.md +29 -0
- core/skills/incident-response/references/severity-and-runbook.md +53 -0
- core/skills/incident-response/scripts/classify_severity.py +86 -0
- core/skills/linux-sysadmin/SKILL.md +115 -0
- core/skills/linux-sysadmin/assets/hardening-checklist.md +29 -0
- core/skills/linux-sysadmin/references/ssh-hardening.md +62 -0
- core/skills/linux-sysadmin/references/systemd-and-services.md +77 -0
- core/skills/linux-sysadmin/scripts/triage.sh +50 -0
- core/skills/linux-sysadmin/versions.json +17 -0
- core/skills/llm-patterns/SKILL.md +410 -0
- core/skills/llm-patterns/assets/llm-feature-checklist.md +26 -0
- core/skills/llm-patterns/references/rag-and-evals.md +59 -0
- core/skills/llm-patterns/scripts/estimate_tokens.py +75 -0
- core/skills/messaging-queues/SKILL.md +142 -0
- core/skills/mobile-fundamentals/SKILL.md +406 -0
- core/skills/mobile-fundamentals/assets/mobile-launch-checklist.md +130 -0
- core/skills/mobile-fundamentals/references/navigation-and-deep-links.md +337 -0
- core/skills/mobile-fundamentals/references/offline-sync.md +339 -0
- core/skills/node-backend/SKILL.md +114 -0
- core/skills/node-backend/assets/node-checklist.md +25 -0
- core/skills/node-backend/references/async-and-errors.md +67 -0
- core/skills/node-backend/references/event-loop.md +65 -0
- core/skills/node-backend/scripts/check_package.py +78 -0
- core/skills/node-backend/versions.json +17 -0
- core/skills/observability/SKILL.md +289 -0
- core/skills/observability/assets/observability-checklist.md +27 -0
- core/skills/observability/references/instrumentation.md +57 -0
- core/skills/observability/scripts/lint_logging.py +77 -0
- core/skills/payments/SKILL.md +102 -0
- core/skills/performance/SKILL.md +305 -0
- core/skills/performance/assets/perf-checklist.md +143 -0
- core/skills/performance/references/mobile-performance.md +249 -0
- core/skills/performance/references/web-vitals.md +209 -0
- core/skills/php/SKILL.md +116 -0
- core/skills/php/assets/php-checklist.md +26 -0
- core/skills/php/references/modern-php.md +64 -0
- core/skills/php/references/security.md +72 -0
- core/skills/php/scripts/scan_php_smells.py +99 -0
- core/skills/php/versions.json +9 -0
- core/skills/pr-mode-driver/SKILL.md +65 -0
- core/skills/realtime-websockets/SKILL.md +152 -0
- core/skills/redis/SKILL.md +105 -0
- core/skills/redis/assets/redis-checklist.md +27 -0
- core/skills/redis/references/operations.md +66 -0
- core/skills/redis/references/patterns.md +62 -0
- core/skills/redis/scripts/analyze_info.py +101 -0
- core/skills/redis/versions.json +9 -0
- core/skills/search/SKILL.md +91 -0
- core/skills/search/references/grep.md +76 -0
- core/skills/search/scripts/verify-count.sh +73 -0
- core/skills/search-infra/SKILL.md +109 -0
- core/skills/security-mobile/SKILL.md +394 -0
- core/skills/security-mobile/assets/mobile-security-checklist.md +117 -0
- core/skills/security-mobile/references/masvs-l1-checklist.md +127 -0
- core/skills/security-web/SKILL.md +217 -0
- core/skills/security-web/assets/security-web-checklist.md +167 -0
- core/skills/security-web/references/owasp-top-10.md +551 -0
- core/skills/security-web/references/supply-chain.md +179 -0
- core/skills/security-web/scripts/csp-check.sh +153 -0
- core/skills/shell-scripting/SKILL.md +128 -0
- core/skills/shell-scripting/assets/script-checklist.md +33 -0
- core/skills/shell-scripting/references/argument-parsing.md +84 -0
- core/skills/shell-scripting/references/bash-robustness.md +78 -0
- core/skills/shell-scripting/scripts/lint_script.sh +53 -0
- core/skills/shell-scripting/scripts/new_script.py +131 -0
- core/skills/shell-scripting/versions.json +23 -0
- core/skills/sql-authoring/SKILL.md +104 -0
- core/skills/sql-authoring/assets/query-review-checklist.md +26 -0
- core/skills/sql-authoring/references/query-patterns.md +89 -0
- core/skills/sql-authoring/references/reading-explain.md +52 -0
- core/skills/sql-authoring/scripts/analyze_plan.py +100 -0
- core/skills/sql-authoring/versions.json +17 -0
- core/skills/state-management/SKILL.md +428 -0
- core/skills/state-management/references/tanstack-query-recipes.md +301 -0
- core/skills/state-management/references/zustand-recipes.md +364 -0
- core/skills/supabase/SKILL.md +108 -0
- core/skills/supabase/assets/supabase-checklist.md +26 -0
- core/skills/supabase/references/realtime-and-storage.md +55 -0
- core/skills/supabase/references/rls-and-auth.md +65 -0
- core/skills/supabase/scripts/check_rls.py +88 -0
- core/skills/supabase/versions.json +9 -0
- core/skills/task-driver/SKILL.md +272 -0
- core/skills/task-driver/scripts/task-lint.sh +163 -0
- core/skills/technical-writing/SKILL.md +85 -0
- core/skills/technical-writing/assets/doc-checklist.md +29 -0
- core/skills/technical-writing/references/doc-anatomy.md +53 -0
- core/skills/technical-writing/references/writing-craft.md +59 -0
- core/skills/technical-writing/scripts/new_doc.py +81 -0
- core/skills/terraform-k8s/SKILL.md +133 -0
- core/skills/testing-strategy/SKILL.md +266 -0
- core/skills/testing-strategy/assets/test-review-checklist.md +25 -0
- core/skills/testing-strategy/references/test-types.md +52 -0
- core/skills/testing-strategy/scripts/coverage_gate.py +79 -0
- core/skills/thinking_os/SKILL.md +288 -0
- core/skills/thinking_os/scripts/classify.sh +122 -0
- core/skills/typescript/SKILL.md +110 -0
- core/skills/typescript/assets/typescript-checklist.md +24 -0
- core/skills/typescript/references/strictness.md +53 -0
- core/skills/typescript/references/type-system.md +86 -0
- core/skills/typescript/scripts/check_tsconfig.py +92 -0
- core/skills/typescript/versions.json +9 -0
- core/subsystems.yaml +202 -0
- core/thinking_os/__init__.py +1 -0
- core/thinking_os/_agent_markers.py +32 -0
- core/thinking_os/agents/README.md +71 -0
- core/thinking_os/agents/analyst.md +139 -0
- core/thinking_os/agents/architect.md +127 -0
- core/thinking_os/agents/debugger.md +111 -0
- core/thinking_os/agents/deployer.md +112 -0
- core/thinking_os/agents/distiller.md +28 -0
- core/thinking_os/agents/documenter.md +101 -0
- core/thinking_os/agents/implementer.md +135 -0
- core/thinking_os/agents/internal/session_observer.md +39 -0
- core/thinking_os/agents/observer.md +100 -0
- core/thinking_os/agents/onboarder.md +81 -0
- core/thinking_os/agents/refactorer.md +123 -0
- core/thinking_os/agents/repairer.md +47 -0
- core/thinking_os/agents/researcher.md +129 -0
- core/thinking_os/agents/reviewer.md +147 -0
- core/thinking_os/agents/security_auditor.md +133 -0
- core/thinking_os/background.py +405 -0
- core/thinking_os/bootstrap_outcomes.py +200 -0
- core/thinking_os/budget.py +302 -0
- core/thinking_os/capture.py +495 -0
- core/thinking_os/cognition.py +516 -0
- core/thinking_os/cognition_schemas.py +517 -0
- core/thinking_os/compress.py +192 -0
- core/thinking_os/concepts.py +233 -0
- core/thinking_os/dashboard.py +159 -0
- core/thinking_os/database.py +2883 -0
- core/thinking_os/decay.py +393 -0
- core/thinking_os/digest.py +295 -0
- core/thinking_os/dispatcher.py +192 -0
- core/thinking_os/dispatcher_helpers.py +48 -0
- core/thinking_os/dispatchers/__init__.py +3 -0
- core/thinking_os/dispatchers/default.py +47 -0
- core/thinking_os/distill.py +192 -0
- core/thinking_os/doc_indexer.py +905 -0
- core/thinking_os/embeddings.py +943 -0
- core/thinking_os/formula_composer.py +556 -0
- core/thinking_os/gate_marker.py +75 -0
- core/thinking_os/graph.py +296 -0
- core/thinking_os/graph_indexer.py +360 -0
- core/thinking_os/health_check.py +517 -0
- core/thinking_os/impact.py +119 -0
- core/thinking_os/memory_gc.py +356 -0
- core/thinking_os/migrator_embeddings.py +318 -0
- core/thinking_os/precision.py +194 -0
- core/thinking_os/presets/registry.yaml +127 -0
- core/thinking_os/record_outcome.py +399 -0
- core/thinking_os/repair.py +105 -0
- core/thinking_os/retrieval_quality.py +239 -0
- core/thinking_os/roles/analyst.yaml +83 -0
- core/thinking_os/roles/architect.yaml +88 -0
- core/thinking_os/roles/debugger.yaml +71 -0
- core/thinking_os/roles/deployer.yaml +71 -0
- core/thinking_os/roles/documenter.yaml +72 -0
- core/thinking_os/roles/implementer.yaml +83 -0
- core/thinking_os/roles/observer.yaml +70 -0
- core/thinking_os/roles/refactorer.yaml +71 -0
- core/thinking_os/roles/researcher.yaml +72 -0
- core/thinking_os/roles/reviewer.yaml +79 -0
- core/thinking_os/roles/security_auditor.yaml +83 -0
- core/thinking_os/roles_state.py +168 -0
- core/thinking_os/sanitizer.py +320 -0
- core/thinking_os/server.py +3160 -0
- core/thinking_os/session_enrich.py +272 -0
- core/thinking_os/session_observe_worker.py +111 -0
- core/thinking_os/session_startup.py +74 -0
- core/thinking_os/session_summary.py +245 -0
- core/thinking_os/situations/registry.yaml +99 -0
- core/thinking_os/task_analyzer.py +462 -0
- core/thinking_os/task_parser.py +342 -0
- core/thinking_os/task_sync.py +73 -0
- core/thinking_os/tools/__init__.py +6 -0
- core/thinking_os/tools/_shared.py +947 -0
- core/thinking_os/tools/cognition.py +1867 -0
- core/thinking_os/tools/docs.py +770 -0
- core/thinking_os/tools/learning.py +2078 -0
- core/thinking_os/tools/logs.py +79 -0
- core/thinking_os/tools/memory.py +840 -0
- core/thinking_os/tools/metrics.py +200 -0
- core/thinking_os/tools/retrieve.py +415 -0
- core/thinking_os/tools/routing.py +658 -0
- core/thinking_os/tools/tasks.py +449 -0
- core/thinking_os/tools/trajectory.py +181 -0
- core/thinking_os/tracing.py +235 -0
- core/web/__init__.py +5 -0
- core/web/_cache.py +118 -0
- core/web/_deps.py +56 -0
- core/web/_envelope.py +85 -0
- core/web/_project_context.py +140 -0
- core/web/chat_providers.py +108 -0
- core/web/init_jobs.py +216 -0
- core/web/routes/__init__.py +25 -0
- core/web/routes/_bounded_read.py +76 -0
- core/web/routes/board.py +1089 -0
- core/web/routes/cognition.py +1838 -0
- core/web/routes/config.py +635 -0
- core/web/routes/graph.py +513 -0
- core/web/routes/health.py +180 -0
- core/web/routes/hooks.py +288 -0
- core/web/routes/hub.py +1219 -0
- core/web/routes/logs.py +374 -0
- core/web/routes/metrics.py +43 -0
- core/web/routes/observability.py +400 -0
- core/web/routes/patterns.py +227 -0
- core/web/routes/presence.py +609 -0
- core/web/routes/roles.py +446 -0
- core/web/routes/scheduled.py +261 -0
- core/web/routes/search.py +238 -0
- core/web/routes/sessions.py +220 -0
- core/web/routes/settings.py +363 -0
- core/web/routes/stream.py +547 -0
- core/web/security.py +157 -0
- core/web/server.py +283 -0
- graph_os/__init__.py +29 -0
- graph_os/backend.py +233 -0
- graph_os/backends/__init__.py +13 -0
- graph_os/backends/sqlite_backend.py +1053 -0
- graph_os/communities.py +410 -0
- graph_os/enterprise.py +218 -0
- graph_os/entry_points.py +226 -0
- graph_os/extractors/__init__.py +25 -0
- graph_os/extractors/code_generic.py +914 -0
- graph_os/extractors/code_go.py +1422 -0
- graph_os/extractors/code_json.py +340 -0
- graph_os/extractors/code_php.py +979 -0
- graph_os/extractors/code_python.py +1454 -0
- graph_os/extractors/code_shell.py +538 -0
- graph_os/extractors/code_toml.py +302 -0
- graph_os/extractors/code_ts.py +1665 -0
- graph_os/extractors/code_yaml.py +394 -0
- graph_os/extractors/contracts.py +1592 -0
- graph_os/extractors/md_links.py +890 -0
- graph_os/extractors/task_deps.py +345 -0
- graph_os/groups/__init__.py +22 -0
- graph_os/groups/cross_repo.py +156 -0
- graph_os/groups/manifest.py +141 -0
- graph_os/ingest/__init__.py +19 -0
- graph_os/ingest/base.py +306 -0
- graph_os/ingest/github.py +112 -0
- graph_os/ingest/zip.py +95 -0
- graph_os/toolchain.py +393 -0
- graph_os/tools/__init__.py +9 -0
- graph_os/tools/graph.py +5573 -0
- graph_os/tools/reindex_dispatch.py +730 -0
- graph_os/tree_sitter_overlay.py +235 -0
- graph_os/types.py +252 -0
- graph_os/vec_index.py +277 -0
- graph_os/viewer/__init__.py +12 -0
- graph_os/viewer/exporter.py +93 -0
- graph_os/viewer/template.py +189 -0
- scheduled/__init__.py +0 -0
- scheduled/_activity.py +126 -0
- scheduled/_state.py +113 -0
- scheduled/config.py +86 -0
- scheduled/dep_reconcile.py +135 -0
- scheduled/error_sweep.py +137 -0
- scheduled/nightly.py +930 -0
- scheduled/responsive_extract.py +65 -0
- scripts/__init__.py +4 -0
- scripts/_commit_msg_body.sh +31 -0
- scripts/_post_commit_body.sh +49 -0
- scripts/_pre_commit_body.sh +121 -0
- scripts/_prepare_commit_msg_body.sh +53 -0
- scripts/audit_mcp_tools.py +693 -0
- scripts/bench_sdk_dispatcher.py +177 -0
- scripts/capture_golden.py +169 -0
- scripts/check_graph_phantoms.py +75 -0
- scripts/dev/audit_doc_links.py +359 -0
- scripts/dev/audit_scaffold_module_tags.py +107 -0
- scripts/dev/backfill_doc_headers.py +328 -0
- scripts/dev/backfill_nav_lines.py +119 -0
- scripts/dev/fix_nav_placement.py +106 -0
- scripts/dev/inspect_sdk_options.py +45 -0
- scripts/dev/migrate_check_ids.py +170 -0
- scripts/dev/strip_purpose_blocks.py +154 -0
- scripts/dump_openapi.py +66 -0
- scripts/e2e_dispatch_tool.py +195 -0
- scripts/generate_manifest.py +166 -0
- scripts/golden_sections.py +20 -0
- scripts/graph_demo.py +161 -0
- scripts/install-git-hooks.sh +47 -0
- scripts/migrate_embeddings_minilm_to_bge_m3.py +84 -0
- scripts/operational_eval.py +445 -0
- scripts/probe_agent_session_resolver.py +59 -0
- scripts/prune_deleted_path.py +127 -0
- scripts/refactor_agent_dual_mode.py +171 -0
- scripts/refresh_skill_versions.py +302 -0
- scripts/regen_doc_index.py +209 -0
- scripts/regen_doctor_schema.py +62 -0
- scripts/regen_rules.py +94 -0
- scripts/rename_formulas_to_semantic.py +241 -0
- scripts/smoke_db_connections.py +183 -0
- scripts/smoke_doc_header.py +72 -0
- scripts/smoke_graph_e2e.py +374 -0
- scripts/smoke_sdk_dispatch.py +84 -0
- scripts/smoke_uid_resolver.py +164 -0
- scripts/verify_dispatchers.py +244 -0
- scripts/verify_phase_c_e2e.py +436 -0
- templates/__init__.py +6 -0
- templates/_base/Makefile.base +353 -0
- templates/_base/base.yaml +59 -0
- templates/_base/coding-os.yaml.template +39 -0
- templates/_base/dimension-registry.template.md +68 -0
- templates/_base/domain-config.template.json +46 -0
- templates/_base/fragments/anatomy-map.md.tmpl +11 -0
- templates/_base/fragments/context-discipline.md.tmpl +3 -0
- templates/_base/fragments/core-loop.md.tmpl +52 -0
- templates/_base/fragments/engineering-routing.md.tmpl +3 -0
- templates/_base/fragments/header.md.tmpl +6 -0
- templates/_base/fragments/identity.md.tmpl +3 -0
- templates/_base/fragments/principles.md.tmpl +3 -0
- templates/_base/fragments/retrieval-routing.md.tmpl +23 -0
- templates/_base/fragments/session-handoff.md.tmpl +3 -0
- templates/_base/fragments/skills.md.tmpl +3 -0
- templates/_base/fragments/ssot-map.md.tmpl +3 -0
- templates/_base/fragments/stop-conditions.md.tmpl +3 -0
- templates/_base/fragments/subagent-dispatch.md.tmpl +3 -0
- templates/_base/fragments/task-authoring.md.tmpl +69 -0
- templates/_base/fragments/task-logging.md.tmpl +8 -0
- templates/_base/fragments/tool-routing.md.tmpl +9 -0
- templates/_base/fragments/verification-matrix.md.tmpl +12 -0
- templates/_base/lang/dart/analysis_options.yaml +7 -0
- templates/_base/lang/php/phpcs.xml.dist +10 -0
- templates/_base/lang/python/pyproject.toml +19 -0
- templates/_base/lang/rust/clippy.toml +5 -0
- templates/_base/lang/rust/rustfmt.toml +3 -0
- templates/_base/lang/typescript/eslint.config.js +26 -0
- templates/_base/lang/typescript/tsconfig.json +15 -0
- templates/_base/lang/typescript/vitest.config.ts +10 -0
- templates/_base/scaffold/changes.log +1 -0
- templates/_base/scaffold/docs/00-index.md +55 -0
- templates/_base/scaffold/docs/_meta/feature-dependency-tree.md +30 -0
- templates/_base/scaffold/docs/_meta/foundation-map.md +56 -0
- templates/_base/scaffold/docs/_meta/questions.md +8 -0
- templates/_base/scaffold/docs/_meta/roadmap.md +33 -0
- templates/_base/scaffold/docs/api-contracts/00-index.md +58 -0
- templates/_base/scaffold/docs/api-contracts/error-format.md +58 -0
- templates/_base/scaffold/docs/architecture/00-index.md +42 -0
- templates/_base/scaffold/docs/architecture/adr/00-index.md +39 -0
- templates/_base/scaffold/docs/engineering/00-index.md +9 -0
- templates/_base/scaffold/docs/governance/00-index.md +55 -0
- templates/_base/scaffold/docs/governance/_templates/doc-cheat-sheet.md +202 -0
- templates/_base/scaffold/docs/governance/_templates/playbook-template.md +81 -0
- templates/_base/scaffold/docs/governance/_templates/post-mortem-template.md +85 -0
- templates/_base/scaffold/docs/governance/_templates/runbook-template.md +88 -0
- templates/_base/scaffold/docs/governance/_templates/security-review-template.md +111 -0
- templates/_base/scaffold/docs/governance/_templates/task-detail.md +61 -0
- templates/_base/scaffold/docs/governance/agent-workflow.md +101 -0
- templates/_base/scaffold/docs/governance/anatomy-contract.md +150 -0
- templates/_base/scaffold/docs/governance/critical-rules.md +224 -0
- templates/_base/scaffold/docs/governance/decision-records.md +58 -0
- templates/_base/scaffold/docs/governance/docs-first-protocol.md +157 -0
- templates/_base/scaffold/docs/governance/docs-system.md +151 -0
- templates/_base/scaffold/docs/governance/gdpr-compliance.md +66 -0
- templates/_base/scaffold/docs/governance/mcp-tool-inventory.md +112 -0
- templates/_base/scaffold/docs/governance/risk-register.md +26 -0
- templates/_base/scaffold/docs/governance/scaffold-boundary-contract.md +161 -0
- templates/_base/scaffold/docs/governance/task-lifecycle.md +125 -0
- templates/_base/scaffold/docs/governance/wrapper-derivation.md +50 -0
- templates/_base/scaffold/docs/insights/00-index.md +17 -0
- templates/_base/scaffold/docs/ops/00-index.md +59 -0
- templates/_base/scaffold/docs/ops/runbooks/00-index.md +9 -0
- templates/_base/scaffold/docs/playbooks/00-index.md +12 -0
- templates/_base/scaffold/docs/playbooks/research-validation.md +29 -0
- templates/_base/scaffold/docs/playbooks/security-review.md +41 -0
- templates/_base/scaffold/docs/prd/00-index.md +43 -0
- templates/_base/scaffold/docs/prd/01-snapshot-vision.md +56 -0
- templates/_base/scaffold/docs/workflow/workflow-guide.md +138 -0
- templates/_base/scaffold/src/shared/README.md +23 -0
- templates/_base/skill-enforcement.template.md +14 -0
- templates/_base/task-detail.template.md +61 -0
- templates/_presets/ai-saas.yaml +9 -0
- templates/_presets/django-next.yaml +8 -0
- templates/_presets/dotnet-react.yaml +8 -0
- templates/_presets/flutter-baas.yaml +8 -0
- templates/_presets/go-react.yaml +8 -0
- templates/_presets/hexagonal-product.yaml +16 -0
- templates/_presets/jamstack.yaml +8 -0
- templates/_presets/laravel-vue.yaml +8 -0
- templates/_presets/mean.yaml +8 -0
- templates/_presets/mern.yaml +9 -0
- templates/_presets/nest-angular.yaml +8 -0
- templates/_presets/nextjs-fastapi.yaml +10 -0
- templates/_presets/nuxt-fullstack.yaml +9 -0
- templates/_presets/pern.yaml +9 -0
- templates/_presets/rails-react.yaml +8 -0
- templates/_presets/rn-api.yaml +8 -0
- templates/_presets/rust-svelte.yaml +8 -0
- templates/_presets/spring-react.yaml +8 -0
- templates/_presets/t3-style.yaml +9 -0
- templates/_presets/tall.yaml +8 -0
- templates/_presets/wordpress-cms.yaml +8 -0
- templates/angular/rules/frontend.md +19 -0
- templates/angular/scaffold/docs/engineering/accessibility.md +46 -0
- templates/angular/scaffold/docs/engineering/angular-rules.md +35 -0
- templates/angular/scaffold/docs/playbooks/angular-app.md +42 -0
- templates/angular/scaffold/src/frontend/angular.json +52 -0
- templates/angular/scaffold/src/frontend/package.json +28 -0
- templates/angular/scaffold/src/frontend/src/app/app.component.ts +19 -0
- templates/angular/scaffold/src/frontend/src/app/app.config.ts +22 -0
- templates/angular/scaffold/src/frontend/src/app/app.routes.ts +8 -0
- templates/angular/scaffold/src/frontend/src/app/core/global-error-handler.ts +12 -0
- templates/angular/scaffold/src/frontend/src/app/health/health.component.ts +14 -0
- templates/angular/scaffold/src/frontend/src/app/health/health.service.spec.ts +16 -0
- templates/angular/scaffold/src/frontend/src/app/health/health.service.ts +10 -0
- templates/angular/scaffold/src/frontend/src/index.html +11 -0
- templates/angular/scaffold/src/frontend/src/main.ts +9 -0
- templates/angular/scaffold/src/frontend/src/styles.css +14 -0
- templates/angular/scaffold/src/frontend/tsconfig.app.json +8 -0
- templates/angular/scaffold/src/frontend/tsconfig.json +27 -0
- templates/angular/scaffold/src/frontend/tsconfig.spec.json +8 -0
- templates/angular/scaffold-boundary.yaml +27 -0
- templates/angular/skills/angular/SKILL.md +79 -0
- templates/angular/skills/angular/references/anatomy.md +69 -0
- templates/angular/stack.yaml +75 -0
- templates/aspnet-core/rules/backend.md +20 -0
- templates/aspnet-core/scaffold/docs/engineering/aspnet-core-rules.md +36 -0
- templates/aspnet-core/scaffold/docs/playbooks/aspnet-core-service.md +40 -0
- templates/aspnet-core/scaffold/src/backend/Backend.csproj +11 -0
- templates/aspnet-core/scaffold/src/backend/Backend.sln +27 -0
- templates/aspnet-core/scaffold/src/backend/Common/ExceptionHandlingMiddleware.cs +35 -0
- templates/aspnet-core/scaffold/src/backend/Features/Health/HealthEndpoints.cs +10 -0
- templates/aspnet-core/scaffold/src/backend/Features/Health/HealthService.cs +9 -0
- templates/aspnet-core/scaffold/src/backend/Program.cs +22 -0
- templates/aspnet-core/scaffold/src/backend/tests/Backend.Tests/Backend.Tests.csproj +22 -0
- templates/aspnet-core/scaffold/src/backend/tests/Backend.Tests/HealthServiceTests.cs +15 -0
- templates/aspnet-core/scaffold-boundary.yaml +24 -0
- templates/aspnet-core/skills/aspnet-core/SKILL.md +80 -0
- templates/aspnet-core/skills/aspnet-core/references/anatomy.md +65 -0
- templates/aspnet-core/stack.yaml +68 -0
- templates/astro/rules/frontend.md +20 -0
- templates/astro/scaffold/docs/engineering/astro-rules.md +40 -0
- templates/astro/scaffold/docs/playbooks/astro-app.md +57 -0
- templates/astro/scaffold/docs/playbooks/content-seo.md +37 -0
- templates/astro/scaffold/src/frontend/astro.config.mjs +10 -0
- templates/astro/scaffold/src/frontend/package.json +23 -0
- templates/astro/scaffold/src/frontend/src/components/Greeting.astro +13 -0
- templates/astro/scaffold/src/frontend/src/content/posts/hello.md +10 -0
- templates/astro/scaffold/src/frontend/src/content.config.ts +19 -0
- templates/astro/scaffold/src/frontend/src/lib/problem.test.ts +39 -0
- templates/astro/scaffold/src/frontend/src/lib/problem.ts +30 -0
- templates/astro/scaffold/src/frontend/src/pages/api/health.ts +13 -0
- templates/astro/scaffold/src/frontend/src/pages/index.astro +21 -0
- templates/astro/scaffold/src/frontend/tsconfig.json +9 -0
- templates/astro/scaffold/src/frontend/vitest.config.ts +10 -0
- templates/astro/scaffold-boundary.yaml +28 -0
- templates/astro/skills/astro/SKILL.md +71 -0
- templates/astro/skills/astro/references/anatomy.md +66 -0
- templates/astro/stack.yaml +75 -0
- templates/csharp-plain/scaffold/src/backend/Backend.csproj +12 -0
- templates/csharp-plain/scaffold/src/backend/Program.cs +1 -0
- templates/csharp-plain/scaffold-boundary.yaml +23 -0
- templates/csharp-plain/stack.yaml +50 -0
- templates/django/rules/backend.md +18 -0
- templates/django/scaffold/docs/engineering/anti-ambiguity.md +74 -0
- templates/django/scaffold/docs/engineering/backend-rules.md +133 -0
- templates/django/scaffold/docs/engineering/glossary.md +51 -0
- templates/django/scaffold/docs/engineering/logging-standards.md +107 -0
- templates/django/scaffold/docs/engineering/naming-conventions.md +68 -0
- templates/django/scaffold/docs/engineering/secrets-rotation-runbook.md +142 -0
- templates/django/scaffold/docs/playbooks/backend-api.md +119 -0
- templates/django/scaffold/src/backend/config/__init__.py +0 -0
- templates/django/scaffold/src/backend/config/settings.py +31 -0
- templates/django/scaffold/src/backend/config/urls.py +11 -0
- templates/django/scaffold/src/backend/config/wsgi.py +6 -0
- templates/django/scaffold/src/backend/manage.py +14 -0
- templates/django/scaffold/src/backend/pyproject.toml +37 -0
- templates/django/scaffold/src/backend/tests/test_health.py +4 -0
- templates/django/scaffold-boundary.yaml +25 -0
- templates/django/skills/python-django/SKILL.md +450 -0
- templates/django/skills/python-django/references/anatomy.md +117 -0
- templates/django/skills/python-django/scripts/new_endpoint.py +89 -0
- templates/django/stack.yaml +73 -0
- templates/fastapi/rules/backend.md +18 -0
- templates/fastapi/scaffold/docs/engineering/fastapi-rules.md +37 -0
- templates/fastapi/scaffold/docs/playbooks/fastapi-service.md +30 -0
- templates/fastapi/scaffold/src/backend/app/__init__.py +0 -0
- templates/fastapi/scaffold/src/backend/app/main.py +8 -0
- templates/fastapi/scaffold/src/backend/pyproject.toml +39 -0
- templates/fastapi/scaffold/src/backend/tests/test_health.py +11 -0
- templates/fastapi/scaffold-boundary.yaml +25 -0
- templates/fastapi/skills/python-fastapi/SKILL.md +75 -0
- templates/fastapi/skills/python-fastapi/references/anatomy.md +117 -0
- templates/fastapi/skills/python-fastapi/scripts/new_endpoint.py +101 -0
- templates/fastapi/stack.yaml +57 -0
- templates/flutter/rules/mobile.md +26 -0
- templates/flutter/scaffold/docs/engineering/flutter-rules.md +35 -0
- templates/flutter/scaffold/docs/playbooks/flutter-app.md +45 -0
- templates/flutter/scaffold/src/mobile/lib/core/error_mapper.dart +17 -0
- templates/flutter/scaffold/src/mobile/lib/core/router.dart +13 -0
- templates/flutter/scaffold/src/mobile/lib/main.dart +22 -0
- templates/flutter/scaffold/src/mobile/lib/screens/health_screen.dart +32 -0
- templates/flutter/scaffold/src/mobile/lib/services/health_service.dart +11 -0
- templates/flutter/scaffold/src/mobile/lib/state/health_provider.dart +13 -0
- templates/flutter/scaffold/src/mobile/pubspec.yaml +22 -0
- templates/flutter/scaffold/src/mobile/test/health_provider_test.dart +90 -0
- templates/flutter/scaffold-boundary.yaml +28 -0
- templates/flutter/skills/flutter/SKILL.md +76 -0
- templates/flutter/skills/flutter/references/anatomy.md +64 -0
- templates/flutter/stack.yaml +70 -0
- templates/go/rules/backend.md +19 -0
- templates/go/scaffold/docs/engineering/go-rules.md +45 -0
- templates/go/scaffold/docs/playbooks/go-service.md +30 -0
- templates/go/scaffold/src/backend/cmd/api/main.go +22 -0
- templates/go/scaffold/src/backend/cmd/api/main_test.go +20 -0
- templates/go/scaffold/src/backend/go.mod +3 -0
- templates/go/scaffold-boundary.yaml +25 -0
- templates/go/skills/go-patterns/SKILL.md +68 -0
- templates/go/skills/go-patterns/assets/go-checklist.md +29 -0
- templates/go/skills/go-patterns/references/anatomy.md +115 -0
- templates/go/skills/go-patterns/references/go-2026-idioms.md +92 -0
- templates/go/skills/go-patterns/scripts/new_endpoint.py +117 -0
- templates/go/skills/go-patterns/versions.json +16 -0
- templates/go/stack.yaml +54 -0
- templates/go-fiber/rules/backend.md +20 -0
- templates/go-fiber/scaffold/docs/engineering/fiber-rules.md +97 -0
- templates/go-fiber/scaffold/docs/playbooks/fiber-service.md +149 -0
- templates/go-fiber/scaffold/src/backend/cmd/api/main.go +21 -0
- templates/go-fiber/scaffold/src/backend/cmd/api/main_test.go +17 -0
- templates/go-fiber/scaffold/src/backend/go.mod +23 -0
- templates/go-fiber/scaffold/src/backend/go.sum +49 -0
- templates/go-fiber/scaffold-boundary.yaml +26 -0
- templates/go-fiber/skills/go-fiber/SKILL.md +203 -0
- templates/go-fiber/skills/go-fiber/assets/fiber-checklist.md +26 -0
- templates/go-fiber/skills/go-fiber/references/anatomy.md +116 -0
- templates/go-fiber/skills/go-fiber/references/fiber-v3-patterns.md +89 -0
- templates/go-fiber/skills/go-fiber/scripts/new_endpoint.py +107 -0
- templates/go-fiber/skills/go-fiber/versions.json +16 -0
- templates/go-fiber/stack.yaml +59 -0
- templates/go-plain/scaffold/src/backend/go.mod +3 -0
- templates/go-plain/scaffold/src/backend/main.go +7 -0
- templates/go-plain/scaffold-boundary.yaml +22 -0
- templates/go-plain/stack.yaml +51 -0
- templates/java-plain/scaffold/src/backend/mvnw +302 -0
- templates/java-plain/scaffold/src/backend/pom.xml +41 -0
- templates/java-plain/scaffold/src/backend/src/main/java/com/example/app/Main.java +10 -0
- templates/java-plain/scaffold-boundary.yaml +23 -0
- templates/java-plain/stack.yaml +51 -0
- templates/laravel/rules/backend.md +20 -0
- templates/laravel/scaffold/docs/engineering/laravel-rules.md +28 -0
- templates/laravel/scaffold/docs/playbooks/laravel-service.md +28 -0
- templates/laravel/scaffold/src/backend/app/Exceptions/Handler.php +27 -0
- templates/laravel/scaffold/src/backend/app/Http/Controllers/HealthController.php +15 -0
- templates/laravel/scaffold/src/backend/app/Support/HealthStatus.php +14 -0
- templates/laravel/scaffold/src/backend/composer.json +24 -0
- templates/laravel/scaffold/src/backend/phpunit.xml +10 -0
- templates/laravel/scaffold/src/backend/public/index.php +8 -0
- templates/laravel/scaffold/src/backend/routes/api.php +7 -0
- templates/laravel/scaffold/src/backend/tests/Unit/HealthStatusTest.php +16 -0
- templates/laravel/scaffold-boundary.yaml +23 -0
- templates/laravel/skills/laravel/SKILL.md +56 -0
- templates/laravel/skills/laravel/references/anatomy.md +65 -0
- templates/laravel/stack.yaml +66 -0
- templates/meta/rules/graph-first.md +27 -0
- templates/meta/rules/hook-author.md +19 -0
- templates/meta/rules/mcp-tool-author.md +18 -0
- templates/meta/rules/meta-engineering.md +17 -0
- templates/meta/scaffold-boundary.yaml +55 -0
- templates/meta/skills/claude-sdk-integration/SKILL.md +163 -0
- templates/meta/skills/claude-sdk-integration/assets/sdk-checklist.md +27 -0
- templates/meta/skills/claude-sdk-integration/scripts/check_model_ids.py +97 -0
- templates/meta/skills/graph-os-authoring/SKILL.md +278 -0
- templates/meta/skills/graph-os-authoring/assets/graph-os-checklist.md +25 -0
- templates/meta/skills/graph-os-authoring/scripts/new_extractor.py +76 -0
- templates/meta/skills/hook-authoring/SKILL.md +292 -0
- templates/meta/skills/hook-authoring/assets/hook-checklist.md +30 -0
- templates/meta/skills/hook-authoring/scripts/new_hook.sh +75 -0
- templates/meta/skills/mcp-tool-authoring/SKILL.md +301 -0
- templates/meta/skills/mcp-tool-authoring/assets/mcp-tool-checklist.md +29 -0
- templates/meta/skills/mcp-tool-authoring/scripts/new_tool.py +74 -0
- templates/meta/skills/meta-engineering/SKILL.md +151 -0
- templates/meta/skills/meta-engineering/assets/meta-edit-checklist.md +28 -0
- templates/meta/skills/meta-engineering/scripts/which_layer.py +61 -0
- templates/meta/skills/python-meta-server/SKILL.md +162 -0
- templates/meta/skills/python-meta-server/assets/meta-server-checklist.md +28 -0
- templates/meta/skills/python-meta-server/scripts/check_envelope.py +91 -0
- templates/meta/skills/react-vite-hub/SKILL.md +140 -0
- templates/meta/skills/react-vite-hub/assets/hub-ui-checklist.md +23 -0
- templates/meta/skills/react-vite-hub/scripts/check_vite_env.py +73 -0
- templates/meta/stack.yaml +119 -0
- templates/nestjs/rules/backend.md +20 -0
- templates/nestjs/scaffold/docs/engineering/nestjs-rules.md +33 -0
- templates/nestjs/scaffold/docs/playbooks/nestjs-service.md +39 -0
- templates/nestjs/scaffold/src/backend/nest-cli.json +5 -0
- templates/nestjs/scaffold/src/backend/package.json +28 -0
- templates/nestjs/scaffold/src/backend/src/app.module.ts +9 -0
- templates/nestjs/scaffold/src/backend/src/common/all-exceptions.filter.ts +59 -0
- templates/nestjs/scaffold/src/backend/src/health/health.controller.ts +14 -0
- templates/nestjs/scaffold/src/backend/src/health/health.module.ts +10 -0
- templates/nestjs/scaffold/src/backend/src/health/health.service.spec.ts +21 -0
- templates/nestjs/scaffold/src/backend/src/health/health.service.ts +9 -0
- templates/nestjs/scaffold/src/backend/src/main.ts +26 -0
- templates/nestjs/scaffold/src/backend/tsconfig.json +16 -0
- templates/nestjs/scaffold/src/backend/vitest.config.ts +9 -0
- templates/nestjs/scaffold-boundary.yaml +25 -0
- templates/nestjs/skills/nestjs/SKILL.md +67 -0
- templates/nestjs/skills/nestjs/references/anatomy.md +65 -0
- templates/nestjs/stack.yaml +68 -0
- templates/nextjs/rules/frontend.md +18 -0
- templates/nextjs/scaffold/docs/design/00-index.md +23 -0
- templates/nextjs/scaffold/docs/design/colors-tokens.md +141 -0
- templates/nextjs/scaffold/docs/design/components-patterns.md +159 -0
- templates/nextjs/scaffold/docs/design/motion-accessibility.md +137 -0
- templates/nextjs/scaffold/docs/design/typography-spacing.md +107 -0
- templates/nextjs/scaffold/docs/engineering/accessibility-web.md +56 -0
- templates/nextjs/scaffold/docs/engineering/copywriting-standard.md +102 -0
- templates/nextjs/scaffold/docs/engineering/formatting-rules.md +89 -0
- templates/nextjs/scaffold/docs/engineering/frontend-rendering-rules.md +80 -0
- templates/nextjs/scaffold/docs/engineering/frontend-rules.md +183 -0
- templates/nextjs/scaffold/docs/engineering/i18n-policy.md +99 -0
- templates/nextjs/scaffold/docs/pages-content-spec/00-index.md +78 -0
- templates/nextjs/scaffold/docs/playbooks/content-seo.md +55 -0
- templates/nextjs/scaffold/docs/playbooks/docs-governance.md +51 -0
- templates/nextjs/scaffold/docs/playbooks/frontend-ui.md +63 -0
- templates/nextjs/scaffold/src/frontend/app/layout.tsx +14 -0
- templates/nextjs/scaffold/src/frontend/app/page.tsx +3 -0
- templates/nextjs/scaffold/src/frontend/eslint.config.js +17 -0
- templates/nextjs/scaffold/src/frontend/lib/greeting.test.ts +9 -0
- templates/nextjs/scaffold/src/frontend/lib/greeting.ts +3 -0
- templates/nextjs/scaffold/src/frontend/package.json +28 -0
- templates/nextjs/scaffold/src/frontend/tsconfig.json +18 -0
- templates/nextjs/scaffold/src/frontend/vitest.config.ts +10 -0
- templates/nextjs/scaffold-boundary.yaml +30 -0
- templates/nextjs/skills/nextjs-react/SKILL.md +485 -0
- templates/nextjs/skills/nextjs-react/references/anatomy.md +116 -0
- templates/nextjs/skills/nextjs-react/scripts/new_component.py +72 -0
- templates/nextjs/stack.yaml +81 -0
- templates/node-express/rules/backend.md +20 -0
- templates/node-express/scaffold/docs/engineering/express-rules.md +30 -0
- templates/node-express/scaffold/docs/playbooks/express-service.md +35 -0
- templates/node-express/scaffold/src/backend/package.json +24 -0
- templates/node-express/scaffold/src/backend/src/index.ts +17 -0
- templates/node-express/scaffold/src/backend/src/middleware/error-handler.ts +12 -0
- templates/node-express/scaffold/src/backend/src/routes/health.test.ts +33 -0
- templates/node-express/scaffold/src/backend/src/routes/health.ts +7 -0
- templates/node-express/scaffold/src/backend/tsconfig.json +15 -0
- templates/node-express/scaffold/src/backend/types/express-bootstrap.d.ts +21 -0
- templates/node-express/scaffold-boundary.yaml +25 -0
- templates/node-express/skills/node-express/SKILL.md +70 -0
- templates/node-express/skills/node-express/references/anatomy.md +63 -0
- templates/node-express/stack.yaml +63 -0
- templates/python/scaffold/docs/engineering/python-rules.md +27 -0
- templates/python/scaffold/docs/playbooks/python-library.md +35 -0
- templates/python/stack.yaml +60 -0
- templates/rails/rules/backend.md +10 -0
- templates/rails/scaffold/docs/engineering/rails-rules.md +33 -0
- templates/rails/scaffold/docs/playbooks/rails-service.md +42 -0
- templates/rails/scaffold/src/backend/Gemfile +12 -0
- templates/rails/scaffold/src/backend/app/controllers/application_controller.rb +26 -0
- templates/rails/scaffold/src/backend/app/controllers/health_controller.rb +6 -0
- templates/rails/scaffold/src/backend/app/models/health.rb +6 -0
- templates/rails/scaffold/src/backend/config/application.rb +12 -0
- templates/rails/scaffold/src/backend/config/boot.rb +3 -0
- templates/rails/scaffold/src/backend/config/routes.rb +4 -0
- templates/rails/scaffold/src/backend/config.ru +5 -0
- templates/rails/scaffold/src/backend/spec/rails_helper.rb +18 -0
- templates/rails/scaffold/src/backend/spec/requests/health_spec.rb +24 -0
- templates/rails/scaffold-boundary.yaml +25 -0
- templates/rails/skills/rails/SKILL.md +62 -0
- templates/rails/skills/rails/references/anatomy.md +71 -0
- templates/rails/stack.yaml +72 -0
- templates/react-native/rules/mobile.md +26 -0
- templates/react-native/scaffold/docs/engineering/accessibility-mobile.md +95 -0
- templates/react-native/scaffold/docs/engineering/mobile-rules.md +56 -0
- templates/react-native/scaffold/docs/engineering/offline-first.md +61 -0
- templates/react-native/scaffold/docs/playbooks/mobile-app.md +49 -0
- templates/react-native/scaffold/src/mobile/App.tsx +9 -0
- templates/react-native/scaffold/src/mobile/eslint.config.js +17 -0
- templates/react-native/scaffold/src/mobile/package.json +23 -0
- templates/react-native/scaffold/src/mobile/src/greeting.test.ts +9 -0
- templates/react-native/scaffold/src/mobile/src/greeting.ts +3 -0
- templates/react-native/scaffold/src/mobile/tsconfig.json +17 -0
- templates/react-native/scaffold/src/mobile/vitest.config.ts +10 -0
- templates/react-native/scaffold-boundary.yaml +30 -0
- templates/react-native/skills/react-native-mobile/SKILL.md +119 -0
- templates/react-native/skills/react-native-mobile/assets/rn-mobile-checklist.md +28 -0
- templates/react-native/skills/react-native-mobile/references/anatomy.md +140 -0
- templates/react-native/skills/react-native-mobile/references/rn-2026-practices.md +54 -0
- templates/react-native/skills/react-native-mobile/scripts/new_screen.py +73 -0
- templates/react-native/skills/react-native-mobile/versions.json +16 -0
- templates/react-native/skills/react-native-patterns/SKILL.md +512 -0
- templates/react-native/skills/react-native-patterns/assets/rn-review-checklist.md +26 -0
- templates/react-native/skills/react-native-patterns/references/anatomy.md +62 -0
- templates/react-native/skills/react-native-patterns/references/list-performance.md +70 -0
- templates/react-native/skills/react-native-patterns/scripts/scan_rn_perf.py +77 -0
- templates/react-native/stack.yaml +70 -0
- templates/ruby-plain/scaffold/src/backend/Gemfile +8 -0
- templates/ruby-plain/scaffold/src/backend/main.rb +3 -0
- templates/ruby-plain/scaffold-boundary.yaml +23 -0
- templates/ruby-plain/stack.yaml +50 -0
- templates/rust-axum/rules/backend.md +20 -0
- templates/rust-axum/scaffold/docs/engineering/rust-axum-rules.md +35 -0
- templates/rust-axum/scaffold/docs/playbooks/rust-axum-service.md +43 -0
- templates/rust-axum/scaffold/src/backend/Cargo.toml +20 -0
- templates/rust-axum/scaffold/src/backend/src/app.rs +12 -0
- templates/rust-axum/scaffold/src/backend/src/error.rs +48 -0
- templates/rust-axum/scaffold/src/backend/src/main.rs +24 -0
- templates/rust-axum/scaffold/src/backend/src/routes/health.rs +37 -0
- templates/rust-axum/scaffold/src/backend/src/routes/mod.rs +2 -0
- templates/rust-axum/scaffold-boundary.yaml +25 -0
- templates/rust-axum/skills/rust/SKILL.md +73 -0
- templates/rust-axum/skills/rust/references/anatomy.md +63 -0
- templates/rust-axum/stack.yaml +65 -0
- templates/rust-plain/scaffold/src/backend/Cargo.toml +6 -0
- templates/rust-plain/scaffold/src/backend/src/main.rs +3 -0
- templates/rust-plain/scaffold-boundary.yaml +23 -0
- templates/rust-plain/stack.yaml +51 -0
- templates/spring-boot/rules/backend.md +20 -0
- templates/spring-boot/scaffold/docs/engineering/spring-boot-rules.md +35 -0
- templates/spring-boot/scaffold/docs/playbooks/spring-boot-service.md +45 -0
- templates/spring-boot/scaffold/src/backend/mvnw +302 -0
- templates/spring-boot/scaffold/src/backend/pom.xml +69 -0
- templates/spring-boot/scaffold/src/backend/src/main/java/com/example/app/Application.java +16 -0
- templates/spring-boot/scaffold/src/backend/src/main/java/com/example/app/common/GlobalExceptionHandler.java +31 -0
- templates/spring-boot/scaffold/src/backend/src/main/java/com/example/app/health/HealthController.java +22 -0
- templates/spring-boot/scaffold/src/backend/src/main/java/com/example/app/health/HealthService.java +12 -0
- templates/spring-boot/scaffold/src/backend/src/main/java/com/example/app/health/HealthStatus.java +4 -0
- templates/spring-boot/scaffold/src/backend/src/test/java/com/example/app/health/HealthServiceTest.java +15 -0
- templates/spring-boot/scaffold-boundary.yaml +26 -0
- templates/spring-boot/skills/spring-boot/SKILL.md +84 -0
- templates/spring-boot/skills/spring-boot/references/anatomy.md +63 -0
- templates/spring-boot/stack.yaml +65 -0
- templates/svelte-sveltekit/rules/frontend.md +20 -0
- templates/svelte-sveltekit/scaffold/docs/engineering/svelte-sveltekit-rules.md +37 -0
- templates/svelte-sveltekit/scaffold/docs/playbooks/svelte-sveltekit-app.md +36 -0
- templates/svelte-sveltekit/scaffold/src/frontend/package.json +22 -0
- templates/svelte-sveltekit/scaffold/src/frontend/src/app.html +12 -0
- templates/svelte-sveltekit/scaffold/src/frontend/src/hooks.server.ts +14 -0
- templates/svelte-sveltekit/scaffold/src/frontend/src/lib/components/Greeting.svelte +6 -0
- templates/svelte-sveltekit/scaffold/src/frontend/src/lib/stores/count.test.ts +26 -0
- templates/svelte-sveltekit/scaffold/src/frontend/src/lib/stores/count.ts +4 -0
- templates/svelte-sveltekit/scaffold/src/frontend/src/routes/+layout.svelte +24 -0
- templates/svelte-sveltekit/scaffold/src/frontend/src/routes/+page.svelte +9 -0
- templates/svelte-sveltekit/scaffold/src/frontend/src/routes/+page.ts +7 -0
- templates/svelte-sveltekit/scaffold/src/frontend/src/routes/health/+server.ts +7 -0
- templates/svelte-sveltekit/scaffold/src/frontend/svelte.config.js +10 -0
- templates/svelte-sveltekit/scaffold/src/frontend/tsconfig.json +7 -0
- templates/svelte-sveltekit/scaffold/src/frontend/vite.config.ts +7 -0
- templates/svelte-sveltekit/scaffold/src/frontend/vitest.config.ts +11 -0
- templates/svelte-sveltekit/scaffold-boundary.yaml +29 -0
- templates/svelte-sveltekit/skills/svelte/SKILL.md +90 -0
- templates/svelte-sveltekit/skills/svelte/references/anatomy.md +62 -0
- templates/svelte-sveltekit/stack.yaml +70 -0
- templates/typescript-plain/scaffold/src/index.ts +3 -0
- templates/typescript-plain/scaffold/tsconfig.json +13 -0
- templates/typescript-plain/scaffold-boundary.yaml +22 -0
- templates/typescript-plain/stack.yaml +44 -0
- templates/vue-nuxt/rules/frontend.md +19 -0
- templates/vue-nuxt/scaffold/docs/engineering/nuxt-rules.md +30 -0
- templates/vue-nuxt/scaffold/docs/playbooks/nuxt-app.md +29 -0
- templates/vue-nuxt/scaffold/src/frontend/app.vue +3 -0
- templates/vue-nuxt/scaffold/src/frontend/nuxt.config.ts +11 -0
- templates/vue-nuxt/scaffold/src/frontend/package.json +20 -0
- templates/vue-nuxt/scaffold/src/frontend/pages/index.test.ts +19 -0
- templates/vue-nuxt/scaffold/src/frontend/pages/index.vue +11 -0
- templates/vue-nuxt/scaffold/src/frontend/vitest.config.ts +12 -0
- templates/vue-nuxt/scaffold-boundary.yaml +26 -0
- templates/vue-nuxt/skills/vue-nuxt/SKILL.md +57 -0
- templates/vue-nuxt/skills/vue-nuxt/references/anatomy.md +60 -0
- templates/vue-nuxt/stack.yaml +61 -0
- templates/wordpress/rules/backend.md +19 -0
- templates/wordpress/scaffold/docs/engineering/wordpress-rules.md +28 -0
- templates/wordpress/scaffold/docs/playbooks/wordpress-service.md +29 -0
- templates/wordpress/scaffold/src/backend/composer.json +17 -0
- templates/wordpress/scaffold/src/backend/phpcs.xml.dist +11 -0
- templates/wordpress/scaffold/src/backend/phpunit.xml +10 -0
- templates/wordpress/scaffold/src/backend/plugin/inc/health.php +8 -0
- templates/wordpress/scaffold/src/backend/plugin/plugin.php +28 -0
- templates/wordpress/scaffold/src/backend/tests/HealthStatusTest.php +15 -0
- templates/wordpress/scaffold/src/backend/theme/functions.php +18 -0
- templates/wordpress/scaffold/src/backend/theme/style.css +11 -0
- templates/wordpress/scaffold-boundary.yaml +23 -0
- templates/wordpress/skills/wordpress/SKILL.md +110 -0
- templates/wordpress/skills/wordpress/assets/wp-checklist.md +28 -0
- templates/wordpress/skills/wordpress/references/wp-development.md +75 -0
- templates/wordpress/skills/wordpress/references/wp-security.md +68 -0
- templates/wordpress/skills/wordpress/scripts/scan_wp_smells.py +91 -0
- templates/wordpress/skills/wordpress/versions.json +16 -0
- templates/wordpress/stack.yaml +60 -0
- thinking_os/__init__.py +1 -0
- thinking_os/_agent_markers.py +32 -0
- thinking_os/background.py +405 -0
- thinking_os/bootstrap_outcomes.py +200 -0
- thinking_os/budget.py +302 -0
- thinking_os/capture.py +495 -0
- thinking_os/cognition.py +516 -0
- thinking_os/cognition_schemas.py +517 -0
- thinking_os/compress.py +192 -0
- thinking_os/concepts.py +233 -0
- thinking_os/dashboard.py +159 -0
- thinking_os/database.py +2883 -0
- thinking_os/decay.py +393 -0
- thinking_os/digest.py +295 -0
- thinking_os/dispatcher.py +192 -0
- thinking_os/dispatcher_helpers.py +48 -0
- thinking_os/dispatchers/__init__.py +3 -0
- thinking_os/dispatchers/default.py +47 -0
- thinking_os/distill.py +192 -0
- thinking_os/doc_indexer.py +905 -0
- thinking_os/embeddings.py +943 -0
- thinking_os/formula_composer.py +556 -0
- thinking_os/gate_marker.py +75 -0
- thinking_os/graph.py +296 -0
- thinking_os/graph_indexer.py +360 -0
- thinking_os/health_check.py +517 -0
- thinking_os/impact.py +119 -0
- thinking_os/memory_gc.py +356 -0
- thinking_os/migrator_embeddings.py +318 -0
- thinking_os/precision.py +194 -0
- thinking_os/record_outcome.py +399 -0
- thinking_os/repair.py +105 -0
- thinking_os/retrieval_quality.py +239 -0
- thinking_os/roles_state.py +168 -0
- thinking_os/sanitizer.py +320 -0
- thinking_os/server.py +3160 -0
- thinking_os/session_enrich.py +272 -0
- thinking_os/session_observe_worker.py +111 -0
- thinking_os/session_startup.py +74 -0
- thinking_os/session_summary.py +245 -0
- thinking_os/task_analyzer.py +462 -0
- thinking_os/task_parser.py +342 -0
- thinking_os/task_sync.py +73 -0
- thinking_os/tools/__init__.py +6 -0
- thinking_os/tools/_shared.py +947 -0
- thinking_os/tools/cognition.py +1867 -0
- thinking_os/tools/docs.py +770 -0
- thinking_os/tools/learning.py +2078 -0
- thinking_os/tools/logs.py +79 -0
- thinking_os/tools/memory.py +840 -0
- thinking_os/tools/metrics.py +200 -0
- thinking_os/tools/retrieve.py +415 -0
- thinking_os/tools/routing.py +658 -0
- thinking_os/tools/tasks.py +449 -0
- thinking_os/tools/trajectory.py +181 -0
- thinking_os/tracing.py +235 -0
- web/__init__.py +5 -0
- web/_cache.py +118 -0
- web/_deps.py +56 -0
- web/_envelope.py +85 -0
- web/_project_context.py +140 -0
- web/chat_providers.py +108 -0
- web/init_jobs.py +216 -0
- web/routes/__init__.py +25 -0
- web/routes/_bounded_read.py +76 -0
- web/routes/board.py +1089 -0
- web/routes/cognition.py +1838 -0
- web/routes/config.py +635 -0
- web/routes/graph.py +513 -0
- web/routes/health.py +180 -0
- web/routes/hooks.py +288 -0
- web/routes/hub.py +1219 -0
- web/routes/logs.py +374 -0
- web/routes/metrics.py +43 -0
- web/routes/observability.py +400 -0
- web/routes/patterns.py +227 -0
- web/routes/presence.py +609 -0
- web/routes/roles.py +446 -0
- web/routes/scheduled.py +261 -0
- web/routes/search.py +238 -0
- web/routes/sessions.py +220 -0
- web/routes/settings.py +363 -0
- web/routes/stream.py +547 -0
- web/security.py +157 -0
- web/server.py +283 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
<!-- domain:DOCS | layer:policy | ssot:true | updated:2026-05-13 -->
|
|
2
|
+
# Scaffold Boundary Contract
|
|
3
|
+
|
|
4
|
+
> P: Defines `src/templates/<stack>/scaffold-boundary.yaml` — machine-readable subtree isolation rules so multi-stack projects (`src/mobile/` + `src/backend/` + `src/ai-service/`) can never write outside their lane.
|
|
5
|
+
> R: Adding a new stack, debugging a `boundary mismatch` block, or auditing cross-stack import discipline.
|
|
6
|
+
> S: Authoring code — read the per-stack `anatomy.md` instead.
|
|
7
|
+
> N: [anatomy-contract.md](anatomy-contract.md), [docs-system.md](docs-system.md)
|
|
8
|
+
|
|
9
|
+
> Nav: [Governance Index](./00-index.md)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## File location
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
src/templates/<stack>/scaffold-boundary.yaml
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
One file per stack. Ships alongside `stack.yaml`. The aggregator merges every installed stack's boundary at `cos init` into the consumer project's `.coding-os/scaffold-boundary.yaml`.
|
|
20
|
+
|
|
21
|
+
## Schema
|
|
22
|
+
|
|
23
|
+
```yaml
|
|
24
|
+
version: 1
|
|
25
|
+
stack: <stack-id> # MUST equal stack.yaml::id
|
|
26
|
+
roots: # Subtree(s) this stack owns. Relative to project root.
|
|
27
|
+
- <path>/ # Trailing slash required. Conventionally under src/.
|
|
28
|
+
file_patterns: # Globs the stack OWNS (and only this stack may write).
|
|
29
|
+
- "**/*.<ext>"
|
|
30
|
+
imports_from: # Other-stack subtrees this stack MAY import from (read-only).
|
|
31
|
+
- <path>/
|
|
32
|
+
forbids_writing_in: # Other-stack subtrees this stack MUST NEVER write to.
|
|
33
|
+
- <path>/
|
|
34
|
+
notes: # Optional free-text.
|
|
35
|
+
- <one-line>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Every field is required EXCEPT `notes`. Empty arrays (`forbids_writing_in: []`) are accepted; missing keys are rejected by the parser.
|
|
39
|
+
|
|
40
|
+
## Field semantics
|
|
41
|
+
|
|
42
|
+
### `version`
|
|
43
|
+
|
|
44
|
+
Always `1` for now. Bump only if the schema changes incompatibly; old consumer projects pin their boundary file's version.
|
|
45
|
+
|
|
46
|
+
### `stack`
|
|
47
|
+
|
|
48
|
+
The stack id from `stack.yaml::id`. Validation: `re.fullmatch(r"[a-z0-9][a-z0-9-]{0,30}", stack)`. The aggregator rejects mismatches.
|
|
49
|
+
|
|
50
|
+
### `roots`
|
|
51
|
+
|
|
52
|
+
The directory (or directories) the stack writes into. A multi-stack project has each stack in its own root under `src/`:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
project/
|
|
56
|
+
src/mobile/ ← react-native root
|
|
57
|
+
src/backend/ ← go-fiber root
|
|
58
|
+
src/ai-service/ ← fastapi root
|
|
59
|
+
src/shared/ ← imports_from target (cross-stack types/contracts)
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
A stack may declare multiple roots only when it legitimately produces files in disjoint trees. Two stacks claiming the same root = aggregator rejects at `cos init`.
|
|
63
|
+
|
|
64
|
+
### `file_patterns`
|
|
65
|
+
|
|
66
|
+
Globs whose match implies "this stack owns this file." `enforce-skill.sh` uses these to pick the matching skill on every Write/Edit. Typical:
|
|
67
|
+
|
|
68
|
+
| Stack | file_patterns |
|
|
69
|
+
|---|---|
|
|
70
|
+
| nextjs | `src/frontend/**/*.{ts,tsx,js,jsx}` |
|
|
71
|
+
| react-native | `src/mobile/**/*.{ts,tsx}` |
|
|
72
|
+
| django | `src/backend/**/*.py` |
|
|
73
|
+
| go-fiber | `src/backend/**/*.go` |
|
|
74
|
+
| fastapi | `src/ai-service/**/*.py` |
|
|
75
|
+
|
|
76
|
+
When two stacks could match (e.g. fastapi + django both want `**/*.py`), disambiguate with a more specific root prefix.
|
|
77
|
+
|
|
78
|
+
### `imports_from`
|
|
79
|
+
|
|
80
|
+
Whitelist of subtrees this stack's source may IMPORT from. Empty list = no cross-stack imports allowed. Standard convention:
|
|
81
|
+
|
|
82
|
+
```yaml
|
|
83
|
+
imports_from:
|
|
84
|
+
- src/shared/ # cross-stack types / contracts
|
|
85
|
+
- src/shared/types/
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Avoid listing other stack roots here. If your react-native code needs go types, add a contract layer in `src/shared/` instead.
|
|
89
|
+
|
|
90
|
+
### `forbids_writing_in`
|
|
91
|
+
|
|
92
|
+
Hard list of subtrees this stack must never write to. PreToolUse Write/Edit hook blocks. Typical:
|
|
93
|
+
|
|
94
|
+
```yaml
|
|
95
|
+
# nextjs/scaffold-boundary.yaml
|
|
96
|
+
forbids_writing_in:
|
|
97
|
+
- src/mobile/
|
|
98
|
+
- src/backend/
|
|
99
|
+
- src/ai-service/
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
If the agent's active stack-skill is `nextjs-react` and it tries to Write `src/backend/api.go`, the hook blocks with:
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
BLOCKED: stack 'nextjs' cannot write to src/backend/. Boundary defined at:
|
|
106
|
+
src/templates/nextjs/scaffold-boundary.yaml::forbids_writing_in
|
|
107
|
+
Switch to the right skill or open a multi-stack task.
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Aggregation at `cos init`
|
|
111
|
+
|
|
112
|
+
When `cos init -t nextjs,go-fiber,react-native` runs, the CLI:
|
|
113
|
+
|
|
114
|
+
1. Reads each stack's `scaffold-boundary.yaml`.
|
|
115
|
+
2. Validates every `roots` entry is unique across all installed stacks.
|
|
116
|
+
3. Validates `imports_from` only references subtrees that exist in the merged set OR `src/shared/`.
|
|
117
|
+
4. Writes `.coding-os/scaffold-boundary.yaml` in the consumer project — a flat list of every stack's boundary.
|
|
118
|
+
|
|
119
|
+
The consumer project's hook reads `.coding-os/scaffold-boundary.yaml` at runtime; it does not re-read the meta-repo.
|
|
120
|
+
|
|
121
|
+
## Hook integration
|
|
122
|
+
|
|
123
|
+
`src/core/hooks/enforce-skill.sh` (PreToolUse Write|Edit) consults the consumer's `.coding-os/scaffold-boundary.yaml`:
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
on Write/Edit of <path>:
|
|
127
|
+
matched_stack = first stack whose file_patterns matches <path>
|
|
128
|
+
active_stack = active skill's owner stack (from .coding-os/<agent>/.role)
|
|
129
|
+
|
|
130
|
+
if matched_stack and matched_stack != active_stack:
|
|
131
|
+
if <path> in any active stack's forbids_writing_in:
|
|
132
|
+
BLOCK
|
|
133
|
+
else:
|
|
134
|
+
WARN # cross-stack edit allowed but flagged
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
The hook is fire-and-forget for WARN, BLOCK for forbids — never silent.
|
|
138
|
+
|
|
139
|
+
## Authoring rules
|
|
140
|
+
|
|
141
|
+
- One file per stack. Multi-stack rules belong in the consumer project's aggregated copy.
|
|
142
|
+
- Use forward-slash paths even on Windows hosts.
|
|
143
|
+
- `roots` MUST end with `/` and conventionally start with `src/`; file_patterns MUST be globs.
|
|
144
|
+
- Every `forbids_writing_in` entry MUST appear as a `roots` entry in another installed stack — otherwise the rule is unreachable.
|
|
145
|
+
|
|
146
|
+
## Validation
|
|
147
|
+
|
|
148
|
+
`tests/test_scaffold_boundary_contract.py` runs on every PR and asserts:
|
|
149
|
+
|
|
150
|
+
- Every `src/templates/<stack>/scaffold-boundary.yaml` parses as YAML.
|
|
151
|
+
- Required keys present; types match.
|
|
152
|
+
- `stack` field equals enclosing dir name.
|
|
153
|
+
- No two stacks share a root.
|
|
154
|
+
- No `forbids_writing_in` entry references a path no installed stack owns.
|
|
155
|
+
|
|
156
|
+
## Adding a stack
|
|
157
|
+
|
|
158
|
+
1. Drop `src/templates/<stack>/scaffold-boundary.yaml` per schema above.
|
|
159
|
+
2. Run `pytest tests/test_scaffold_boundary_contract.py -q` to verify.
|
|
160
|
+
3. Run `make manifest-regen` so `src/core/scaffold_manifest.json` picks the new stack up.
|
|
161
|
+
4. Run a smoke `cos init -t <stack> --debug` to confirm aggregation works.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
<!-- domain:DOCS | layer:policy | ssot:true | updated:2026-05-08 | module:tasks -->
|
|
2
|
+
# Task Lifecycle Policy
|
|
3
|
+
|
|
4
|
+
> P: Canonical lifecycle for creating, executing, and closing tasks under the Scrumban model (`src/core/board_os/`).
|
|
5
|
+
> R: Creating a task, transitioning status, or aligning task scripts and templates.
|
|
6
|
+
> S: Reading existing task content unrelated to lifecycle change.
|
|
7
|
+
> N: [docs-system.md](docs-system.md), [agent-workflow.md](agent-workflow.md), [_templates/task-detail.md](_templates/task-detail.md)
|
|
8
|
+
|
|
9
|
+
> Nav: [Governance Index](./00-index.md) | [Docs Index](../00-index.md)
|
|
10
|
+
|
|
11
|
+
## SSOT and Mirrors
|
|
12
|
+
|
|
13
|
+
- `docs/tasks/TASK-###-slug.md` — **canonical detail file**. One per active or completed task. File frontmatter and body are the source of truth.
|
|
14
|
+
- `src/core/board_os/db.py` (table `tasks`) — **derived mirror**. Mtime-incremental sync from the detail files; never edited by hand.
|
|
15
|
+
- `cos board` / `cos board --web` — **live view** rendered from the DB.
|
|
16
|
+
|
|
17
|
+
There is no flat `docs/tasks.md` index. Status is read from frontmatter, not from a top-level checkbox file.
|
|
18
|
+
|
|
19
|
+
## Status States
|
|
20
|
+
|
|
21
|
+
`icebox → in_progress → testing → complete`, plus `blocked` reachable from any state (and `emergency` / `archive` for the incident and retirement lanes).
|
|
22
|
+
|
|
23
|
+
Transitions go through `cos task-*` (or the equivalent MCP tool). The CLI writes the detail-file frontmatter and the DB row atomically; manual edits to one side without the other create drift that the doctor will flag.
|
|
24
|
+
|
|
25
|
+
## Required Artifacts
|
|
26
|
+
|
|
27
|
+
For any task that is `in_progress`, `testing`, `blocked`, or `complete`:
|
|
28
|
+
|
|
29
|
+
- A primary detail file at `docs/tasks/TASK-###-slug.md` authored from `src/templates/task-detail.md`.
|
|
30
|
+
- A non-empty Work Log section once execution starts (transition gates check this).
|
|
31
|
+
- An Outcome line at the top, plus Read First, Acceptance (Given/When/Then), and Rollback sections.
|
|
32
|
+
- Optional companion reference docs only when the primary file would exceed the size cap (warn ≥1.5 k tokens, block ≥3 k — Rule 14).
|
|
33
|
+
|
|
34
|
+
Backlog entries that are not yet started may live in `cos board` (icebox status) without a detail file. Detail file becomes required at the moment of first transition out of icebox.
|
|
35
|
+
|
|
36
|
+
## Execution Rules
|
|
37
|
+
|
|
38
|
+
- Move the task to `in_progress` before any substantial Write/Edit. Hooks block code edits without an active task marker.
|
|
39
|
+
- Complexity Gate (AGENTS.md § Core Loop) runs in Classify before Orient. The gate's Dimension Map and Read List inform the rest of the loop and are recorded in the task's Notes when non-trivial.
|
|
40
|
+
- Keep Work Log up to date as you go — one bullet per meaningful checkpoint. The CLI's `cos work-log TASK-NNN "note"` is preferred so the DB cache (`work_log_last_5`) stays fresh.
|
|
41
|
+
- Use `Given / When / Then` for Acceptance criteria.
|
|
42
|
+
- Move to `complete` only after Verification Matrix tests for the changed surface pass. Untested error paths fail the gate.
|
|
43
|
+
- Search the repo and the graph before creating any new file, pattern, or rule. Reuse beats reinvention.
|
|
44
|
+
|
|
45
|
+
## Primary Task File Contract
|
|
46
|
+
|
|
47
|
+
Required sections in this order (template lives at `src/templates/task-detail.md`):
|
|
48
|
+
|
|
49
|
+
- `## Outcome` — single sentence describing the externally visible result.
|
|
50
|
+
- `## Read First` — annotated list of files and refs the executor should load before editing.
|
|
51
|
+
- `## Acceptance` — numbered list, Given/When/Then format.
|
|
52
|
+
- `## Work Log` — append-only bullets, newest at the bottom.
|
|
53
|
+
- `## Rollback` — one-paragraph plan for backing the change out.
|
|
54
|
+
|
|
55
|
+
Optional sections:
|
|
56
|
+
|
|
57
|
+
- `## Notes` — working notes, findings, dimension maps for COMPLICATED+ tasks.
|
|
58
|
+
- `## Dependencies` — only when the task is gated by other tasks; mirrored in the `depends_on` frontmatter.
|
|
59
|
+
|
|
60
|
+
## Frontmatter Fields
|
|
61
|
+
|
|
62
|
+
| Field | Required | Notes |
|
|
63
|
+
|---|---|---|
|
|
64
|
+
| `id` | yes | matches the file name slug |
|
|
65
|
+
| `title` | yes | one line, no trailing punctuation |
|
|
66
|
+
| `swimlane` | yes | agent-defined; common: `infra`, `frontend`, `docs`, `research` |
|
|
67
|
+
| `kind` | yes | one of `feature · bug · chore · spike · docs · refactor · test · security` |
|
|
68
|
+
| `status` | yes | `icebox · in_progress · testing · blocked · complete · emergency · archive` |
|
|
69
|
+
| `priority` | yes | `P1 · P2 · P3` |
|
|
70
|
+
| `appetite` | yes | shape-up budget, e.g. `30m · 2h · 1d · 2w` |
|
|
71
|
+
| `epic`, `labels` | no | grouping helpers |
|
|
72
|
+
| `depends_on`, `blocked_by` | no | task IDs |
|
|
73
|
+
| `references` | no | doc paths the task points at |
|
|
74
|
+
| `created`, `started`, `completed` | auto | written by the CLI on transitions |
|
|
75
|
+
| `agent_session` | auto | fingerprint of the agent that started the task |
|
|
76
|
+
|
|
77
|
+
## CLI and MCP Surface
|
|
78
|
+
|
|
79
|
+
| Action | CLI | MCP |
|
|
80
|
+
|---|---|---|
|
|
81
|
+
| View board | `cos board` / `cos board --web` | `cos_task_board` |
|
|
82
|
+
| Create | `cos task-create --title "…" --swimlane … --kind …` | `cos_task_create` |
|
|
83
|
+
| Start | `cos task-start TASK-NNN` | `cos_task_move` → `in_progress` |
|
|
84
|
+
| Move to testing | `cos task-move TASK-NNN --to testing` | `cos_task_move` → `testing` |
|
|
85
|
+
| Complete | `cos task-done TASK-NNN` | `cos_task_move` → `complete` |
|
|
86
|
+
| Block | `cos task-move TASK-NNN --to blocked` | `cos_task_move` → `blocked` |
|
|
87
|
+
| Append work log | `cos work-log TASK-NNN "note"` | `cos_work_log_append` |
|
|
88
|
+
| Daily standup | `cos daily` | `cos_task_daily` |
|
|
89
|
+
| WIP check | `cos wip` | `cos_task_wip_check` |
|
|
90
|
+
| Pick next | `cos task-pick` | `cos_task_pick` |
|
|
91
|
+
|
|
92
|
+
## The `make task-*` wrappers
|
|
93
|
+
|
|
94
|
+
`cos task-*` is the canonical task interface. `src/templates/_base/Makefile.base` keeps a few `make task-*` targets purely as muscle-memory wrappers — each shells straight out to `cos`:
|
|
95
|
+
|
|
96
|
+
| Wrapper | Delegates to |
|
|
97
|
+
|---|---|
|
|
98
|
+
| `make task-start TASK=098` | `cos task-start TASK-098` |
|
|
99
|
+
| `make task-done TASK=098` | `cos task-done TASK-098` |
|
|
100
|
+
| `make task-block TASK=098 REASON="…"` | `cos task-block TASK-098 --reason "…"` |
|
|
101
|
+
| `make task-create` | prints the `cos task-create` usage (it needs `--swimlane` / `--kind`) |
|
|
102
|
+
|
|
103
|
+
The legacy file-based task system — the `task-*.sh` scripts and the flat `docs/tasks.md` index — has been removed. `make task-*` provides nothing that `cos task-*` does not; new code and docs should always call `cos task-*` directly.
|
|
104
|
+
|
|
105
|
+
## Script Output Convention
|
|
106
|
+
|
|
107
|
+
| Prefix | Meaning | Stream |
|
|
108
|
+
|---|---|---|
|
|
109
|
+
| `OK:` | success | stdout |
|
|
110
|
+
| `ERROR:` | fatal | stderr, exit 1 |
|
|
111
|
+
| `WARN:` | non-fatal | stderr |
|
|
112
|
+
| `INFO:` | progress / context | stdout |
|
|
113
|
+
|
|
114
|
+
## Outcome Tracking
|
|
115
|
+
|
|
116
|
+
After every transition into `complete` or `blocked`, the workflow records an outcome row to `coding-os.db` for the Learning Loop:
|
|
117
|
+
|
|
118
|
+
| Field | Values | Source |
|
|
119
|
+
|---|---|---|
|
|
120
|
+
| outcome | `success · rework · partial · blocked` | agent assessment |
|
|
121
|
+
| duration_min | integer | session elapsed time |
|
|
122
|
+
| model | active model id | dispatcher |
|
|
123
|
+
| skills_used | JSON array | skill enforcement hook |
|
|
124
|
+
|
|
125
|
+
Outcomes feed pattern extraction every N completions. See [agent-workflow.md](agent-workflow.md) § Memory & Learning.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<!-- domain:DOCS | layer:policy | ssot:true | updated:2026-05-10 -->
|
|
2
|
+
# Wrapper Derivation Policy
|
|
3
|
+
|
|
4
|
+
Purpose: Define how editor- and tool-specific wrapper files (`.claude/`, `.codex/`) stay thin, derived, and subordinate to canonical SSOT docs.
|
|
5
|
+
Read when: Editing `.claude/rules/*` or adding future wrappers such as `.github/instructions`.
|
|
6
|
+
Skip when: The task only changes canonical docs and does not touch wrappers.
|
|
7
|
+
Read next: `docs-system.md`, `agent-workflow.md`, and `mcp-tool-inventory.md`
|
|
8
|
+
|
|
9
|
+
> Nav: [Docs Index](../00-index.md) | [AGENTS](../../AGENTS.md)
|
|
10
|
+
|
|
11
|
+
## Rule
|
|
12
|
+
|
|
13
|
+
- Canonical truth lives in `docs/` and root SSOT files such as `AGENTS.md`.
|
|
14
|
+
- Wrapper files are derived adapters for a specific tool runtime.
|
|
15
|
+
- Wrappers must never become a second source of project truth.
|
|
16
|
+
|
|
17
|
+
## Thin-Wrapper Contract
|
|
18
|
+
|
|
19
|
+
- Each wrapper includes exactly one `Source of truth:` line.
|
|
20
|
+
- Each wrapper includes 1-3 canonical refs.
|
|
21
|
+
- Each wrapper keeps only routing, verification, or scope hints needed by that tool.
|
|
22
|
+
- Each wrapper body stays short enough to avoid loading duplicate context.
|
|
23
|
+
|
|
24
|
+
## What Wrappers May Contain
|
|
25
|
+
|
|
26
|
+
- path/glob targeting
|
|
27
|
+
- one-line source-of-truth pointer
|
|
28
|
+
- a small set of canonical refs
|
|
29
|
+
- one verification line
|
|
30
|
+
|
|
31
|
+
## What Wrappers Must Not Contain
|
|
32
|
+
|
|
33
|
+
- product or architecture decisions
|
|
34
|
+
- API contract details
|
|
35
|
+
- schema names or field lists
|
|
36
|
+
- workflow rules that differ from SSOT
|
|
37
|
+
- copied policy text that can drift
|
|
38
|
+
|
|
39
|
+
## Verification
|
|
40
|
+
|
|
41
|
+
- `make docs-lint`
|
|
42
|
+
|
|
43
|
+
## Wrapper Surfaces
|
|
44
|
+
|
|
45
|
+
The coding-os adapter system creates wrappers automatically:
|
|
46
|
+
|
|
47
|
+
- `.claude/rules/*` (Claude adapter — symlinks to `src/core/rules/`)
|
|
48
|
+
- `.codex/instructions.md` (Codex adapter — merged from `src/core/rules/` + `src/core/skills/`)
|
|
49
|
+
|
|
50
|
+
Wrappers are regenerated by `coding-os init` and `coding-os add-adapter`. Manual edits to wrappers are discouraged — change the canonical source instead.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!-- domain:ALL | layer:index | ssot:true | updated:{{DATE}} -->
|
|
2
|
+
# Breakthroughs — Index
|
|
3
|
+
|
|
4
|
+
Purpose: Human-readable log of breakthrough narratives filed back by `cos_learn_narrative`. Each file captures a non-obvious insight from a rework→success cycle so future work can avoid the same dead-ends.
|
|
5
|
+
Read when: Starting a task that touches an area with past breakthroughs, or onboarding to the project.
|
|
6
|
+
Skip when: The active task is routine and no related breakthrough is surfaced by `cos_learn_suggest` / `cos_doc_search`.
|
|
7
|
+
Read next: The specific breakthrough file relevant to the area you're working on.
|
|
8
|
+
|
|
9
|
+
> Nav: [Docs Index](../00-index.md)
|
|
10
|
+
|
|
11
|
+
## How entries are created
|
|
12
|
+
|
|
13
|
+
Every call to `cos_learn_narrative` writes one markdown file here in addition to the DB record. Files are named `<TASK-ID>-<slug>.md` and are safe to edit by humans (the next narrative call for the same task overwrites its own file, not yours).
|
|
14
|
+
|
|
15
|
+
## Indexing
|
|
16
|
+
|
|
17
|
+
This folder is registered in `.coding-os/rag-config.yaml` as `type: breakthrough` with `priority: 0.8`. `make docs-index` picks up new files automatically — they become searchable via `cos_doc_search(source_types="breakthrough")`.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<!-- domain:OPS | layer:index | ssot:true | updated:{{DATE}} -->
|
|
2
|
+
# Operations — Index
|
|
3
|
+
|
|
4
|
+
Purpose: Navigation hub for operational runbooks and procedures.
|
|
5
|
+
Read when: Deploying, debugging production, responding to an incident, or onboarding to ops.
|
|
6
|
+
Skip when: The task is purely development-time (no production impact).
|
|
7
|
+
Read next: The specific runbook relevant to your situation.
|
|
8
|
+
|
|
9
|
+
> Nav: [Docs Index](../00-index.md)
|
|
10
|
+
|
|
11
|
+
## Suggested Runbooks
|
|
12
|
+
|
|
13
|
+
Populate as the project matures:
|
|
14
|
+
|
|
15
|
+
- `monitoring.md` — Alerts, dashboards, on-call rotation
|
|
16
|
+
- `backup-recovery.md` — Backup schedule, restore procedure, RTO/RPO
|
|
17
|
+
- `zero-downtime-deploy.md` — Blue/green or rolling deploy procedure
|
|
18
|
+
- `secrets-rotation.md` — How to rotate API keys, passwords, tokens
|
|
19
|
+
- `staging-refresh.md` — How to refresh staging from production (anonymized)
|
|
20
|
+
- `incident-response.md` — Severity levels, escalation, post-mortem template
|
|
21
|
+
- `go-live-checklist.md` — Pre-launch verification checklist
|
|
22
|
+
- `database-migrations.md` — How to safely apply schema migrations in production
|
|
23
|
+
|
|
24
|
+
## Format
|
|
25
|
+
|
|
26
|
+
Each runbook follows this structure:
|
|
27
|
+
|
|
28
|
+
```markdown
|
|
29
|
+
# Runbook Title
|
|
30
|
+
|
|
31
|
+
## When to use this
|
|
32
|
+
|
|
33
|
+
(symptom or trigger)
|
|
34
|
+
|
|
35
|
+
## Prerequisites
|
|
36
|
+
|
|
37
|
+
(access, tools, credentials needed)
|
|
38
|
+
|
|
39
|
+
## Procedure
|
|
40
|
+
|
|
41
|
+
1. Step 1
|
|
42
|
+
2. Step 2
|
|
43
|
+
3. Verify: (how to confirm success)
|
|
44
|
+
|
|
45
|
+
## Rollback
|
|
46
|
+
|
|
47
|
+
(how to undo if step N fails)
|
|
48
|
+
|
|
49
|
+
## Post-procedure
|
|
50
|
+
|
|
51
|
+
(notification, documentation, follow-up)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Authoring Rules
|
|
55
|
+
|
|
56
|
+
- Runbooks must be testable. Run them in staging before adding to ops/.
|
|
57
|
+
- Never reference secret values inline. Use environment variable names.
|
|
58
|
+
- Each runbook lists prerequisites explicitly — no "obvious" assumptions.
|
|
59
|
+
- Update the runbook immediately after any incident reveals a missing step.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<!-- domain:CORE | layer:index | ssot:false | updated:2026-06-06 -->
|
|
2
|
+
# Runbooks
|
|
3
|
+
|
|
4
|
+
Purpose: Index of operational runbooks — what to do when something breaks or needs a routine operation.
|
|
5
|
+
Read when: during an incident, or before authoring a runbook with `cos doc-new --layer runbook --path docs/ops/runbooks/<slug>.md`.
|
|
6
|
+
|
|
7
|
+
> Nav: [docs/](../../)
|
|
8
|
+
|
|
9
|
+
No runbooks yet. This directory is scaffolded so the doc-cheat-sheet's create-time routing lands somewhere real.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!-- domain:CORE | layer:index | ssot:false | updated:2026-06-14 -->
|
|
2
|
+
# Playbooks
|
|
3
|
+
|
|
4
|
+
Purpose: Index of task-oriented playbooks for this project — step-by-step guides for recurring work.
|
|
5
|
+
Read when: looking for a playbook, or before authoring one with `cos doc-new --layer playbook --path docs/playbooks/<slug>.md`.
|
|
6
|
+
|
|
7
|
+
> Nav: [docs/](../)
|
|
8
|
+
|
|
9
|
+
These stack-agnostic playbooks ship with every project; stacks may add their own alongside them.
|
|
10
|
+
|
|
11
|
+
- [Security Review Playbook](security-review.md) — consistent security review path for risky changes before they are considered complete.
|
|
12
|
+
- [Research & Validation Playbook](research-validation.md) — current-state technical research with source discipline, converted into repo-safe decisions.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<!-- domain:ALL | layer:playbook | ssot:true | updated:2026-03-13 -->
|
|
2
|
+
# Research & Validation Playbook
|
|
3
|
+
|
|
4
|
+
Purpose: Perform current-state technical research with source discipline and convert findings into repo-safe decisions.
|
|
5
|
+
Read when: The task requires up-to-date framework/package standards, compatibility checks, or external architectural validation.
|
|
6
|
+
Skip when: The answer is stable in local SSOT and does not depend on recent facts.
|
|
7
|
+
Read next: Relevant local SSOT file, then the official external source for the specific topic
|
|
8
|
+
|
|
9
|
+
> Nav: [Docs Index](../00-index.md) | [Docs System](../governance/docs-system.md)
|
|
10
|
+
|
|
11
|
+
## Source Order
|
|
12
|
+
|
|
13
|
+
1. Official framework or specification docs
|
|
14
|
+
2. Official package docs or package metadata
|
|
15
|
+
3. Primary-source repository docs / changelogs
|
|
16
|
+
4. Secondary sources only if primary sources are insufficient
|
|
17
|
+
|
|
18
|
+
## Research Rules
|
|
19
|
+
|
|
20
|
+
- Record concrete versions and dates when recency matters.
|
|
21
|
+
- Prefer official framework docs, package compatibility tables, and web standards over secondary sources.
|
|
22
|
+
- Treat vendor blogs, community posts, and tutorials as non-canonical unless confirmed elsewhere.
|
|
23
|
+
- When a finding changes architecture or workflow, move it into SSOT and cite the source in the task/change log.
|
|
24
|
+
|
|
25
|
+
## Output Rules
|
|
26
|
+
|
|
27
|
+
- Distinguish observed facts from inference.
|
|
28
|
+
- State why a source is trustworthy when the choice is non-obvious.
|
|
29
|
+
- Keep recommendations implementation-oriented, not generic.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<!-- domain:SECURITY | layer:playbook | ssot:true | updated:2026-03-17 -->
|
|
2
|
+
# Security Review Playbook
|
|
3
|
+
|
|
4
|
+
Purpose: Apply a consistent security review path for risky changes before code or docs are considered complete.
|
|
5
|
+
Read when: The task touches auth, cookies, payments, file uploads, redirects, HTML rendering, admin access, download authorization, or permission checks.
|
|
6
|
+
Skip when: The task is purely cosmetic docs work with no behavioral/security impact.
|
|
7
|
+
Read next: your stack's engineering rules and the relevant API-contract doc for the risky path
|
|
8
|
+
|
|
9
|
+
> Nav: [Docs Index](../00-index.md) | [Docs System](../governance/docs-system.md)
|
|
10
|
+
|
|
11
|
+
## Read Selection Guide
|
|
12
|
+
|
|
13
|
+
> Complete lookup: AGENTS.md § Dimension Type Registry § Security Overlay (auto-loaded). This section adds detail for Orient phase.
|
|
14
|
+
|
|
15
|
+
Security is an overlay playbook — read the sub-files that match your task's security dimensions.
|
|
16
|
+
|
|
17
|
+
### Read Only If Relevant (read ALL that apply, not just one)
|
|
18
|
+
|
|
19
|
+
- Auth / JWT / sessions / login flows — your stack's auth-pattern docs
|
|
20
|
+
- Cookies / CSRF / CORS / rate limiting / HTTP headers — your stack's web-security docs
|
|
21
|
+
- File downloads or signed URLs — your stack's download-authorization docs
|
|
22
|
+
- User data, sessions, or account lifecycle (GDPR deletion) — your stack's compliance docs
|
|
23
|
+
- `docs/engineering/*-rules.md` — the engineering rules for the layer you are touching
|
|
24
|
+
|
|
25
|
+
## Review Checklist
|
|
26
|
+
|
|
27
|
+
- Authentication and authorization paths are explicit
|
|
28
|
+
- Cookie/session settings remain `httpOnly`, `secure` in production, `SameSite=Strict`
|
|
29
|
+
- Payment and webhook flows remain idempotent
|
|
30
|
+
- Upload/download flows validate content type and access scope
|
|
31
|
+
- Admin routes and privileged endpoints are not conflated with public routes
|
|
32
|
+
- Logs and error responses do not leak secrets or internal implementation details
|
|
33
|
+
- Error responses do not leak internal details (no raw exception text, DB column names, or provider URLs)
|
|
34
|
+
- All error handling is fail-closed (reject on uncertainty, not allow-and-log)
|
|
35
|
+
- Permission boundaries enforce the project's RBAC model — verify role checks on every protected endpoint
|
|
36
|
+
|
|
37
|
+
## Verification
|
|
38
|
+
|
|
39
|
+
- Run the domain verification commands from the primary playbook
|
|
40
|
+
- Add at least one targeted test or explicit manual check for the risky path
|
|
41
|
+
- If docs changed, confirm security rules and examples use current stack terminology
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<!-- domain:PRODUCT | layer:index | ssot:true | updated:{{DATE}} | module:docs -->
|
|
2
|
+
# Product Requirements — Index
|
|
3
|
+
|
|
4
|
+
Purpose: Navigation hub for the Product Requirements Document (PRD).
|
|
5
|
+
Read when: Starting a feature task that needs product context, or onboarding to the project.
|
|
6
|
+
Skip when: The active task already references a specific PRD section.
|
|
7
|
+
Read next: The relevant numbered section below.
|
|
8
|
+
|
|
9
|
+
> Nav: [Docs Index](../00-index.md)
|
|
10
|
+
|
|
11
|
+
## Suggested Structure
|
|
12
|
+
|
|
13
|
+
The PRD is split into focused files. Each section is optional — populate as the project grows. Recommended order:
|
|
14
|
+
|
|
15
|
+
- `01-snapshot-vision.md` — One-paragraph elevator pitch + 3-year vision
|
|
16
|
+
- `02-goals-kpis.md` — Business goals and measurable KPIs
|
|
17
|
+
- `03-users-jobs.md` — Personas + jobs-to-be-done
|
|
18
|
+
- `04-information-architecture.md` — Page tree, navigation, content types
|
|
19
|
+
- `05-ux-conversion.md` — Conversion funnel, key flows, success metrics
|
|
20
|
+
- `06-product-pricing.md` — Pricing model, plans, packaging
|
|
21
|
+
- `07-policies-legal.md` — Terms, refund policy, content moderation
|
|
22
|
+
- `08-functional-requirements.md` — Feature list with priorities
|
|
23
|
+
- `09-data-model-apis.md` — High-level data model and API surface
|
|
24
|
+
- `10-nfr-implementation.md` — Non-functional requirements (perf, security, scale)
|
|
25
|
+
- `11-appendices.md` — Glossary, references, acknowledgements
|
|
26
|
+
- `12-schema-erd.md` — Database schema diagram + table reference
|
|
27
|
+
|
|
28
|
+
## Format
|
|
29
|
+
|
|
30
|
+
Each PRD section follows the standard doc header:
|
|
31
|
+
|
|
32
|
+
```html
|
|
33
|
+
<!-- domain:PRODUCT | layer:spec | ssot:true | updated:YYYY-MM-DD -->
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Followed by H1, then the four-line opening block (Purpose / Read when / Skip when / Read next).
|
|
37
|
+
|
|
38
|
+
## Authoring Rules
|
|
39
|
+
|
|
40
|
+
- Each section is the SSOT for its topic. Other docs link here, not the other way around.
|
|
41
|
+
- When implementation deviates from PRD, update PRD first, then code.
|
|
42
|
+
- Open product questions go in `../_meta/questions.md`, not inline.
|
|
43
|
+
- Decisions with long-term impact go in `../architecture/adr/`, not in PRD.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<!-- domain:PRODUCT | layer:spec | ssot:true | updated:{{DATE}} | module:docs -->
|
|
2
|
+
# 01 — Snapshot & Vision
|
|
3
|
+
|
|
4
|
+
> P: Elevator pitch + 3-year vision for {{PROJECT_NAME}}. Authoritative one-paragraph product summary.
|
|
5
|
+
> R: Onboarding, stakeholder briefing, or any task that needs the product framing in one read.
|
|
6
|
+
> S: Already aligned on vision; jump to the relevant section under `00-index.md`.
|
|
7
|
+
> N: [02-goals-kpis.md](./02-goals-kpis.md), [03-users-jobs.md](./03-users-jobs.md)
|
|
8
|
+
|
|
9
|
+
> Nav: [PRD Index](./00-index.md)
|
|
10
|
+
|
|
11
|
+
## Elevator Pitch
|
|
12
|
+
|
|
13
|
+
<!--
|
|
14
|
+
Replace this block with one paragraph (≤120 words):
|
|
15
|
+
|
|
16
|
+
- WHO is the user
|
|
17
|
+
- WHAT problem the product solves
|
|
18
|
+
- HOW it solves it (the differentiator, in one phrase)
|
|
19
|
+
- WHY it wins now (timing / structural advantage)
|
|
20
|
+
-->
|
|
21
|
+
|
|
22
|
+
_TODO: write the elevator pitch._
|
|
23
|
+
|
|
24
|
+
## 3-Year Vision
|
|
25
|
+
|
|
26
|
+
<!--
|
|
27
|
+
Replace this block with 3 short bullets (≤25 words each):
|
|
28
|
+
|
|
29
|
+
- Year 1 outcome (must-ship to be a product at all)
|
|
30
|
+
- Year 2 outcome (positions the product in market)
|
|
31
|
+
- Year 3 outcome (defensible moat / category position)
|
|
32
|
+
|
|
33
|
+
Avoid feature lists. Outcomes only.
|
|
34
|
+
-->
|
|
35
|
+
|
|
36
|
+
- _TODO: Year 1 outcome._
|
|
37
|
+
- _TODO: Year 2 outcome._
|
|
38
|
+
- _TODO: Year 3 outcome._
|
|
39
|
+
|
|
40
|
+
## Non-Goals
|
|
41
|
+
|
|
42
|
+
<!--
|
|
43
|
+
Three to five things this product will NOT do. Saying "no" loudly here
|
|
44
|
+
prevents scope creep down the line.
|
|
45
|
+
-->
|
|
46
|
+
|
|
47
|
+
- _TODO: explicit non-goal #1._
|
|
48
|
+
- _TODO: explicit non-goal #2._
|
|
49
|
+
- _TODO: explicit non-goal #3._
|
|
50
|
+
|
|
51
|
+
## Authoring Notes
|
|
52
|
+
|
|
53
|
+
- Update `updated:` in the header whenever you change vision or non-goals.
|
|
54
|
+
- When the elevator pitch changes, follow the cascade: re-check `02-goals-kpis.md`, `03-users-jobs.md`, `08-functional-requirements.md`.
|
|
55
|
+
- Long open questions go to `../_meta/questions.md`, not inline.
|
|
56
|
+
- Decisions with long-term impact go to `../architecture/adr/`, not here.
|