@blxzer/pactile 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +602 -0
- package/LICENSE +235 -0
- package/README.md +115 -0
- package/README.zh-CN.md +115 -0
- package/bin/compat-warning.js +11 -0
- package/bin/cstl.js +6 -0
- package/bin/pactile.js +3 -0
- package/bin/smart-search.js +38 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +362 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/commands/capability-smoke.d.ts +24 -0
- package/dist/commands/capability-smoke.d.ts.map +1 -0
- package/dist/commands/capability-smoke.js +83 -0
- package/dist/commands/capability-smoke.js.map +1 -0
- package/dist/commands/channel/adapters/claude.d.ts +29 -0
- package/dist/commands/channel/adapters/claude.d.ts.map +1 -0
- package/dist/commands/channel/adapters/claude.js +203 -0
- package/dist/commands/channel/adapters/claude.js.map +1 -0
- package/dist/commands/channel/adapters/codex.d.ts +85 -0
- package/dist/commands/channel/adapters/codex.d.ts.map +1 -0
- package/dist/commands/channel/adapters/codex.js +505 -0
- package/dist/commands/channel/adapters/codex.js.map +1 -0
- package/dist/commands/channel/adapters/index.d.ts +84 -0
- package/dist/commands/channel/adapters/index.d.ts.map +1 -0
- package/dist/commands/channel/adapters/index.js +115 -0
- package/dist/commands/channel/adapters/index.js.map +1 -0
- package/dist/commands/channel/adapters/types.d.ts +33 -0
- package/dist/commands/channel/adapters/types.d.ts.map +1 -0
- package/dist/commands/channel/adapters/types.js +2 -0
- package/dist/commands/channel/adapters/types.js.map +1 -0
- package/dist/commands/channel/agent-loader.d.ts +32 -0
- package/dist/commands/channel/agent-loader.d.ts.map +1 -0
- package/dist/commands/channel/agent-loader.js +154 -0
- package/dist/commands/channel/agent-loader.js.map +1 -0
- package/dist/commands/channel/context-loader.d.ts +26 -0
- package/dist/commands/channel/context-loader.d.ts.map +1 -0
- package/dist/commands/channel/context-loader.js +290 -0
- package/dist/commands/channel/context-loader.js.map +1 -0
- package/dist/commands/channel/context.d.ts +16 -0
- package/dist/commands/channel/context.d.ts.map +1 -0
- package/dist/commands/channel/context.js +83 -0
- package/dist/commands/channel/context.js.map +1 -0
- package/dist/commands/channel/create.d.ts +27 -0
- package/dist/commands/channel/create.d.ts.map +1 -0
- package/dist/commands/channel/create.js +39 -0
- package/dist/commands/channel/create.js.map +1 -0
- package/dist/commands/channel/dev-parse-trace.d.ts +14 -0
- package/dist/commands/channel/dev-parse-trace.d.ts.map +1 -0
- package/dist/commands/channel/dev-parse-trace.js +70 -0
- package/dist/commands/channel/dev-parse-trace.js.map +1 -0
- package/dist/commands/channel/guard.d.ts +150 -0
- package/dist/commands/channel/guard.d.ts.map +1 -0
- package/dist/commands/channel/guard.js +475 -0
- package/dist/commands/channel/guard.js.map +1 -0
- package/dist/commands/channel/index.d.ts +3 -0
- package/dist/commands/channel/index.d.ts.map +1 -0
- package/dist/commands/channel/index.js +531 -0
- package/dist/commands/channel/index.js.map +1 -0
- package/dist/commands/channel/interrupt.d.ts +10 -0
- package/dist/commands/channel/interrupt.d.ts.map +1 -0
- package/dist/commands/channel/interrupt.js +22 -0
- package/dist/commands/channel/interrupt.js.map +1 -0
- package/dist/commands/channel/kill.d.ts +7 -0
- package/dist/commands/channel/kill.d.ts.map +1 -0
- package/dist/commands/channel/kill.js +121 -0
- package/dist/commands/channel/kill.js.map +1 -0
- package/dist/commands/channel/list.d.ts +17 -0
- package/dist/commands/channel/list.d.ts.map +1 -0
- package/dist/commands/channel/list.js +233 -0
- package/dist/commands/channel/list.js.map +1 -0
- package/dist/commands/channel/messages.d.ts +15 -0
- package/dist/commands/channel/messages.d.ts.map +1 -0
- package/dist/commands/channel/messages.js +245 -0
- package/dist/commands/channel/messages.js.map +1 -0
- package/dist/commands/channel/rm.d.ts +27 -0
- package/dist/commands/channel/rm.d.ts.map +1 -0
- package/dist/commands/channel/rm.js +216 -0
- package/dist/commands/channel/rm.js.map +1 -0
- package/dist/commands/channel/run.d.ts +30 -0
- package/dist/commands/channel/run.d.ts.map +1 -0
- package/dist/commands/channel/run.js +130 -0
- package/dist/commands/channel/run.js.map +1 -0
- package/dist/commands/channel/send.d.ts +11 -0
- package/dist/commands/channel/send.d.ts.map +1 -0
- package/dist/commands/channel/send.js +24 -0
- package/dist/commands/channel/send.js.map +1 -0
- package/dist/commands/channel/spawn.d.ts +40 -0
- package/dist/commands/channel/spawn.d.ts.map +1 -0
- package/dist/commands/channel/spawn.js +242 -0
- package/dist/commands/channel/spawn.js.map +1 -0
- package/dist/commands/channel/store/events.d.ts +39 -0
- package/dist/commands/channel/store/events.d.ts.map +1 -0
- package/dist/commands/channel/store/events.js +87 -0
- package/dist/commands/channel/store/events.js.map +1 -0
- package/dist/commands/channel/store/filter.d.ts +3 -0
- package/dist/commands/channel/store/filter.d.ts.map +1 -0
- package/dist/commands/channel/store/filter.js +2 -0
- package/dist/commands/channel/store/filter.js.map +1 -0
- package/dist/commands/channel/store/lock.d.ts +23 -0
- package/dist/commands/channel/store/lock.d.ts.map +1 -0
- package/dist/commands/channel/store/lock.js +99 -0
- package/dist/commands/channel/store/lock.js.map +1 -0
- package/dist/commands/channel/store/paths.d.ts +63 -0
- package/dist/commands/channel/store/paths.d.ts.map +1 -0
- package/dist/commands/channel/store/paths.js +247 -0
- package/dist/commands/channel/store/paths.js.map +1 -0
- package/dist/commands/channel/store/schema.d.ts +27 -0
- package/dist/commands/channel/store/schema.d.ts.map +1 -0
- package/dist/commands/channel/store/schema.js +34 -0
- package/dist/commands/channel/store/schema.js.map +1 -0
- package/dist/commands/channel/store/thread-state.d.ts +5 -0
- package/dist/commands/channel/store/thread-state.d.ts.map +1 -0
- package/dist/commands/channel/store/thread-state.js +16 -0
- package/dist/commands/channel/store/thread-state.js.map +1 -0
- package/dist/commands/channel/store/watch.d.ts +19 -0
- package/dist/commands/channel/store/watch.d.ts.map +1 -0
- package/dist/commands/channel/store/watch.js +146 -0
- package/dist/commands/channel/store/watch.js.map +1 -0
- package/dist/commands/channel/supervisor/idle.d.ts +46 -0
- package/dist/commands/channel/supervisor/idle.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/idle.js +72 -0
- package/dist/commands/channel/supervisor/idle.js.map +1 -0
- package/dist/commands/channel/supervisor/inbox.d.ts +30 -0
- package/dist/commands/channel/supervisor/inbox.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/inbox.js +160 -0
- package/dist/commands/channel/supervisor/inbox.js.map +1 -0
- package/dist/commands/channel/supervisor/shutdown.d.ts +68 -0
- package/dist/commands/channel/supervisor/shutdown.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/shutdown.js +146 -0
- package/dist/commands/channel/supervisor/shutdown.js.map +1 -0
- package/dist/commands/channel/supervisor/stdout.d.ts +51 -0
- package/dist/commands/channel/supervisor/stdout.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/stdout.js +121 -0
- package/dist/commands/channel/supervisor/stdout.js.map +1 -0
- package/dist/commands/channel/supervisor/turns.d.ts +31 -0
- package/dist/commands/channel/supervisor/turns.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/turns.js +45 -0
- package/dist/commands/channel/supervisor/turns.js.map +1 -0
- package/dist/commands/channel/supervisor/warning.d.ts +48 -0
- package/dist/commands/channel/supervisor/warning.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/warning.js +77 -0
- package/dist/commands/channel/supervisor/warning.js.map +1 -0
- package/dist/commands/channel/supervisor.d.ts +59 -0
- package/dist/commands/channel/supervisor.d.ts.map +1 -0
- package/dist/commands/channel/supervisor.js +345 -0
- package/dist/commands/channel/supervisor.js.map +1 -0
- package/dist/commands/channel/text-body.d.ts +13 -0
- package/dist/commands/channel/text-body.d.ts.map +1 -0
- package/dist/commands/channel/text-body.js +47 -0
- package/dist/commands/channel/text-body.js.map +1 -0
- package/dist/commands/channel/threads.d.ts +39 -0
- package/dist/commands/channel/threads.d.ts.map +1 -0
- package/dist/commands/channel/threads.js +106 -0
- package/dist/commands/channel/threads.js.map +1 -0
- package/dist/commands/channel/title.d.ts +12 -0
- package/dist/commands/channel/title.d.ts.map +1 -0
- package/dist/commands/channel/title.js +24 -0
- package/dist/commands/channel/title.js.map +1 -0
- package/dist/commands/channel/wait.d.ts +17 -0
- package/dist/commands/channel/wait.d.ts.map +1 -0
- package/dist/commands/channel/wait.js +75 -0
- package/dist/commands/channel/wait.js.map +1 -0
- package/dist/commands/detach.d.ts +7 -0
- package/dist/commands/detach.d.ts.map +1 -0
- package/dist/commands/detach.js +31 -0
- package/dist/commands/detach.js.map +1 -0
- package/dist/commands/init.d.ts +51 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +1660 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/migrate.d.ts +10 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/migrate.js +38 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/purge.d.ts +9 -0
- package/dist/commands/purge.d.ts.map +1 -0
- package/dist/commands/purge.js +29 -0
- package/dist/commands/purge.js.map +1 -0
- package/dist/commands/rollback.d.ts +7 -0
- package/dist/commands/rollback.d.ts.map +1 -0
- package/dist/commands/rollback.js +27 -0
- package/dist/commands/rollback.js.map +1 -0
- package/dist/commands/rollout.d.ts +34 -0
- package/dist/commands/rollout.d.ts.map +1 -0
- package/dist/commands/rollout.js +102 -0
- package/dist/commands/rollout.js.map +1 -0
- package/dist/commands/uninstall.d.ts +23 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +68 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/commands/update.d.ts +139 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +2459 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/upgrade.d.ts +28 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +84 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/commands/validate-rules.d.ts +6 -0
- package/dist/commands/validate-rules.d.ts.map +1 -0
- package/dist/commands/validate-rules.js +33 -0
- package/dist/commands/validate-rules.js.map +1 -0
- package/dist/commands/workflow.d.ts +35 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +220 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/configurators/cursor.d.ts +21 -0
- package/dist/configurators/cursor.d.ts.map +1 -0
- package/dist/configurators/cursor.js +51 -0
- package/dist/configurators/cursor.js.map +1 -0
- package/dist/configurators/index.d.ts +68 -0
- package/dist/configurators/index.d.ts.map +1 -0
- package/dist/configurators/index.js +170 -0
- package/dist/configurators/index.js.map +1 -0
- package/dist/configurators/shared.d.ts +200 -0
- package/dist/configurators/shared.d.ts.map +1 -0
- package/dist/configurators/shared.js +602 -0
- package/dist/configurators/shared.js.map +1 -0
- package/dist/configurators/workflow.d.ts +45 -0
- package/dist/configurators/workflow.d.ts.map +1 -0
- package/dist/configurators/workflow.js +256 -0
- package/dist/configurators/workflow.js.map +1 -0
- package/dist/constants/paths.d.ts +93 -0
- package/dist/constants/paths.d.ts.map +1 -0
- package/dist/constants/paths.js +106 -0
- package/dist/constants/paths.js.map +1 -0
- package/dist/constants/version.d.ts +9 -0
- package/dist/constants/version.d.ts.map +1 -0
- package/dist/constants/version.js +15 -0
- package/dist/constants/version.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/migrations/index.d.ts +62 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +187 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/migrations/manifests/0.1.0.json +9 -0
- package/dist/migrations/manifests/0.1.1.json +9 -0
- package/dist/migrations/manifests/0.1.2.json +9 -0
- package/dist/migrations/manifests/0.1.3.json +9 -0
- package/dist/migrations/manifests/0.1.4.json +9 -0
- package/dist/migrations/manifests/0.2.1.json +9 -0
- package/dist/migrations/manifests/0.2.10.json +374 -0
- package/dist/migrations/manifests/0.2.2.json +9 -0
- package/dist/migrations/manifests/0.2.3.json +9 -0
- package/dist/migrations/manifests/0.2.4.json +9 -0
- package/dist/migrations/manifests/0.2.5.json +9 -0
- package/dist/migrations/manifests/0.2.6.json +9 -0
- package/dist/migrations/manifests/0.2.7.json +9 -0
- package/dist/migrations/manifests/0.2.8.json +9 -0
- package/dist/migrations/manifests/0.2.9.json +9 -0
- package/dist/migrations/manifests/0.3.0.json +89 -0
- package/dist/migrations/manifests/0.3.1.json +32 -0
- package/dist/migrations/manifests/0.3.2.json +16 -0
- package/dist/migrations/manifests/0.3.3.json +9 -0
- package/dist/migrations/manifests/0.3.4.json +9 -0
- package/dist/migrations/manifests/0.3.5.json +9 -0
- package/dist/migrations/manifests/0.3.6.json +9 -0
- package/dist/migrations/manifests/0.4.0.json +9 -0
- package/dist/migrations/manifests/0.4.1.json +9 -0
- package/dist/migrations/manifests/0.4.2.json +9 -0
- package/dist/migrations/manifests/0.4.3.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.0.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.1.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.2.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.3.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.4.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.5.json +9 -0
- package/dist/pactile/adapters/codex/index.d.ts +75 -0
- package/dist/pactile/adapters/codex/index.d.ts.map +1 -0
- package/dist/pactile/adapters/codex/index.js +269 -0
- package/dist/pactile/adapters/codex/index.js.map +1 -0
- package/dist/pactile/adapters/cursor/index.d.ts +60 -0
- package/dist/pactile/adapters/cursor/index.d.ts.map +1 -0
- package/dist/pactile/adapters/cursor/index.js +186 -0
- package/dist/pactile/adapters/cursor/index.js.map +1 -0
- package/dist/pactile/adapters/index.d.ts +4 -0
- package/dist/pactile/adapters/index.d.ts.map +1 -0
- package/dist/pactile/adapters/index.js +4 -0
- package/dist/pactile/adapters/index.js.map +1 -0
- package/dist/pactile/adoption/bindings.d.ts +20 -0
- package/dist/pactile/adoption/bindings.d.ts.map +1 -0
- package/dist/pactile/adoption/bindings.js +99 -0
- package/dist/pactile/adoption/bindings.js.map +1 -0
- package/dist/pactile/adoption/discovery.d.ts +8 -0
- package/dist/pactile/adoption/discovery.d.ts.map +1 -0
- package/dist/pactile/adoption/discovery.js +159 -0
- package/dist/pactile/adoption/discovery.js.map +1 -0
- package/dist/pactile/adoption/inventory.d.ts +28 -0
- package/dist/pactile/adoption/inventory.d.ts.map +1 -0
- package/dist/pactile/adoption/inventory.js +261 -0
- package/dist/pactile/adoption/inventory.js.map +1 -0
- package/dist/pactile/adoption/safety.d.ts +19 -0
- package/dist/pactile/adoption/safety.d.ts.map +1 -0
- package/dist/pactile/adoption/safety.js +88 -0
- package/dist/pactile/adoption/safety.js.map +1 -0
- package/dist/pactile/adoption/workflow.d.ts +31 -0
- package/dist/pactile/adoption/workflow.d.ts.map +1 -0
- package/dist/pactile/adoption/workflow.js +259 -0
- package/dist/pactile/adoption/workflow.js.map +1 -0
- package/dist/pactile/compat/cli-options.d.ts +9 -0
- package/dist/pactile/compat/cli-options.d.ts.map +1 -0
- package/dist/pactile/compat/cli-options.js +9 -0
- package/dist/pactile/compat/cli-options.js.map +1 -0
- package/dist/pactile/compat/init-context.d.ts +16 -0
- package/dist/pactile/compat/init-context.d.ts.map +1 -0
- package/dist/pactile/compat/init-context.js +87 -0
- package/dist/pactile/compat/init-context.js.map +1 -0
- package/dist/pactile/compat/legacy-migrations.d.ts +8 -0
- package/dist/pactile/compat/legacy-migrations.d.ts.map +1 -0
- package/dist/pactile/compat/legacy-migrations.js +17 -0
- package/dist/pactile/compat/legacy-migrations.js.map +1 -0
- package/dist/pactile/compat/retired-alternate-client.d.ts +42 -0
- package/dist/pactile/compat/retired-alternate-client.d.ts.map +1 -0
- package/dist/pactile/compat/retired-alternate-client.js +153 -0
- package/dist/pactile/compat/retired-alternate-client.js.map +1 -0
- package/dist/pactile/compat/update-residue.d.ts +4 -0
- package/dist/pactile/compat/update-residue.d.ts.map +1 -0
- package/dist/pactile/compat/update-residue.js +55 -0
- package/dist/pactile/compat/update-residue.js.map +1 -0
- package/dist/pactile/exit/index.d.ts +3 -0
- package/dist/pactile/exit/index.d.ts.map +1 -0
- package/dist/pactile/exit/index.js +3 -0
- package/dist/pactile/exit/index.js.map +1 -0
- package/dist/pactile/exit/receipt.d.ts +23 -0
- package/dist/pactile/exit/receipt.d.ts.map +1 -0
- package/dist/pactile/exit/receipt.js +64 -0
- package/dist/pactile/exit/receipt.js.map +1 -0
- package/dist/pactile/exit/service.d.ts +107 -0
- package/dist/pactile/exit/service.d.ts.map +1 -0
- package/dist/pactile/exit/service.js +774 -0
- package/dist/pactile/exit/service.js.map +1 -0
- package/dist/pactile/index.d.ts +26 -0
- package/dist/pactile/index.d.ts.map +1 -0
- package/dist/pactile/index.js +22 -0
- package/dist/pactile/index.js.map +1 -0
- package/dist/pactile/lifecycle/command-runner.d.ts +26 -0
- package/dist/pactile/lifecycle/command-runner.d.ts.map +1 -0
- package/dist/pactile/lifecycle/command-runner.js +129 -0
- package/dist/pactile/lifecycle/command-runner.js.map +1 -0
- package/dist/pactile/lifecycle/default-adapters.d.ts +5 -0
- package/dist/pactile/lifecycle/default-adapters.d.ts.map +1 -0
- package/dist/pactile/lifecycle/default-adapters.js +136 -0
- package/dist/pactile/lifecycle/default-adapters.js.map +1 -0
- package/dist/pactile/lifecycle/index.d.ts +6 -0
- package/dist/pactile/lifecycle/index.d.ts.map +1 -0
- package/dist/pactile/lifecycle/index.js +6 -0
- package/dist/pactile/lifecycle/index.js.map +1 -0
- package/dist/pactile/lifecycle/legacy-import.d.ts +16 -0
- package/dist/pactile/lifecycle/legacy-import.d.ts.map +1 -0
- package/dist/pactile/lifecycle/legacy-import.js +228 -0
- package/dist/pactile/lifecycle/legacy-import.js.map +1 -0
- package/dist/pactile/lifecycle/orchestrator.d.ts +109 -0
- package/dist/pactile/lifecycle/orchestrator.d.ts.map +1 -0
- package/dist/pactile/lifecycle/orchestrator.js +1030 -0
- package/dist/pactile/lifecycle/orchestrator.js.map +1 -0
- package/dist/pactile/lifecycle/project-files.d.ts +28 -0
- package/dist/pactile/lifecycle/project-files.d.ts.map +1 -0
- package/dist/pactile/lifecycle/project-files.js +297 -0
- package/dist/pactile/lifecycle/project-files.js.map +1 -0
- package/dist/pactile/middleware/index.d.ts +3 -0
- package/dist/pactile/middleware/index.d.ts.map +1 -0
- package/dist/pactile/middleware/index.js +2 -0
- package/dist/pactile/middleware/index.js.map +1 -0
- package/dist/pactile/middleware/manifest-loader.d.ts +22 -0
- package/dist/pactile/middleware/manifest-loader.d.ts.map +1 -0
- package/dist/pactile/middleware/manifest-loader.js +228 -0
- package/dist/pactile/middleware/manifest-loader.js.map +1 -0
- package/dist/pactile/migration/index.d.ts +2 -0
- package/dist/pactile/migration/index.d.ts.map +1 -0
- package/dist/pactile/migration/index.js +2 -0
- package/dist/pactile/migration/index.js.map +1 -0
- package/dist/pactile/migration/transaction.d.ts +54 -0
- package/dist/pactile/migration/transaction.d.ts.map +1 -0
- package/dist/pactile/migration/transaction.js +445 -0
- package/dist/pactile/migration/transaction.js.map +1 -0
- package/dist/pactile/projection/managed-block.d.ts +32 -0
- package/dist/pactile/projection/managed-block.d.ts.map +1 -0
- package/dist/pactile/projection/managed-block.js +78 -0
- package/dist/pactile/projection/managed-block.js.map +1 -0
- package/dist/pactile/projection/planner.d.ts +65 -0
- package/dist/pactile/projection/planner.d.ts.map +1 -0
- package/dist/pactile/projection/planner.js +349 -0
- package/dist/pactile/projection/planner.js.map +1 -0
- package/dist/pactile/projection/shared/index.d.ts +38 -0
- package/dist/pactile/projection/shared/index.d.ts.map +1 -0
- package/dist/pactile/projection/shared/index.js +186 -0
- package/dist/pactile/projection/shared/index.js.map +1 -0
- package/dist/pactile/projection/store.d.ts +72 -0
- package/dist/pactile/projection/store.d.ts.map +1 -0
- package/dist/pactile/projection/store.js +669 -0
- package/dist/pactile/projection/store.js.map +1 -0
- package/dist/pactile/projection/structured-merge.d.ts +11 -0
- package/dist/pactile/projection/structured-merge.d.ts.map +1 -0
- package/dist/pactile/projection/structured-merge.js +347 -0
- package/dist/pactile/projection/structured-merge.js.map +1 -0
- package/dist/pactile/providers/index.d.ts +3 -0
- package/dist/pactile/providers/index.d.ts.map +1 -0
- package/dist/pactile/providers/index.js +3 -0
- package/dist/pactile/providers/index.js.map +1 -0
- package/dist/pactile/providers/probes.d.ts +55 -0
- package/dist/pactile/providers/probes.d.ts.map +1 -0
- package/dist/pactile/providers/probes.js +164 -0
- package/dist/pactile/providers/probes.js.map +1 -0
- package/dist/pactile/registry.d.ts +64 -0
- package/dist/pactile/registry.d.ts.map +1 -0
- package/dist/pactile/registry.js +196 -0
- package/dist/pactile/registry.js.map +1 -0
- package/dist/pactile/retrieval/boundary.d.ts +18 -0
- package/dist/pactile/retrieval/boundary.d.ts.map +1 -0
- package/dist/pactile/retrieval/boundary.js +113 -0
- package/dist/pactile/retrieval/boundary.js.map +1 -0
- package/dist/pactile/retrieval/evidence.d.ts +9 -0
- package/dist/pactile/retrieval/evidence.d.ts.map +1 -0
- package/dist/pactile/retrieval/evidence.js +327 -0
- package/dist/pactile/retrieval/evidence.js.map +1 -0
- package/dist/pactile/retrieval/index.d.ts +4 -0
- package/dist/pactile/retrieval/index.d.ts.map +1 -0
- package/dist/pactile/retrieval/index.js +4 -0
- package/dist/pactile/retrieval/index.js.map +1 -0
- package/dist/pactile/retrieval/planner.d.ts +23 -0
- package/dist/pactile/retrieval/planner.d.ts.map +1 -0
- package/dist/pactile/retrieval/planner.js +702 -0
- package/dist/pactile/retrieval/planner.js.map +1 -0
- package/dist/pactile/retrieval/types.d.ts +108 -0
- package/dist/pactile/retrieval/types.d.ts.map +1 -0
- package/dist/pactile/retrieval/types.js +36 -0
- package/dist/pactile/retrieval/types.js.map +1 -0
- package/dist/pactile/runtime/case-fold.d.ts +2 -0
- package/dist/pactile/runtime/case-fold.d.ts.map +1 -0
- package/dist/pactile/runtime/case-fold.js +31 -0
- package/dist/pactile/runtime/case-fold.js.map +1 -0
- package/dist/pactile/runtime/index.d.ts +8 -0
- package/dist/pactile/runtime/index.d.ts.map +1 -0
- package/dist/pactile/runtime/index.js +5 -0
- package/dist/pactile/runtime/index.js.map +1 -0
- package/dist/pactile/runtime/json-api.d.ts +15 -0
- package/dist/pactile/runtime/json-api.d.ts.map +1 -0
- package/dist/pactile/runtime/json-api.js +68 -0
- package/dist/pactile/runtime/json-api.js.map +1 -0
- package/dist/pactile/runtime/paths.d.ts +59 -0
- package/dist/pactile/runtime/paths.d.ts.map +1 -0
- package/dist/pactile/runtime/paths.js +201 -0
- package/dist/pactile/runtime/paths.js.map +1 -0
- package/dist/pactile/runtime/stores.d.ts +54 -0
- package/dist/pactile/runtime/stores.d.ts.map +1 -0
- package/dist/pactile/runtime/stores.js +375 -0
- package/dist/pactile/runtime/stores.js.map +1 -0
- package/dist/pactile/runtime/unicode-nfc-data.d.ts +12 -0
- package/dist/pactile/runtime/unicode-nfc-data.d.ts.map +1 -0
- package/dist/pactile/runtime/unicode-nfc-data.js +8 -0
- package/dist/pactile/runtime/unicode-nfc-data.js.map +1 -0
- package/dist/pactile/runtime/unicode-nfc.d.ts +3 -0
- package/dist/pactile/runtime/unicode-nfc.d.ts.map +1 -0
- package/dist/pactile/runtime/unicode-nfc.js +77 -0
- package/dist/pactile/runtime/unicode-nfc.js.map +1 -0
- package/dist/pactile/tiles/catalog.d.ts +35 -0
- package/dist/pactile/tiles/catalog.d.ts.map +1 -0
- package/dist/pactile/tiles/catalog.js +235 -0
- package/dist/pactile/tiles/catalog.js.map +1 -0
- package/dist/pactile/tiles/compiler.d.ts +54 -0
- package/dist/pactile/tiles/compiler.d.ts.map +1 -0
- package/dist/pactile/tiles/compiler.js +270 -0
- package/dist/pactile/tiles/compiler.js.map +1 -0
- package/dist/pactile/tiles/content/baseline/index.d.ts +5 -0
- package/dist/pactile/tiles/content/baseline/index.d.ts.map +1 -0
- package/dist/pactile/tiles/content/baseline/index.js +115 -0
- package/dist/pactile/tiles/content/baseline/index.js.map +1 -0
- package/dist/pactile/tiles/content/index.d.ts +4 -0
- package/dist/pactile/tiles/content/index.d.ts.map +1 -0
- package/dist/pactile/tiles/content/index.js +4 -0
- package/dist/pactile/tiles/content/index.js.map +1 -0
- package/dist/pactile/tiles/content/ondemand/index.d.ts +5 -0
- package/dist/pactile/tiles/content/ondemand/index.d.ts.map +1 -0
- package/dist/pactile/tiles/content/ondemand/index.js +184 -0
- package/dist/pactile/tiles/content/ondemand/index.js.map +1 -0
- package/dist/pactile/tiles/content/source.d.ts +29 -0
- package/dist/pactile/tiles/content/source.d.ts.map +1 -0
- package/dist/pactile/tiles/content/source.js +86 -0
- package/dist/pactile/tiles/content/source.js.map +1 -0
- package/dist/pactile/tiles/loader.d.ts +31 -0
- package/dist/pactile/tiles/loader.d.ts.map +1 -0
- package/dist/pactile/tiles/loader.js +139 -0
- package/dist/pactile/tiles/loader.js.map +1 -0
- package/dist/pactile/tiles/safe-yaml.d.ts +11 -0
- package/dist/pactile/tiles/safe-yaml.d.ts.map +1 -0
- package/dist/pactile/tiles/safe-yaml.js +212 -0
- package/dist/pactile/tiles/safe-yaml.js.map +1 -0
- package/dist/templates/common/bundled-skills/pactile-check/SKILL.md +161 -0
- package/dist/templates/common/bundled-skills/pactile-check/references/fowler-12-smells.md +28 -0
- package/dist/templates/common/bundled-skills/pactile-handoff/SKILL.md +117 -0
- package/dist/templates/common/bundled-skills/pactile-meta/SKILL.md +75 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/add-project-local-conventions.md +83 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-agents.md +47 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-context-loading.md +84 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-hooks.md +57 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-skills-or-commands.md +77 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-spec-structure.md +83 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-task-lifecycle.md +88 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-workflow.md +65 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/overview.md +55 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/context-injection.md +68 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/generated-files.md +83 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/overview.md +51 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/spec-system.md +102 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/task-system.md +133 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/workflow.md +75 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/workspace-memory.md +71 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/agents.md +69 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/hooks-and-settings.md +59 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/overview.md +45 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/platform-map.md +45 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/skills-and-commands.md +108 -0
- package/dist/templates/common/bundled-skills/pactile-micro-grill/SKILL.md +68 -0
- package/dist/templates/common/bundled-skills/pactile-skill-creator/SKILL.md +47 -0
- package/dist/templates/common/bundled-skills/pactile-skill-creator/references/authoring-rules.md +171 -0
- package/dist/templates/common/bundled-skills/pactile-skill-creator/references/general-authoring.md +189 -0
- package/dist/templates/common/bundled-skills/pactile-skill-creator/references/pactile-skill-locations.md +52 -0
- package/dist/templates/common/bundled-skills/pactile-skill-creator/references/review-checklist.md +52 -0
- package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/SKILL.md +41 -0
- package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/references/mcp-setup.md +90 -0
- package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/references/repository-analysis.md +59 -0
- package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/references/spec-task-planning.md +61 -0
- package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/references/spec-writing.md +70 -0
- package/dist/templates/common/bundled-skills/smart-search-cli/SKILL.md +393 -0
- package/dist/templates/common/bundled-skills/smart-search-cli/agents/openai.yaml +3 -0
- package/dist/templates/common/bundled-skills/smart-search-cli/examples/batch-search.md +98 -0
- package/dist/templates/common/bundled-skills/smart-search-cli/examples/evidence-gathering.md +89 -0
- package/dist/templates/common/bundled-skills/smart-search-cli/references/cli-contract.md +323 -0
- package/dist/templates/common/commands/continue.md +62 -0
- package/dist/templates/common/commands/finish-work.md +82 -0
- package/dist/templates/common/commands/start.md +66 -0
- package/dist/templates/common/index.d.ts +68 -0
- package/dist/templates/common/index.d.ts.map +1 -0
- package/dist/templates/common/index.js +123 -0
- package/dist/templates/common/index.js.map +1 -0
- package/dist/templates/common/optional-skills/chrome-cdp/SKILL.md +179 -0
- package/dist/templates/common/optional-skills/chrome-cdp/examples/fetch-hook-api-capture.md +149 -0
- package/dist/templates/common/optional-skills/chrome-cdp/scripts/cdp.mjs +904 -0
- package/dist/templates/common/skills/before-dev.md +35 -0
- package/dist/templates/common/skills/brainstorm.md +204 -0
- package/dist/templates/common/skills/break-loop.md +125 -0
- package/dist/templates/common/skills/update-spec.md +364 -0
- package/dist/templates/cursor/agents/pactile-check.md +58 -0
- package/dist/templates/cursor/agents/pactile-implement.md +56 -0
- package/dist/templates/cursor/agents/pactile-research.md +51 -0
- package/dist/templates/cursor/commands/handoff.md +101 -0
- package/dist/templates/cursor/fixtures/expected-rules.d.ts +14 -0
- package/dist/templates/cursor/fixtures/expected-rules.d.ts.map +1 -0
- package/dist/templates/cursor/fixtures/expected-rules.js +20 -0
- package/dist/templates/cursor/fixtures/expected-rules.js.map +1 -0
- package/dist/templates/cursor/hooks.json +52 -0
- package/dist/templates/cursor/index.d.ts +19 -0
- package/dist/templates/cursor/index.d.ts.map +1 -0
- package/dist/templates/cursor/index.js +19 -0
- package/dist/templates/cursor/index.js.map +1 -0
- package/dist/templates/cursor/rules/pactile-bootstrap.mdc +18 -0
- package/dist/templates/cursor/worktrees.json +11 -0
- package/dist/templates/extract.d.ts +38 -0
- package/dist/templates/extract.d.ts.map +1 -0
- package/dist/templates/extract.js +120 -0
- package/dist/templates/extract.js.map +1 -0
- package/dist/templates/markdown/agents.md +14 -0
- package/dist/templates/markdown/framework/artifact-locale-guide.md.txt +93 -0
- package/dist/templates/markdown/framework/cursor-context-injection-guide.md.txt +85 -0
- package/dist/templates/markdown/framework/cursor-native-modes-guide.md.txt +239 -0
- package/dist/templates/markdown/framework/cursor-semantic-compliance.md.txt +41 -0
- package/dist/templates/markdown/framework/cursor-subagent-policy.md.txt +90 -0
- package/dist/templates/markdown/framework/dogfood-only-surfaces.md.txt +28 -0
- package/dist/templates/markdown/framework/execution-strategy.md.txt +45 -0
- package/dist/templates/markdown/framework/index.md.txt +31 -0
- package/dist/templates/markdown/framework/injection-budget-guide.md.txt +111 -0
- package/dist/templates/markdown/framework/internal-skills-cursor-reachability.md.txt +45 -0
- package/dist/templates/markdown/framework/middleware-protocol.md.txt +238 -0
- package/dist/templates/markdown/framework/parallel-first-execution.md.txt +116 -0
- package/dist/templates/markdown/framework/prd-grill-frontier.md.txt +105 -0
- package/dist/templates/markdown/framework/release-boundary.md.txt +30 -0
- package/dist/templates/markdown/framework/retrieval-daily-guide.md.txt +199 -0
- package/dist/templates/markdown/framework/upgrade.md.txt +15 -0
- package/dist/templates/markdown/framework/verification-strength-guide.md.txt +185 -0
- package/dist/templates/markdown/gitignore.txt +15 -0
- package/dist/templates/markdown/index.d.ts +59 -0
- package/dist/templates/markdown/index.d.ts.map +1 -0
- package/dist/templates/markdown/index.js +144 -0
- package/dist/templates/markdown/index.js.map +1 -0
- package/dist/templates/markdown/prompts/run-semantic-slice-12.md.txt +25 -0
- package/dist/templates/markdown/spec/backend/database-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/backend/directory-structure.md.txt +54 -0
- package/dist/templates/markdown/spec/backend/error-handling.md.txt +51 -0
- package/dist/templates/markdown/spec/backend/index.md.txt +38 -0
- package/dist/templates/markdown/spec/backend/logging-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/backend/quality-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/component-guidelines.md.txt +59 -0
- package/dist/templates/markdown/spec/frontend/directory-structure.md.txt +54 -0
- package/dist/templates/markdown/spec/frontend/hook-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/index.md.txt +39 -0
- package/dist/templates/markdown/spec/frontend/quality-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/state-management.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/type-safety.md.txt +51 -0
- package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +174 -0
- package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +162 -0
- package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +634 -0
- package/dist/templates/markdown/spec/guides/debug-loop-guide.md.txt +227 -0
- package/dist/templates/markdown/spec/guides/durable-learning-decision-guide.md.txt +76 -0
- package/dist/templates/markdown/spec/guides/e2e-walkthrough-guide.md.txt +93 -0
- package/dist/templates/markdown/spec/guides/index.md.txt +131 -0
- package/dist/templates/markdown/spec/guides/prototype-guide.md.txt +139 -0
- package/dist/templates/markdown/spec/guides/test-discipline-guide.md.txt +179 -0
- package/dist/templates/markdown/workspace-index.md +125 -0
- package/dist/templates/markdown/worktree.yaml.txt +58 -0
- package/dist/templates/pactile/CONTEXT.md +113 -0
- package/dist/templates/pactile/config/execution-strategy-rules.json +31 -0
- package/dist/templates/pactile/config.yaml +130 -0
- package/dist/templates/pactile/docs/adr/README.md +21 -0
- package/dist/templates/pactile/gitignore.txt +35 -0
- package/dist/templates/pactile/index.d.ts +134 -0
- package/dist/templates/pactile/index.d.ts.map +1 -0
- package/dist/templates/pactile/index.js +316 -0
- package/dist/templates/pactile/index.js.map +1 -0
- package/dist/templates/pactile/modules/approval-personal/contract.md +43 -0
- package/dist/templates/pactile/modules/candidate-pool/contract.md +37 -0
- package/dist/templates/pactile/modules/catalog.d.ts +32 -0
- package/dist/templates/pactile/modules/catalog.d.ts.map +1 -0
- package/dist/templates/pactile/modules/catalog.js +46 -0
- package/dist/templates/pactile/modules/catalog.js.map +1 -0
- package/dist/templates/pactile/modules/close-basic/contract.md +38 -0
- package/dist/templates/pactile/modules/context-progressive/contract.md +44 -0
- package/dist/templates/pactile/modules/debug-recovery/contract.md +44 -0
- package/dist/templates/pactile/modules/define-basic/contract.md +39 -0
- package/dist/templates/pactile/modules/define-extended/contract.md +45 -0
- package/dist/templates/pactile/modules/execute-agent/contract.md +38 -0
- package/dist/templates/pactile/modules/independent-check/contract.md +35 -0
- package/dist/templates/pactile/modules/index.json +133 -0
- package/dist/templates/pactile/modules/intake-basic/contract.md +34 -0
- package/dist/templates/pactile/modules/observability-local/contract.md +31 -0
- package/dist/templates/pactile/modules/parent-child/contract.md +45 -0
- package/dist/templates/pactile/modules/personal-memory/contract.md +56 -0
- package/dist/templates/pactile/modules/retention-storage/contract.md +43 -0
- package/dist/templates/pactile/modules/retrieval-extended/contract.md +77 -0
- package/dist/templates/pactile/modules/session-transfer/contract.md +41 -0
- package/dist/templates/pactile/modules/spec-learning/contract.md +50 -0
- package/dist/templates/pactile/modules/vcs-integration/contract.md +46 -0
- package/dist/templates/pactile/modules/verify-basic/contract.md +38 -0
- package/dist/templates/pactile/modules/worker-orchestration/contract.md +47 -0
- package/dist/templates/pactile/pool/README.md +149 -0
- package/dist/templates/pactile/pool/items/.gitkeep +0 -0
- package/dist/templates/pactile/pool/plan.md +50 -0
- package/dist/templates/pactile/scripts/__init__.py +5 -0
- package/dist/templates/pactile/scripts/add_session.py +547 -0
- package/dist/templates/pactile/scripts/build_context_pack.py +17 -0
- package/dist/templates/pactile/scripts/build_retrieval_pack.py +376 -0
- package/dist/templates/pactile/scripts/codegraph_session_smoke.py +76 -0
- package/dist/templates/pactile/scripts/common/__init__.py +103 -0
- package/dist/templates/pactile/scripts/common/active_task.py +576 -0
- package/dist/templates/pactile/scripts/common/adapter_middleware.py +1373 -0
- package/dist/templates/pactile/scripts/common/artifact_locale.py +303 -0
- package/dist/templates/pactile/scripts/common/artifact_search.py +587 -0
- package/dist/templates/pactile/scripts/common/cli_adapter.py +135 -0
- package/dist/templates/pactile/scripts/common/cli_environment.py +155 -0
- package/dist/templates/pactile/scripts/common/codebase_retrieval_router.py +1339 -0
- package/dist/templates/pactile/scripts/common/config.py +497 -0
- package/dist/templates/pactile/scripts/common/context_pack.py +371 -0
- package/dist/templates/pactile/scripts/common/cursor_retrieval_env.py +31 -0
- package/dist/templates/pactile/scripts/common/developer.py +190 -0
- package/dist/templates/pactile/scripts/common/execution_strategy.py +268 -0
- package/dist/templates/pactile/scripts/common/full_quality.py +237 -0
- package/dist/templates/pactile/scripts/common/git.py +37 -0
- package/dist/templates/pactile/scripts/common/git_context.py +198 -0
- package/dist/templates/pactile/scripts/common/injection_budget.py +317 -0
- package/dist/templates/pactile/scripts/common/io.py +37 -0
- package/dist/templates/pactile/scripts/common/kernel_command.py +369 -0
- package/dist/templates/pactile/scripts/common/lite_context.py +280 -0
- package/dist/templates/pactile/scripts/common/log.py +45 -0
- package/dist/templates/pactile/scripts/common/ondemand_topology.py +419 -0
- package/dist/templates/pactile/scripts/common/packages_context.py +239 -0
- package/dist/templates/pactile/scripts/common/pactile_config.py +131 -0
- package/dist/templates/pactile/scripts/common/parallel_declaration.py +369 -0
- package/dist/templates/pactile/scripts/common/parent_orchestration.py +1198 -0
- package/dist/templates/pactile/scripts/common/paths.py +756 -0
- package/dist/templates/pactile/scripts/common/pool_refs.py +119 -0
- package/dist/templates/pactile/scripts/common/pool_slice.py +269 -0
- package/dist/templates/pactile/scripts/common/pool_store.py +766 -0
- package/dist/templates/pactile/scripts/common/project_file_stats.py +91 -0
- package/dist/templates/pactile/scripts/common/retrieval_adapter_metadata.py +943 -0
- package/dist/templates/pactile/scripts/common/retrieval_agent_instructions.py +123 -0
- package/dist/templates/pactile/scripts/common/retrieval_evidence.py +915 -0
- package/dist/templates/pactile/scripts/common/retrieval_pack.py +422 -0
- package/dist/templates/pactile/scripts/common/retrieval_pack_context.py +122 -0
- package/dist/templates/pactile/scripts/common/retrieval_plan_gate.py +61 -0
- package/dist/templates/pactile/scripts/common/retrieval_result_ranking.py +104 -0
- package/dist/templates/pactile/scripts/common/retrieval_tool_classification.py +166 -0
- package/dist/templates/pactile/scripts/common/safe_commit.py +285 -0
- package/dist/templates/pactile/scripts/common/semantic_plan_gate.py +53 -0
- package/dist/templates/pactile/scripts/common/session_context.py +1213 -0
- package/dist/templates/pactile/scripts/common/session_memory.py +386 -0
- package/dist/templates/pactile/scripts/common/session_pack.py +886 -0
- package/dist/templates/pactile/scripts/common/smart_search_evidence.py +514 -0
- package/dist/templates/pactile/scripts/common/smart_search_resolve.py +150 -0
- package/dist/templates/pactile/scripts/common/subagent_dispatch.py +592 -0
- package/dist/templates/pactile/scripts/common/task_context.py +241 -0
- package/dist/templates/pactile/scripts/common/task_dashboard.py +286 -0
- package/dist/templates/pactile/scripts/common/task_dependencies.py +648 -0
- package/dist/templates/pactile/scripts/common/task_gates.py +2478 -0
- package/dist/templates/pactile/scripts/common/task_map.py +703 -0
- package/dist/templates/pactile/scripts/common/task_queue.py +188 -0
- package/dist/templates/pactile/scripts/common/task_store.py +2252 -0
- package/dist/templates/pactile/scripts/common/task_utils.py +274 -0
- package/dist/templates/pactile/scripts/common/tasks.py +231 -0
- package/dist/templates/pactile/scripts/common/test_adapter_middleware.py +199 -0
- package/dist/templates/pactile/scripts/common/test_depends_mode_block.py +509 -0
- package/dist/templates/pactile/scripts/common/test_full_quality.py +197 -0
- package/dist/templates/pactile/scripts/common/test_kernel_command.py +336 -0
- package/dist/templates/pactile/scripts/common/test_lite_path.py +190 -0
- package/dist/templates/pactile/scripts/common/test_observable_defaults.py +141 -0
- package/dist/templates/pactile/scripts/common/test_ondemand_topology.py +237 -0
- package/dist/templates/pactile/scripts/common/test_parallel_declaration.py +264 -0
- package/dist/templates/pactile/scripts/common/test_pool_slice.py +198 -0
- package/dist/templates/pactile/scripts/common/test_pool_store.py +452 -0
- package/dist/templates/pactile/scripts/common/test_retrieval_arbitration.py +331 -0
- package/dist/templates/pactile/scripts/common/test_task_dashboard.py +155 -0
- package/dist/templates/pactile/scripts/common/test_task_dependencies.py +329 -0
- package/dist/templates/pactile/scripts/common/test_task_store_kernel_patch.py +163 -0
- package/dist/templates/pactile/scripts/common/types.py +110 -0
- package/dist/templates/pactile/scripts/common/workflow_phase.py +194 -0
- package/dist/templates/pactile/scripts/compile_session_pack.py +15 -0
- package/dist/templates/pactile/scripts/cursor_retrieval_probe.py +64 -0
- package/dist/templates/pactile/scripts/cursor_retrieval_probe_prompt.md +33 -0
- package/dist/templates/pactile/scripts/generate_dispatch_prompt.py +182 -0
- package/dist/templates/pactile/scripts/get_context.py +19 -0
- package/dist/templates/pactile/scripts/get_developer.py +26 -0
- package/dist/templates/pactile/scripts/hooks/linear_sync.py +243 -0
- package/dist/templates/pactile/scripts/init_developer.py +51 -0
- package/dist/templates/pactile/scripts/injection_budget_probe.py +69 -0
- package/dist/templates/pactile/scripts/pool.py +237 -0
- package/dist/templates/pactile/scripts/rank_retrieval_candidates.py +98 -0
- package/dist/templates/pactile/scripts/retrieval_probe_matrix_template.json +43 -0
- package/dist/templates/pactile/scripts/route_codebase_retrieval.py +72 -0
- package/dist/templates/pactile/scripts/run_smart_search.py +12 -0
- package/dist/templates/pactile/scripts/score_evidence.py +131 -0
- package/dist/templates/pactile/scripts/search_artifacts.py +13 -0
- package/dist/templates/pactile/scripts/search_memory.py +12 -0
- package/dist/templates/pactile/scripts/spec_health_outcomes.py +160 -0
- package/dist/templates/pactile/scripts/task.py +1118 -0
- package/dist/templates/pactile/scripts/verify_evidence_probe.py +138 -0
- package/dist/templates/pactile/tasks/.gitkeep +0 -0
- package/dist/templates/pactile/tasks/locale/en/default-prd.md +27 -0
- package/dist/templates/pactile/tasks/locale/zh/default-prd.md +27 -0
- package/dist/templates/pactile/tasks/templates/release-execution/design.md +61 -0
- package/dist/templates/pactile/tasks/templates/release-execution/handoff-template.md +29 -0
- package/dist/templates/pactile/tasks/templates/release-execution/implement.md +29 -0
- package/dist/templates/pactile/tasks/templates/release-execution/prd.md +31 -0
- package/dist/templates/pactile/tasks/templates/release-readiness/design.md +50 -0
- package/dist/templates/pactile/tasks/templates/release-readiness/handoff-template.md +39 -0
- package/dist/templates/pactile/tasks/templates/release-readiness/implement.md +29 -0
- package/dist/templates/pactile/tasks/templates/release-readiness/prd.md +31 -0
- package/dist/templates/pactile/workflow.md +64 -0
- package/dist/templates/shared-hooks/event-bridge.py +121 -0
- package/dist/templates/shared-hooks/index.d.ts +50 -0
- package/dist/templates/shared-hooks/index.d.ts.map +1 -0
- package/dist/templates/shared-hooks/index.js +96 -0
- package/dist/templates/shared-hooks/index.js.map +1 -0
- package/dist/templates/shared-hooks/inject-retrieval-plan.py +217 -0
- package/dist/templates/shared-hooks/inject-shell-session-context.py +183 -0
- package/dist/templates/shared-hooks/inject-subagent-context.py +267 -0
- package/dist/templates/shared-hooks/inject-workflow-state.py +106 -0
- package/dist/templates/shared-hooks/rename-session-for-task.py +231 -0
- package/dist/templates/shared-hooks/research-end-retrieval-pack.py +345 -0
- package/dist/templates/shared-hooks/session-start.py +355 -0
- package/dist/templates/shared-hooks/spec-write-audit.py +173 -0
- package/dist/templates/template-utils.d.ts +28 -0
- package/dist/templates/template-utils.d.ts.map +1 -0
- package/dist/templates/template-utils.js +83 -0
- package/dist/templates/template-utils.js.map +1 -0
- package/dist/types/ai-tools.d.ts +102 -0
- package/dist/types/ai-tools.d.ts.map +1 -0
- package/dist/types/ai-tools.js +60 -0
- package/dist/types/ai-tools.js.map +1 -0
- package/dist/types/migration.d.ts +125 -0
- package/dist/types/migration.d.ts.map +1 -0
- package/dist/types/migration.js +8 -0
- package/dist/types/migration.js.map +1 -0
- package/dist/utils/agents-md.d.ts +27 -0
- package/dist/utils/agents-md.d.ts.map +1 -0
- package/dist/utils/agents-md.js +70 -0
- package/dist/utils/agents-md.js.map +1 -0
- package/dist/utils/codebase-retrieval-router.d.ts +31 -0
- package/dist/utils/codebase-retrieval-router.d.ts.map +1 -0
- package/dist/utils/codebase-retrieval-router.js +88 -0
- package/dist/utils/codebase-retrieval-router.js.map +1 -0
- package/dist/utils/compare-versions.d.ts +12 -0
- package/dist/utils/compare-versions.d.ts.map +1 -0
- package/dist/utils/compare-versions.js +86 -0
- package/dist/utils/compare-versions.js.map +1 -0
- package/dist/utils/cursor-retrieval-env.d.ts +17 -0
- package/dist/utils/cursor-retrieval-env.d.ts.map +1 -0
- package/dist/utils/cursor-retrieval-env.js +19 -0
- package/dist/utils/cursor-retrieval-env.js.map +1 -0
- package/dist/utils/cwd-guard.d.ts +38 -0
- package/dist/utils/cwd-guard.d.ts.map +1 -0
- package/dist/utils/cwd-guard.js +63 -0
- package/dist/utils/cwd-guard.js.map +1 -0
- package/dist/utils/file-writer.d.ts +36 -0
- package/dist/utils/file-writer.d.ts.map +1 -0
- package/dist/utils/file-writer.js +203 -0
- package/dist/utils/file-writer.js.map +1 -0
- package/dist/utils/manifest-prune.d.ts +59 -0
- package/dist/utils/manifest-prune.d.ts.map +1 -0
- package/dist/utils/manifest-prune.js +176 -0
- package/dist/utils/manifest-prune.js.map +1 -0
- package/dist/utils/mirror-check.d.ts +22 -0
- package/dist/utils/mirror-check.d.ts.map +1 -0
- package/dist/utils/mirror-check.js +90 -0
- package/dist/utils/mirror-check.js.map +1 -0
- package/dist/utils/normalize-text.d.ts +7 -0
- package/dist/utils/normalize-text.d.ts.map +1 -0
- package/dist/utils/normalize-text.js +16 -0
- package/dist/utils/normalize-text.js.map +1 -0
- package/dist/utils/p36-upgrade.d.ts +62 -0
- package/dist/utils/p36-upgrade.d.ts.map +1 -0
- package/dist/utils/p36-upgrade.js +165 -0
- package/dist/utils/p36-upgrade.js.map +1 -0
- package/dist/utils/posix.d.ts +13 -0
- package/dist/utils/posix.d.ts.map +1 -0
- package/dist/utils/posix.js +15 -0
- package/dist/utils/posix.js.map +1 -0
- package/dist/utils/post-update-smoke.d.ts +7 -0
- package/dist/utils/post-update-smoke.d.ts.map +1 -0
- package/dist/utils/post-update-smoke.js +40 -0
- package/dist/utils/post-update-smoke.js.map +1 -0
- package/dist/utils/project-capabilities.d.ts +82 -0
- package/dist/utils/project-capabilities.d.ts.map +1 -0
- package/dist/utils/project-capabilities.js +691 -0
- package/dist/utils/project-capabilities.js.map +1 -0
- package/dist/utils/project-detector.d.ts +46 -0
- package/dist/utils/project-detector.d.ts.map +1 -0
- package/dist/utils/project-detector.js +666 -0
- package/dist/utils/project-detector.js.map +1 -0
- package/dist/utils/proxy.d.ts +25 -0
- package/dist/utils/proxy.d.ts.map +1 -0
- package/dist/utils/proxy.js +60 -0
- package/dist/utils/proxy.js.map +1 -0
- package/dist/utils/readiness.d.ts +40 -0
- package/dist/utils/readiness.d.ts.map +1 -0
- package/dist/utils/readiness.js +491 -0
- package/dist/utils/readiness.js.map +1 -0
- package/dist/utils/retrieval-agent-instructions.d.ts +10 -0
- package/dist/utils/retrieval-agent-instructions.d.ts.map +1 -0
- package/dist/utils/retrieval-agent-instructions.js +97 -0
- package/dist/utils/retrieval-agent-instructions.js.map +1 -0
- package/dist/utils/retrieval-execution-telemetry.d.ts +53 -0
- package/dist/utils/retrieval-execution-telemetry.d.ts.map +1 -0
- package/dist/utils/retrieval-execution-telemetry.js +116 -0
- package/dist/utils/retrieval-execution-telemetry.js.map +1 -0
- package/dist/utils/retrieval-result-ranking.d.ts +34 -0
- package/dist/utils/retrieval-result-ranking.d.ts.map +1 -0
- package/dist/utils/retrieval-result-ranking.js +71 -0
- package/dist/utils/retrieval-result-ranking.js.map +1 -0
- package/dist/utils/retrieval-tool-classification.d.ts +18 -0
- package/dist/utils/retrieval-tool-classification.d.ts.map +1 -0
- package/dist/utils/retrieval-tool-classification.js +118 -0
- package/dist/utils/retrieval-tool-classification.js.map +1 -0
- package/dist/utils/semantic-plan-gate.d.ts +8 -0
- package/dist/utils/semantic-plan-gate.d.ts.map +1 -0
- package/dist/utils/semantic-plan-gate.js +24 -0
- package/dist/utils/semantic-plan-gate.js.map +1 -0
- package/dist/utils/task-json.d.ts +13 -0
- package/dist/utils/task-json.d.ts.map +1 -0
- package/dist/utils/task-json.js +12 -0
- package/dist/utils/task-json.js.map +1 -0
- package/dist/utils/template-fetcher.d.ts +150 -0
- package/dist/utils/template-fetcher.d.ts.map +1 -0
- package/dist/utils/template-fetcher.js +907 -0
- package/dist/utils/template-fetcher.js.map +1 -0
- package/dist/utils/template-hash.d.ts +123 -0
- package/dist/utils/template-hash.d.ts.map +1 -0
- package/dist/utils/template-hash.js +375 -0
- package/dist/utils/template-hash.js.map +1 -0
- package/dist/utils/uninstall-scrubbers.d.ts +30 -0
- package/dist/utils/uninstall-scrubbers.d.ts.map +1 -0
- package/dist/utils/uninstall-scrubbers.js +196 -0
- package/dist/utils/uninstall-scrubbers.js.map +1 -0
- package/dist/utils/update-rollout-report.d.ts +171 -0
- package/dist/utils/update-rollout-report.d.ts.map +1 -0
- package/dist/utils/update-rollout-report.js +126 -0
- package/dist/utils/update-rollout-report.js.map +1 -0
- package/dist/utils/validate-rules.d.ts +21 -0
- package/dist/utils/validate-rules.d.ts.map +1 -0
- package/dist/utils/validate-rules.js +88 -0
- package/dist/utils/validate-rules.js.map +1 -0
- package/dist/utils/workflow-dir.d.ts +15 -0
- package/dist/utils/workflow-dir.d.ts.map +1 -0
- package/dist/utils/workflow-dir.js +33 -0
- package/dist/utils/workflow-dir.js.map +1 -0
- package/dist/utils/workflow-resolver.d.ts +86 -0
- package/dist/utils/workflow-resolver.d.ts.map +1 -0
- package/dist/utils/workflow-resolver.js +265 -0
- package/dist/utils/workflow-resolver.js.map +1 -0
- package/package.json +117 -0
- package/scripts/postinstall.js +6 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Local Spec System
|
|
2
|
+
|
|
3
|
+
`.pactile/spec/` is the user's project-specific engineering spec library. Pactile is not about making AI memorize conventions; it injects relevant specs or requires the AI to read them at the right time.
|
|
4
|
+
|
|
5
|
+
## Directory Model
|
|
6
|
+
|
|
7
|
+
A common single-repository structure:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
.pactile/spec/
|
|
11
|
+
├── backend/
|
|
12
|
+
│ ├── index.md
|
|
13
|
+
│ └── ...
|
|
14
|
+
├── frontend/
|
|
15
|
+
│ ├── index.md
|
|
16
|
+
│ └── ...
|
|
17
|
+
└── guides/
|
|
18
|
+
├── index.md
|
|
19
|
+
└── ...
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
A common monorepo structure:
|
|
23
|
+
|
|
24
|
+
```text
|
|
25
|
+
.pactile/spec/
|
|
26
|
+
├── cli/
|
|
27
|
+
│ ├── backend/
|
|
28
|
+
│ │ ├── index.md
|
|
29
|
+
│ │ └── ...
|
|
30
|
+
│ └── unit-test/
|
|
31
|
+
│ ├── index.md
|
|
32
|
+
│ └── ...
|
|
33
|
+
├── docs-site/
|
|
34
|
+
│ └── docs/
|
|
35
|
+
│ ├── index.md
|
|
36
|
+
│ └── ...
|
|
37
|
+
└── guides/
|
|
38
|
+
├── index.md
|
|
39
|
+
└── ...
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
`index.md` is the entry point for each layer. It should list the Pre-Development Checklist and Quality Check. Specific guidelines live in other Markdown files in the same directory.
|
|
43
|
+
|
|
44
|
+
## Package Configuration
|
|
45
|
+
|
|
46
|
+
`.pactile/config.yaml` can declare packages:
|
|
47
|
+
|
|
48
|
+
```yaml
|
|
49
|
+
packages:
|
|
50
|
+
cli:
|
|
51
|
+
path: packages/cli
|
|
52
|
+
docs-site:
|
|
53
|
+
path: docs-site
|
|
54
|
+
type: submodule
|
|
55
|
+
default_package: cli
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
The AI can run:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
python3 ./.pactile/scripts/get_context.py --mode packages
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
This command lists packages and spec layers for the current project. Use this output as the reference when configuring context JSONL.
|
|
65
|
+
|
|
66
|
+
## How Specs Enter Tasks
|
|
67
|
+
|
|
68
|
+
Before a task enters implementation, planning may write relevant specs into `implement.jsonl` / `check.jsonl` when the task needs spec or research context beyond the task artifacts:
|
|
69
|
+
|
|
70
|
+
```jsonl
|
|
71
|
+
{"file": ".pactile/spec/cli/backend/index.md", "reason": "CLI backend conventions"}
|
|
72
|
+
{"file": ".pactile/spec/cli/unit-test/conventions.md", "reason": "Test expectations"}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Sub-agents or platform preludes read these JSONL files and load the referenced specs. On platforms without sub-agent support, the AI should read the relevant specs directly according to the workflow.
|
|
76
|
+
|
|
77
|
+
## What Specs Should Contain
|
|
78
|
+
|
|
79
|
+
Specs should contain executable engineering conventions for the project, not generic best practices:
|
|
80
|
+
|
|
81
|
+
- Where files should live.
|
|
82
|
+
- How error handling should be expressed.
|
|
83
|
+
- Input/output contracts for APIs, hooks, and commands.
|
|
84
|
+
- Patterns that are forbidden.
|
|
85
|
+
- Cases that require tests.
|
|
86
|
+
- Project-specific pitfalls and how to avoid them.
|
|
87
|
+
|
|
88
|
+
When the AI learns a new rule during implementation or debugging, it should update `.pactile/spec/` rather than only summarizing it in chat.
|
|
89
|
+
|
|
90
|
+
## Local Customization Points
|
|
91
|
+
|
|
92
|
+
| Need | Edit location |
|
|
93
|
+
| --- | --- |
|
|
94
|
+
| Add a new spec layer | `.pactile/spec/<package>/<layer>/index.md` and corresponding guideline files. |
|
|
95
|
+
| Change monorepo spec mapping | `packages` / `default_package` / `spec_scope` in `.pactile/config.yaml`. |
|
|
96
|
+
| Change which specs AI reads before implementation | The task's `implement.jsonl`. |
|
|
97
|
+
| Change which specs AI reads during checking | The task's `check.jsonl`. |
|
|
98
|
+
| Change when specs should be updated | Phase 3.3 in `.pactile/workflow.md` and the `pactile-update-spec` skill. |
|
|
99
|
+
|
|
100
|
+
## Boundaries
|
|
101
|
+
|
|
102
|
+
`.pactile/spec/` is the user's project specification, not a permanent copy of Pactile built-in templates. The AI should encourage the user to update it according to the actual project code instead of treating Pactile default templates as immutable documents.
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Local Task System
|
|
2
|
+
|
|
3
|
+
The Pactile task system is stored entirely under `.pactile/tasks/` in the user project. Each task is a directory containing requirements, context, research, state, and relationship information.
|
|
4
|
+
|
|
5
|
+
## Task Directory Structure
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
.pactile/tasks/
|
|
9
|
+
├── 04-28-example-task/
|
|
10
|
+
│ ├── task.json
|
|
11
|
+
│ ├── prd.md
|
|
12
|
+
│ ├── design.md
|
|
13
|
+
│ ├── implement.md
|
|
14
|
+
│ ├── implement.jsonl
|
|
15
|
+
│ ├── check.jsonl
|
|
16
|
+
│ └── research/
|
|
17
|
+
└── archive/
|
|
18
|
+
└── 2026-04/
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
| File | Purpose |
|
|
22
|
+
| --- | --- |
|
|
23
|
+
| `task.json` | Task metadata: status, assignee, priority, branch, parent/child tasks, and similar fields. |
|
|
24
|
+
| `prd.md` | Requirements, constraints, and acceptance criteria. Lightweight tasks may be PRD-only. |
|
|
25
|
+
| `design.md` | Technical design for complex tasks: boundaries, contracts, data flow, compatibility, tradeoffs. |
|
|
26
|
+
| `implement.md` | Execution plan for complex tasks: ordered checklist, validation commands, review gates, rollback points. |
|
|
27
|
+
| `implement.jsonl` | List of spec/research files the implement agent must read first. |
|
|
28
|
+
| `check.jsonl` | List of spec/research files the check agent must read first. |
|
|
29
|
+
| `research/` | Research artifacts. Complex findings should not live only in chat. |
|
|
30
|
+
|
|
31
|
+
## `task.json`
|
|
32
|
+
|
|
33
|
+
`task.json` records task status and metadata. Common fields:
|
|
34
|
+
|
|
35
|
+
| Field | Meaning |
|
|
36
|
+
| --- | --- |
|
|
37
|
+
| `id` / `name` / `title` | Task identity and title. |
|
|
38
|
+
| `status` | Status such as `planning`, `in_progress`, `review`, or `completed`. |
|
|
39
|
+
| `priority` | `P0`, `P1`, `P2`, `P3`. |
|
|
40
|
+
| `creator` / `assignee` | Creator and assignee. |
|
|
41
|
+
| `package` | Target package in a monorepo; may be empty. |
|
|
42
|
+
| `branch` / `base_branch` | Working branch and PR target branch. |
|
|
43
|
+
| `children` / `parent` | Parent/child task relationships. |
|
|
44
|
+
| `commit` / `pr_url` | Commit and PR information after completion. |
|
|
45
|
+
| `meta` | Extension fields. |
|
|
46
|
+
|
|
47
|
+
## Parent / Child Task Trees
|
|
48
|
+
|
|
49
|
+
Parent/child task relationships are for work structure. A parent task groups related deliverables under one source requirement set; it is not a dependency scheduler and does not replace the child task's own planning artifacts.
|
|
50
|
+
|
|
51
|
+
Use a parent task when a request has multiple independently verifiable deliverables. The parent owns:
|
|
52
|
+
|
|
53
|
+
- Source requirements and user-facing scope.
|
|
54
|
+
- The map of child tasks and their responsibility boundaries.
|
|
55
|
+
- Cross-child acceptance criteria and final integration review.
|
|
56
|
+
|
|
57
|
+
Use child tasks for deliverables that can move through planning, implementation, check, and archive independently. If one child depends on another, write that dependency in the child `prd.md` / `implement.md`; do not rely on tree position to imply ordering.
|
|
58
|
+
|
|
59
|
+
Create new children with:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
python3 ./.pactile/scripts/task.py create "<child title>" --slug <child-slug> --parent <parent-dir>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Link or unlink existing tasks with:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
python3 ./.pactile/scripts/task.py add-subtask <parent-dir> <child-dir>
|
|
69
|
+
python3 ./.pactile/scripts/task.py remove-subtask <parent-dir> <child-dir>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
`children` on the parent is a historical list. When a child is archived, Pactile keeps that child name in the parent so progress like `[2/3 done]` remains meaningful after completed children move to `archive/`.
|
|
73
|
+
|
|
74
|
+
The AI should not treat phase numbers as task status. Task progress is mainly determined by `status`, artifact presence (`prd.md`, optional `design.md` / `implement.md`), whether JSONL context is configured for sub-agent mode, and the phase descriptions in `workflow.md`.
|
|
75
|
+
|
|
76
|
+
## Selected Task
|
|
77
|
+
|
|
78
|
+
The user sees a "selected task," and Pactile stores that selection per live session.
|
|
79
|
+
|
|
80
|
+
```text
|
|
81
|
+
.pactile/.runtime/sessions/<context-key>.json
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
`task.py select <task>` writes the task path into the runtime session file for the current session. `task.py selected --source` shows the selected task and where it came from. Different AI windows can point to different tasks without overwriting each other.
|
|
85
|
+
|
|
86
|
+
If the platform or shell environment has no stable session identity, `task.py select` may be unable to set the selected task. The AI should read the error, inspect the platform hook/session environment, and not fall back to a shared global pointer.
|
|
87
|
+
|
|
88
|
+
## JSONL Context
|
|
89
|
+
|
|
90
|
+
`implement.jsonl` and `check.jsonl` are context manifests for sub-agents to read first. They do not replace `implement.md`; `implement.md` is the human-readable execution plan.
|
|
91
|
+
|
|
92
|
+
Format:
|
|
93
|
+
|
|
94
|
+
```jsonl
|
|
95
|
+
{"file": ".pactile/spec/cli/backend/index.md", "reason": "Backend conventions"}
|
|
96
|
+
{"file": ".pactile/tasks/04-28-example/research/api.md", "reason": "API research"}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Rules:
|
|
100
|
+
|
|
101
|
+
- Include spec and research files.
|
|
102
|
+
- Do not include code files that are about to be modified.
|
|
103
|
+
- Do not treat temporary conclusions in chat as the only context.
|
|
104
|
+
- Seed rows have no `file` field; they only prompt the AI to fill in real entries.
|
|
105
|
+
|
|
106
|
+
## Common Commands
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
python3 ./.pactile/scripts/task.py create "<title>" --slug <slug>
|
|
110
|
+
python3 ./.pactile/scripts/task.py dashboard
|
|
111
|
+
python3 ./.pactile/scripts/task.py select <task>
|
|
112
|
+
python3 ./.pactile/scripts/task.py selected --source
|
|
113
|
+
python3 ./.pactile/scripts/task.py start-execution <task> --check
|
|
114
|
+
python3 ./.pactile/scripts/task.py start-execution <task> --approved
|
|
115
|
+
python3 ./.pactile/scripts/task.py add-context <task> implement <file> <reason>
|
|
116
|
+
python3 ./.pactile/scripts/task.py validate <task>
|
|
117
|
+
python3 ./.pactile/scripts/task.py exit
|
|
118
|
+
python3 ./.pactile/scripts/task.py archive <task>
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
When modifying the task system, the AI should prefer script commands to maintain structure. Edit JSON/Markdown directly only when scripts do not cover the need.
|
|
122
|
+
|
|
123
|
+
## Local Customization Points
|
|
124
|
+
|
|
125
|
+
| Need | Edit location |
|
|
126
|
+
| --- | --- |
|
|
127
|
+
| Change the default task template | `.pactile/scripts/common/task_store.py` and task creation instructions. |
|
|
128
|
+
| Change status semantics | `.pactile/workflow.md`, workflow-state hook logic, and task usage conventions. |
|
|
129
|
+
| Add task lifecycle actions | `hooks.after_*` in `.pactile/config.yaml`. |
|
|
130
|
+
| Change context rules | Planning artifact guidance in `.pactile/workflow.md` and related platform agent/hook instructions. |
|
|
131
|
+
| Change archive policy | `.pactile/scripts/common/task_store.py` / `task_utils.py`. |
|
|
132
|
+
|
|
133
|
+
These are local files in the user project. Do not default to editing Pactile CLI source code unless the user wants to contribute upstream.
|
package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/workflow.md
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Local Workflow System
|
|
2
|
+
|
|
3
|
+
`.pactile/workflow.md` is the Pactile workflow source of truth inside the user project. An AI does not need Pactile source code to understand how the current project should move tasks forward; this file is enough.
|
|
4
|
+
|
|
5
|
+
## File Responsibilities
|
|
6
|
+
|
|
7
|
+
`.pactile/workflow.md` has three responsibilities:
|
|
8
|
+
|
|
9
|
+
1. **Explain workflow phases**: Plan, Execute, Finish.
|
|
10
|
+
2. **Define skill routing**: which skill or agent the AI should use when the user expresses a certain intent.
|
|
11
|
+
3. **Provide workflow-state prompt blocks**: hooks can inject the prompt block for the current state into the conversation.
|
|
12
|
+
|
|
13
|
+
## Current Phase Model
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
Phase 1: Plan -> clarify what to build, produce prd.md and required research
|
|
17
|
+
Phase 2: Execute -> implement against the PRD and specs, then check
|
|
18
|
+
Phase 3: Finish -> final verification, preserve lessons, and wrap up
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Each phase contains numbered steps, such as `1.3 Configure context`. These numbers are not runtime fields in `task.json`; they are workflow structure for AI and humans to read.
|
|
22
|
+
|
|
23
|
+
## Skill Routing
|
|
24
|
+
|
|
25
|
+
`workflow.md` separates routing by platform capability:
|
|
26
|
+
|
|
27
|
+
- Platforms with sub-agent support: dispatch `pactile-implement` by default for implementation and `pactile-check` for checking.
|
|
28
|
+
- Platforms without sub-agent support: the main session reads skills such as `pactile-before-dev`, then executes directly.
|
|
29
|
+
|
|
30
|
+
When changing local AI behavior, update the routing descriptions in `workflow.md` first, then check whether the corresponding platform skill, command, or agent files need to stay in sync.
|
|
31
|
+
|
|
32
|
+
## Workflow-State Prompt Blocks
|
|
33
|
+
|
|
34
|
+
The bottom of `workflow.md` can contain state blocks like this:
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
[workflow-state:no_task]
|
|
38
|
+
...
|
|
39
|
+
[/workflow-state:no_task]
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Hooks choose the right block based on selected task status and inject it into the conversation. Common states include:
|
|
43
|
+
|
|
44
|
+
| State | Meaning |
|
|
45
|
+
| --- | --- |
|
|
46
|
+
| `no_task` | The current session has no selected task. |
|
|
47
|
+
| `planning` | The task is still in requirements, research, or context configuration. |
|
|
48
|
+
| `in_progress` | The task has entered implementation and checking. |
|
|
49
|
+
| `completed` | The task is complete and waiting for wrap-up or archive. |
|
|
50
|
+
|
|
51
|
+
If the user wants to change policies such as "whether to create a task when there is no task," "when task creation may be skipped," or "whether sub-agents are required," edit these state blocks and the routing table above them.
|
|
52
|
+
|
|
53
|
+
## Local Modification Patterns
|
|
54
|
+
|
|
55
|
+
Common changes:
|
|
56
|
+
|
|
57
|
+
| Goal | Edit point |
|
|
58
|
+
| --- | --- |
|
|
59
|
+
| Add a phase | Update the Phase Index, phase body, routing, and state blocks. |
|
|
60
|
+
| Change task creation policy | Update the `no_task` state block and Phase 1 description. |
|
|
61
|
+
| Change the default implementation/check path | Update Phase 2 and skill routing. |
|
|
62
|
+
| Change the wrap-up flow | Update Phase 3 and `finish-work` related descriptions. Note the current split: Phase 3.4 = AI-driven code commits (batched, user-confirmed), Phase 3.5 = `/finish-work` (archive + record session). `/finish-work` refuses to run if the working tree is dirty. |
|
|
63
|
+
| Change platform differences | Update routing descriptions grouped by platform. |
|
|
64
|
+
|
|
65
|
+
After editing, make the AI reread `.pactile/workflow.md`; do not assume the flow from the old conversation is still valid.
|
|
66
|
+
|
|
67
|
+
## Relationship To Platform Files
|
|
68
|
+
|
|
69
|
+
`workflow.md` is the semantic center of the local workflow, but each platform can also have its own entry files:
|
|
70
|
+
|
|
71
|
+
- skills, such as `pactile-brainstorm` and `pactile-check`.
|
|
72
|
+
- commands/prompts/workflows, such as continue and finish-work.
|
|
73
|
+
- hooks, such as session-start or workflow-state injection.
|
|
74
|
+
|
|
75
|
+
If only `workflow.md` changes, platform entry files may still contain old language. When the user wants to change "what the AI actually does," also inspect the relevant platform directory.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Local Workspace Memory System
|
|
2
|
+
|
|
3
|
+
`.pactile/workspace/` stores cross-session memory. Its purpose is to let AI and humans understand what happened before across different windows and different days.
|
|
4
|
+
|
|
5
|
+
## Directory Structure
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
.pactile/workspace/
|
|
9
|
+
├── index.md
|
|
10
|
+
└── <developer>/
|
|
11
|
+
├── index.md
|
|
12
|
+
├── journal-1.md
|
|
13
|
+
└── journal-2.md
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
| File | Purpose |
|
|
17
|
+
| --- | --- |
|
|
18
|
+
| `.pactile/.developer` | Current developer identity. |
|
|
19
|
+
| `.pactile/workspace/index.md` | Global workspace overview. |
|
|
20
|
+
| `.pactile/workspace/<developer>/index.md` | Session index for a developer. |
|
|
21
|
+
| `.pactile/workspace/<developer>/journal-N.md` | Session journal. |
|
|
22
|
+
|
|
23
|
+
## Developer Identity
|
|
24
|
+
|
|
25
|
+
Run this the first time:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
python3 ./.pactile/scripts/init_developer.py <name>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
This creates `.pactile/.developer` and the corresponding workspace directory. The AI should not change developer identity casually; if the identity is wrong, first confirm who is using the current project.
|
|
32
|
+
|
|
33
|
+
## Journal
|
|
34
|
+
|
|
35
|
+
`journal-N.md` records completed or partially completed work from each session. By default, each journal holds about 2000 lines; after that it rotates to the next file.
|
|
36
|
+
|
|
37
|
+
Common command for recording a session:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
python3 ./.pactile/scripts/add_session.py \
|
|
41
|
+
--title "Session title" \
|
|
42
|
+
--summary "What changed" \
|
|
43
|
+
--commit "abc1234"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Planning or review work without a commit can also be recorded by using `--no-commit` or an empty commit value.
|
|
47
|
+
|
|
48
|
+
## Relationship Between Workspace Memory And Tasks
|
|
49
|
+
|
|
50
|
+
| System | What it stores |
|
|
51
|
+
| --- | --- |
|
|
52
|
+
| `.pactile/tasks/` | Requirements, design, research, and state for a specific task. |
|
|
53
|
+
| `.pactile/workspace/` | Work records across tasks and sessions. |
|
|
54
|
+
| `.pactile/spec/` | Engineering knowledge preserved as long-term conventions. |
|
|
55
|
+
|
|
56
|
+
If information is only useful for the selected task, put it in the task directory.
|
|
57
|
+
If information describes what happened in the current session, put it in the workspace journal.
|
|
58
|
+
If information should be followed every time code is written in the future, put it in spec.
|
|
59
|
+
|
|
60
|
+
## Local Customization Points
|
|
61
|
+
|
|
62
|
+
| Need | Edit location |
|
|
63
|
+
| --- | --- |
|
|
64
|
+
| Change maximum journal lines | `max_journal_lines` in `.pactile/config.yaml`. |
|
|
65
|
+
| Change session auto-commit message | `session_commit_message` in `.pactile/config.yaml`. |
|
|
66
|
+
| Change session content format | `.pactile/scripts/add_session.py`. |
|
|
67
|
+
| Change how workspace is displayed in context | `.pactile/scripts/common/session_context.py`. |
|
|
68
|
+
|
|
69
|
+
## AI Usage Rules
|
|
70
|
+
|
|
71
|
+
The AI should not treat workspace as the only source of truth. When resuming a task, read the selected task first, then use workspace for background. After a task is complete, record important process notes in workspace; if long-term rules emerged, update spec.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Agents
|
|
2
|
+
|
|
3
|
+
Pactile agent files define specialized roles. Common Pactile agents in a user project are:
|
|
4
|
+
|
|
5
|
+
- `pactile-research`
|
|
6
|
+
- `pactile-implement`
|
|
7
|
+
- `pactile-check`
|
|
8
|
+
|
|
9
|
+
Responsibility boundaries should stay consistent regardless of file format.
|
|
10
|
+
|
|
11
|
+
> Pactile previously shipped agent files in per-platform directories for many AI tools (`.claude/agents/`, `.codex/agents/`, `.kiro/agents/`, etc.). The project has converged on **Cursor-only**. New agent definitions ship into `.cursor/agents/`; legacy agent directories in upgraded projects are preserved but not extended.
|
|
12
|
+
|
|
13
|
+
## Agent Responsibilities
|
|
14
|
+
|
|
15
|
+
| Agent | Responsibility |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| `pactile-research` | Investigate the question and write findings into the selected task's `research/`. |
|
|
18
|
+
| `pactile-implement` | Implement against `prd.md`, optional `design.md` / `implement.md`, `implement.jsonl`, and related spec/research. |
|
|
19
|
+
| `pactile-check` | Review changes, fix discovered issues, and run necessary checks. |
|
|
20
|
+
|
|
21
|
+
Agent files should not become generic chat prompts. They should define input sources, write boundaries, whether code may be changed, and how results are reported.
|
|
22
|
+
|
|
23
|
+
## Common Paths (Cursor)
|
|
24
|
+
|
|
25
|
+
| Platform | Agent path |
|
|
26
|
+
| --- | --- |
|
|
27
|
+
| Cursor | `.cursor/agents/pactile-*.md` |
|
|
28
|
+
|
|
29
|
+
Agent files are dispatched via the Cursor Task tool, opened as Agent sessions, or invoked inline as Skill forms depending on the entry point. See `cursor-subagent-policy.md.txt` for the full entry-point matrix and Method 1–2.6 model dispatch strategy.
|
|
30
|
+
|
|
31
|
+
## Two Context Loading Modes
|
|
32
|
+
|
|
33
|
+
### hook push
|
|
34
|
+
|
|
35
|
+
The Cursor hook (`inject-subagent-context.py`, registered in `.cursor/hooks.json`) injects task context before the agent starts. The agent file itself can focus more on responsibilities and boundaries.
|
|
36
|
+
|
|
37
|
+
### agent pull
|
|
38
|
+
|
|
39
|
+
The agent file instructs the agent to read after startup:
|
|
40
|
+
|
|
41
|
+
- `python3 ./.pactile/scripts/task.py selected --source`
|
|
42
|
+
- `implement.jsonl` or `check.jsonl`
|
|
43
|
+
- spec/research files referenced by JSONL
|
|
44
|
+
- selected task `prd.md`
|
|
45
|
+
- `design.md` if present
|
|
46
|
+
- `implement.md` if present
|
|
47
|
+
|
|
48
|
+
This mode fits cases where the hook cannot reliably rewrite the sub-agent prompt or the entry point is an Agent session that bypasses the Task hook path.
|
|
49
|
+
|
|
50
|
+
## Local Change Scenarios
|
|
51
|
+
|
|
52
|
+
| User need | Edit location |
|
|
53
|
+
| --- | --- |
|
|
54
|
+
| Implement agent must follow extra restrictions | `.cursor/agents/pactile-implement.md`. |
|
|
55
|
+
| Check agent must run project-specific commands | `.cursor/agents/pactile-check.md`, and `.pactile/spec/` if needed. |
|
|
56
|
+
| Research agent must output a fixed format | `.cursor/agents/pactile-research.md`. |
|
|
57
|
+
| Agent cannot read task context | Agent prelude in the agent file, or the `inject-subagent-context` hook registration in `.cursor/hooks.json`. |
|
|
58
|
+
| Add a project-specific agent | `.cursor/agents/` + related skill/command entry point that invokes it. |
|
|
59
|
+
|
|
60
|
+
## Modification Principles
|
|
61
|
+
|
|
62
|
+
1. **Keep responsibilities single-purpose**. Do not mix research, implement, and check responsibilities into one agent.
|
|
63
|
+
2. **Specify the read order**. Agents must know to start from the selected task, read jsonl/spec context, then read `prd.md`, `design.md` if present, and `implement.md` if present.
|
|
64
|
+
3. **Specify write boundaries**. Research usually only writes `research/`; implement can write code; check can fix issues.
|
|
65
|
+
4. **Treat dogfood + published copies consistently**. `.cursor/agents/pactile-*.md` (dogfooded) and `packages/cli/src/templates/cursor/agents/pactile-*.md` (published template) must stay in sync — see `cross-layer-thinking-guide.md.txt` → Cross-Package Template Consistency.
|
|
66
|
+
|
|
67
|
+
## Do Not Default To Editing Upstream Templates
|
|
68
|
+
|
|
69
|
+
Local AI should default to modifying agent files inside the user project's `.cursor/agents/`. Discuss upstream template source (`packages/cli/src/templates/cursor/agents/`) only when the user explicitly wants to contribute the change back to Pactile.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Hooks And Settings
|
|
2
|
+
|
|
3
|
+
Hooks/settings are the entry layer that connects Cursor to Pactile. They decide which scripts run on which Cursor events.
|
|
4
|
+
|
|
5
|
+
## Settings Responsibilities
|
|
6
|
+
|
|
7
|
+
`.cursor/hooks.json` registers:
|
|
8
|
+
|
|
9
|
+
- session-start hook: injects a Pactile overview when a new session starts or context resets (note the Cursor `additional_context` bug #158452 — see `.pactile/framework/cursor-context-injection-guide.md`).
|
|
10
|
+
- workflow-state hook: parses `[workflow-state:STATUS]` blocks from `.pactile/workflow.md` and emits the body matching the selected task `status` on each user input. Parser-only; the script does not embed fallback content.
|
|
11
|
+
- sub-agent context hook: injects task context when implementation/check/research agents start.
|
|
12
|
+
- shell/session bridge: lets shell commands see the same Pactile session identity.
|
|
13
|
+
|
|
14
|
+
> Pactile previously shipped settings/config files for many platforms (`.claude/settings.json`, `.codex/hooks.json`, `.gemini/settings.json`, etc.). The project has converged on **Cursor-only**. New Pactile features ship into `.cursor/hooks.json` + `.cursor/hooks/`.
|
|
15
|
+
|
|
16
|
+
Whether legacy settings/config files exist in a project depends on which historical `pactile init --<platform>` flags the user previously ran; `pactile update` preserves them.
|
|
17
|
+
|
|
18
|
+
| Platform | settings/config |
|
|
19
|
+
| --- | --- |
|
|
20
|
+
| Cursor | `.cursor/hooks.json` |
|
|
21
|
+
|
|
22
|
+
## Hook Script Types
|
|
23
|
+
|
|
24
|
+
| Script | Purpose |
|
|
25
|
+
| --- | --- |
|
|
26
|
+
| `session-start.py` | Generates session-start context. |
|
|
27
|
+
| `inject-workflow-state.py` | Parses `[workflow-state:STATUS]` blocks in `.pactile/workflow.md` and emits the body matching the selected task status. Falls back to `Refer to workflow.md for current step.` when no matching block exists. |
|
|
28
|
+
| `inject-subagent-context.py` | Injects PRD, JSONL context, and related spec/research into sub-agents. |
|
|
29
|
+
| `inject-shell-session-context.py` | Lets shell commands inherit Pactile session identity. |
|
|
30
|
+
| `rename-session-for-task.py` | After successful `task.py select` / `start-execution --approved`, prompts main-session rename to task directory name (best-effort `rename_chat`). |
|
|
31
|
+
|
|
32
|
+
Cursor exposes sessionStart, preToolUse on Task/Subagent, beforeShellExecution, afterShellExecution, and stop events. Confirm against the current Cursor release before wiring a new event name; the available event surface has evolved over time and historical platform documentation may be stale.
|
|
33
|
+
|
|
34
|
+
## Local Change Scenarios
|
|
35
|
+
|
|
36
|
+
| User need | Edit location |
|
|
37
|
+
| --- | --- |
|
|
38
|
+
| AI should see more/less context in a new session | `.cursor/hooks.json` → `session-start` hook (or `.cursor/rules/*.mdc` for content the model must see every turn — see `.pactile/framework/cursor-context-injection-guide.md`). |
|
|
39
|
+
| Per-turn hint policy should change | `[workflow-state:STATUS]` block in `.pactile/workflow.md`. The hook parses workflow.md verbatim — no script edit required. |
|
|
40
|
+
| Sub-agent cannot read PRD/spec | `inject-subagent-context.py` hook or agent prelude in `.cursor/agents/*.md`. |
|
|
41
|
+
| `task.py selected` in shell has no selected task | `inject-shell-session-context.py` hook or environment-variable configuration. |
|
|
42
|
+
| Disable an automatic injection | The corresponding hook registration in `.cursor/hooks.json`. |
|
|
43
|
+
|
|
44
|
+
## Modification Principles
|
|
45
|
+
|
|
46
|
+
1. **Settings wire things up; hooks define behavior**. If only the hook changes, Cursor may never call it. If only settings change, behavior may not change.
|
|
47
|
+
2. **Confirm Cursor event names first**. Cursor's hook event surface has changed between releases; what an older guide calls `UserPromptSubmit` may now be modeled by `beforeSubmitPrompt` instead.
|
|
48
|
+
3. **Hooks read local `.pactile/`, not upstream source**. `.pactile/scripts/` and `.pactile/workflow.md` in the user project are the default targets.
|
|
49
|
+
4. **Errors must be visible**. Hook failures should tell the user what was not injected instead of silently leaving the AI without context.
|
|
50
|
+
|
|
51
|
+
## Troubleshooting Path
|
|
52
|
+
|
|
53
|
+
If the user says "AI did not read Pactile state":
|
|
54
|
+
|
|
55
|
+
1. Check whether `.cursor/hooks.json` registers the hook.
|
|
56
|
+
2. Check whether the hook file exists under `.cursor/hooks/`.
|
|
57
|
+
3. Manually run the `.pactile/scripts/get_context.py` or `task.py selected --source` command that the hook depends on.
|
|
58
|
+
4. Check whether selected task state exists in `.pactile/.runtime/sessions/`.
|
|
59
|
+
5. Check whether the Cursor shell passes session identity.
|
package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/overview.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Platform Files Overview
|
|
2
|
+
|
|
3
|
+
Pactile connects the same local architecture to **Cursor**. `.pactile/` stores the shared runtime; `.cursor/` stores adapter files that define how Cursor enters Pactile.
|
|
4
|
+
|
|
5
|
+
When a local AI modifies Pactile, it should distinguish two file categories first:
|
|
6
|
+
|
|
7
|
+
- **Shared files**: `.pactile/workflow.md`, `.pactile/tasks/`, `.pactile/spec/`, `.pactile/scripts/`.
|
|
8
|
+
- **Platform files**: `.cursor/` (settings, hooks, agents, skills, commands, rules).
|
|
9
|
+
|
|
10
|
+
Platform files do not store business state. They let Cursor read Pactile state, call Pactile scripts, and load Pactile skills/agents/hooks.
|
|
11
|
+
|
|
12
|
+
> **Historical note**: Pactile previously shipped adapter directories for many AI tools (`.claude/`, `.codex/`, `.opencode/`, etc.). The project has converged on **Cursor-only**. Legacy adapter directories may still exist in upgraded projects (`pactile update` preserves user files), but new framework/runtime behavior targets Cursor exclusively.
|
|
13
|
+
|
|
14
|
+
## Platform File Categories (Cursor)
|
|
15
|
+
|
|
16
|
+
| Category | Common paths | Purpose |
|
|
17
|
+
| --- | --- | --- |
|
|
18
|
+
| settings/config | `.cursor/hooks.json` | Register hooks and platform behavior. |
|
|
19
|
+
| hooks | `.cursor/hooks/` | Inject context at session start, pre-tool-use on Task/Subagent, before-shell-execution, and stop events. |
|
|
20
|
+
| rules | `.cursor/rules/*.mdc` (`alwaysApply: true`) | Per-turn policy prepended before every prompt (e.g. Request Triage, retrieval routing). See `.pactile/framework/cursor-context-injection-guide.md` for the channel-reliability matrix. |
|
|
21
|
+
| agents | `.cursor/agents/` | Define `pactile-research`, `pactile-implement`, and `pactile-check` for Task / Agent-session dispatch. |
|
|
22
|
+
| skills | `.cursor/skills/` | Capability descriptions that auto-trigger or can be read on demand. |
|
|
23
|
+
| commands | `.cursor/commands/` | User-invocable `/slash` entry points (e.g. `pactile-continue`, `record-session`). |
|
|
24
|
+
|
|
25
|
+
## Cursor Integration Mode
|
|
26
|
+
|
|
27
|
+
Cursor combines three integration styles:
|
|
28
|
+
|
|
29
|
+
1. **Hook / Extension Driven** — `.cursor/hooks.json` + `.cursor/hooks/` fire on sessionStart, pre-tool-use on Task/Subagent, beforeShellExecution, and stop. Common capabilities: session-start Task Dashboard + Phase Index injection (note the `additional_context` Cursor bug #158452 — use `.cursor/rules` or `AGENTS.md` for must-always-be-visible content), PRD/jsonl injection when sub-agents start, shell commands inheriting session identity.
|
|
30
|
+
2. **Agent Prelude / Pull-Based** — `.cursor/agents/*.md` instruct each custom Task subagent to read the selected task, PRD, and JSONL context after startup (the `<!-- pactile-hook-injected -->` marker confirms injected context).
|
|
31
|
+
3. **Main-Session Workflow** — `.cursor/commands/*.md` and `.cursor/skills/*.md` guide the main-session AI to read files, run scripts, and move tasks forward; `.cursor/rules/*.mdc` enforce per-turn policy.
|
|
32
|
+
|
|
33
|
+
To change "when the AI knows what," inspect `.cursor/hooks.json` and `.cursor/rules/` first. To change how sub-agents load context, inspect `.cursor/agents/`. To change user-invocable entry points, inspect `.cursor/commands/` and `.cursor/skills/`.
|
|
34
|
+
|
|
35
|
+
## Local Modification Order
|
|
36
|
+
|
|
37
|
+
When the user asks to customize behavior:
|
|
38
|
+
|
|
39
|
+
1. Read `.pactile/workflow.md` to confirm the shared flow.
|
|
40
|
+
2. Read `.cursor/hooks.json` to see which hooks are registered.
|
|
41
|
+
3. Read the relevant `.cursor/agents/*.md`, `.cursor/skills/*/SKILL.md`, `.cursor/commands/*.md`, and `.cursor/rules/*.mdc`.
|
|
42
|
+
4. Modify the local file closest to the user's need.
|
|
43
|
+
5. If the change affects the shared flow, synchronize `.pactile/workflow.md` or `.pactile/spec/`.
|
|
44
|
+
|
|
45
|
+
Do not modify only platform files and forget the shared workflow. Do not modify only `.pactile/workflow.md` and forget that platform entry points may still contain old descriptions.
|
package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/platform-map.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Platform File Map
|
|
2
|
+
|
|
3
|
+
This page lists Pactile file locations in a user project on **Cursor**.
|
|
4
|
+
|
|
5
|
+
Pactile originally supported multiple AI platforms (Claude Code, Codex, OpenCode, Kilo, Kiro, Gemini, Antigravity, Windsurf, Qoder, CodeBuddy, GitHub Copilot, Factory Droid, Pi Agent). The project has since converged on **Cursor-only**. Legacy adapter directories may still exist in upgraded projects (`pactile update` preserves user files), but new framework/runtime behavior targets Cursor exclusively.
|
|
6
|
+
|
|
7
|
+
## Matrix
|
|
8
|
+
|
|
9
|
+
| Platform | CLI flag | Main directory | Skill directory | Agent directory | Hooks/extensions |
|
|
10
|
+
| --- | --- | --- | --- | --- | --- |
|
|
11
|
+
| Cursor | `--cursor` | `.cursor/` | `.cursor/skills/` | `.cursor/agents/` | `.cursor/hooks.json` + `.cursor/hooks/` |
|
|
12
|
+
|
|
13
|
+
## Capability Reference (Cursor)
|
|
14
|
+
|
|
15
|
+
- **Skills** auto-trigger via the workflow matcher and can be read on demand. They live in `.cursor/skills/`.
|
|
16
|
+
- **Agents** (`pactile-research`, `pactile-implement`, `pactile-check`) live in `.cursor/agents/` and are dispatched via the Task tool or opened as Agent sessions / Skill forms depending on the entry point (see `cursor-subagent-policy.md.txt`).
|
|
17
|
+
- **Commands** (e.g. `record-session`, `pactile-continue`) live in `.cursor/commands/` and are user-invocable via `/slash`.
|
|
18
|
+
- **Hooks** (session start, pre-tool-use on Task/Subagent, before-shell-execution, stop) are registered in `.cursor/hooks.json` and their handler scripts live in `.cursor/hooks/`.
|
|
19
|
+
- **Project rules** (always-applied policy) live in `.cursor/rules/*.mdc`.
|
|
20
|
+
|
|
21
|
+
## Decision Rules When Modifying Platform Files
|
|
22
|
+
|
|
23
|
+
1. User specified a platform other than Cursor: treat as a legacy adapter inspection — preserve existing files but do not extend new behavior there.
|
|
24
|
+
2. User says "all platforms should do this": in Cursor-only world this is equivalent to "modify the Cursor path"; also mirror any dogfooded copy under `.cursor/` in `packages/cli/src/templates/cursor/` if applicable.
|
|
25
|
+
3. User only says "my AI": inspect which directories actually exist in the project; on a fresh `pactile init` only `.cursor/` and `.pactile/` are created.
|
|
26
|
+
4. User wants project rules: prefer `.pactile/spec/` or a project-local skill under `.cursor/skills/`.
|
|
27
|
+
5. User wants Pactile behavior: edit `.pactile/workflow.md` plus `.cursor/hooks.json` / `.cursor/agents/` / `.cursor/skills/` / `.cursor/commands/`.
|
|
28
|
+
|
|
29
|
+
## When Paths Differ
|
|
30
|
+
|
|
31
|
+
Cursor's layout can change between versions, and user projects may already be customized. If this table disagrees with local files, use the actual settings/config in the user project as authoritative:
|
|
32
|
+
|
|
33
|
+
- Check the hook that `.cursor/hooks.json` registers.
|
|
34
|
+
- Check the script that a command/agent points to.
|
|
35
|
+
- Judge behavior by the read rules currently written in the agent file.
|
|
36
|
+
|
|
37
|
+
Do not delete a custom file just because it is not listed in this path table.
|
|
38
|
+
|
|
39
|
+
## Legacy Adapter Handling
|
|
40
|
+
|
|
41
|
+
If a user project still contains legacy platform directories (e.g. `.claude/`, `.codex/`, `.opencode/`):
|
|
42
|
+
|
|
43
|
+
- `pactile update` preserves them; do not delete on sight.
|
|
44
|
+
- If the user asks to clean them up, suggest removing the unused platform directories after confirming they are not shared with another tool.
|
|
45
|
+
- Do not register new hooks/agents/skills/commands under legacy platform directories. New Pactile features ship to `.cursor/` only.
|