project-iris 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +424 -0
- package/dist/bridge/agent-runner.js +190 -0
- package/dist/bridge/connector-factory.js +31 -0
- package/dist/bridge/connectors/antigravity-connector.js +18 -0
- package/dist/bridge/connectors/cursor-connector.js +31 -0
- package/dist/bridge/connectors/in-process-connector.js +29 -0
- package/dist/bridge/connectors/vscode-connector.js +31 -0
- package/dist/bridge/connectors/windsurf-connector.js +23 -0
- package/dist/bridge/filesystem-connector.js +110 -0
- package/dist/bridge/helper.js +203 -0
- package/dist/bridge/types.js +10 -0
- package/dist/cli.js +38 -0
- package/dist/commands/ask.js +259 -0
- package/dist/commands/bridge.js +88 -0
- package/dist/commands/develop.js +141 -0
- package/dist/commands/doctor.js +102 -0
- package/dist/commands/flow.js +301 -0
- package/dist/commands/framework.js +273 -0
- package/dist/commands/generate.js +59 -0
- package/dist/commands/install.js +73 -0
- package/dist/commands/pack.js +33 -0
- package/dist/commands/phase.js +38 -0
- package/dist/commands/run.js +199 -0
- package/dist/commands/status.js +114 -0
- package/dist/commands/uninstall.js +14 -0
- package/dist/commands/use.js +20 -0
- package/dist/commands/validate.js +102 -0
- package/dist/framework/framework-loader.js +97 -0
- package/dist/framework/framework-paths.js +48 -0
- package/dist/framework/framework-types.js +15 -0
- package/dist/iris/artifact-checker.js +78 -0
- package/dist/iris/artifacts/config.js +68 -0
- package/dist/iris/artifacts/generator.js +88 -0
- package/dist/iris/artifacts/types.js +1 -0
- package/dist/iris/bundle.js +44 -0
- package/dist/iris/doctrine/collector.js +124 -0
- package/dist/iris/fixer.js +149 -0
- package/dist/iris/flows/manifest.js +124 -0
- package/dist/iris/framework-context.js +49 -0
- package/dist/iris/framework-manager.js +215 -0
- package/dist/iris/fs/atomic.js +22 -0
- package/dist/iris/guard.js +38 -0
- package/dist/iris/importers/bmad.js +70 -0
- package/dist/iris/importers/index.js +9 -0
- package/dist/iris/importers/speckit.js +15 -0
- package/dist/iris/importers/specsmd.js +78 -0
- package/dist/iris/importers/types.js +8 -0
- package/dist/iris/importers/writer.js +139 -0
- package/dist/iris/include.js +49 -0
- package/dist/iris/installer.js +334 -0
- package/dist/iris/interactive/env.js +21 -0
- package/dist/iris/interactive/intent-interview.js +345 -0
- package/dist/iris/interactive/intent-schema.js +28 -0
- package/dist/iris/interactive/interview-io.js +22 -0
- package/dist/iris/interview/config.js +71 -0
- package/dist/iris/interview/types.js +16 -0
- package/dist/iris/interview/utils.js +38 -0
- package/dist/iris/manifest.js +54 -0
- package/dist/iris/packer.js +325 -0
- package/dist/iris/parsers/unit-parser.js +43 -0
- package/dist/iris/paths.js +18 -0
- package/dist/iris/policy.js +133 -0
- package/dist/iris/proc.js +56 -0
- package/dist/iris/report.js +53 -0
- package/dist/iris/resolver.js +66 -0
- package/dist/iris/router.js +114 -0
- package/dist/iris/routes.js +189 -0
- package/dist/iris/run-state.js +146 -0
- package/dist/iris/state.js +113 -0
- package/dist/iris/templates.js +70 -0
- package/dist/iris/tmp.js +24 -0
- package/dist/iris/uninstaller.js +181 -0
- package/dist/iris/utils/interpolate.js +42 -0
- package/dist/iris/validator.js +391 -0
- package/dist/iris/workflow/config.js +51 -0
- package/dist/iris/workflow/engine.js +129 -0
- package/dist/iris/workflow/steps.js +448 -0
- package/dist/iris/workflow/types.js +1 -0
- package/dist/lib.js +96 -0
- package/dist/utils/exit-codes.js +7 -0
- package/dist/workflows/bolt-execution.js +238 -0
- package/dist/workflows/bolt-plan.js +192 -0
- package/dist/workflows/intent-inception.js +210 -0
- package/dist/workflows/reporting.js +74 -0
- package/package.json +45 -0
- package/src/iris_bundle/.iris/aidlc/README.md +16 -0
- package/src/iris_bundle/.iris/aidlc/agents/iris-construction-agent.md +35 -0
- package/src/iris_bundle/.iris/aidlc/agents/iris-inception-agent.md +30 -0
- package/src/iris_bundle/.iris/aidlc/agents/iris-master-agent.md +35 -0
- package/src/iris_bundle/.iris/aidlc/agents/iris-operations-agent.md +29 -0
- package/src/iris_bundle/.iris/aidlc/commands/iris-construction-agent.md +18 -0
- package/src/iris_bundle/.iris/aidlc/commands/iris-inception-agent.md +18 -0
- package/src/iris_bundle/.iris/aidlc/commands/iris-master-agent.md +18 -0
- package/src/iris_bundle/.iris/aidlc/commands/iris-operations-agent.md +18 -0
- package/src/iris_bundle/.iris/aidlc/context/context-map.md +25 -0
- package/src/iris_bundle/.iris/aidlc/context/exclusion-rules.md +13 -0
- package/src/iris_bundle/.iris/aidlc/context/load-order.md +25 -0
- package/src/iris_bundle/.iris/aidlc/memory/intent-rules.md +9 -0
- package/src/iris_bundle/.iris/aidlc/memory/log-rules.md +5 -0
- package/src/iris_bundle/.iris/aidlc/memory/memory-bank.yaml +39 -0
- package/src/iris_bundle/.iris/aidlc/memory/unit-rules.md +9 -0
- package/src/iris_bundle/.iris/aidlc/quick-start.md +24 -0
- package/src/iris_bundle/.iris/aidlc/skills/execution/implementation.md +14 -0
- package/src/iris_bundle/.iris/aidlc/skills/execution/refactoring.md +13 -0
- package/src/iris_bundle/.iris/aidlc/skills/execution/scaffold-generation.md +15 -0
- package/src/iris_bundle/.iris/aidlc/skills/governance/escalation.md +13 -0
- package/src/iris_bundle/.iris/aidlc/skills/governance/quality-gates.md +14 -0
- package/src/iris_bundle/.iris/aidlc/skills/governance/stop-conditions.md +11 -0
- package/src/iris_bundle/.iris/aidlc/skills/reasoning/decomposition.md +23 -0
- package/src/iris_bundle/.iris/aidlc/skills/reasoning/risk-analysis.md +14 -0
- package/src/iris_bundle/.iris/aidlc/skills/reasoning/verification.md +21 -0
- package/src/iris_bundle/.iris/aidlc/standards/artifacts-registry.md +38 -0
- package/src/iris_bundle/.iris/aidlc/standards/decision-logging.md +16 -0
- package/src/iris_bundle/.iris/aidlc/standards/doctrine-structure.md +31 -0
- package/src/iris_bundle/.iris/aidlc/standards/documentation-rules.md +15 -0
- package/src/iris_bundle/.iris/aidlc/standards/file-structure.md +21 -0
- package/src/iris_bundle/.iris/aidlc/standards/naming-conventions.md +18 -0
- package/src/iris_bundle/.iris/aidlc/standards/phases-and-gates.md +25 -0
- package/src/iris_bundle/.iris/aidlc/standards/routes-and-routing.md +35 -0
- package/src/iris_bundle/.iris/aidlc/standards/tool-wrappers.md +32 -0
- package/src/iris_bundle/.iris/aidlc/templates/bolt.md +23 -0
- package/src/iris_bundle/.iris/aidlc/templates/doctrine-doc-template.md +33 -0
- package/src/iris_bundle/.iris/aidlc/templates/intent.md +23 -0
- package/src/iris_bundle/.iris/aidlc/templates/log.md +24 -0
- package/src/iris_bundle/.iris/aidlc/templates/review.md +21 -0
- package/src/iris_bundle/.iris/aidlc/templates/unit.md +31 -0
- package/src/iris_bundle/.iris/aidlc/validation/failure-modes.md +16 -0
- package/src/iris_bundle/.iris/aidlc/validation/phase-preconditions.md +21 -0
- package/src/iris_bundle/.iris/aidlc/validation/quality-checklist.md +20 -0
- package/src/iris_bundle/.iris/flows/specs-md/doctrine/templates/requirements.md +18 -0
- package/src/iris_bundle/.iris/flows/specs-md/doctrine/templates/system-context.md +17 -0
- package/src/iris_bundle/.iris/flows/specs-md/doctrine/templates/unit-briefs/construction.md +16 -0
- package/src/iris_bundle/.iris/flows/specs-md/doctrine/templates/unit-briefs/operations.md +14 -0
- package/src/iris_bundle/.iris/flows/specs-md/doctrine/templates/units.md +11 -0
- package/src/iris_bundle/.iris/flows/specs-md/flow.yaml +8 -0
- package/src/iris_bundle/.iris/flows/specs-md/policy.overlay.yaml +26 -0
- package/src/iris_bundle/.iris/flows/specs-md/routes.overlay.yaml +16 -0
- package/src/iris_bundle/.iris/policy.yaml +27 -0
- package/src/iris_bundle/.iris/routes.yaml +98 -0
- package/src/iris_bundle/.iris/state.yaml +7 -0
- package/src/iris_bundle/.iris/tools/claude/.claude/claude.md +9 -0
- package/src/iris_bundle/.iris/tools/claude/.claude/commands/compare-specs.md +203 -0
- package/src/iris_bundle/.iris/tools/claude/.claude/commands/iris-construction-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/claude/.claude/commands/iris-inception-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/claude/.claude/commands/iris-master-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/claude/.claude/commands/iris-operations-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/codex/AGENTS.md +15 -0
- package/src/iris_bundle/.iris/tools/cursor/.cursor/commands/iris-construction-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/cursor/.cursor/commands/iris-inception-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/cursor/.cursor/commands/iris-master-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/cursor/.cursor/commands/iris-operations-agent.md +25 -0
- package/src/iris_bundle/.iris/tools/gemini/.gemini/commands/iris-construction-agent.toml +29 -0
- package/src/iris_bundle/.iris/tools/gemini/.gemini/commands/iris-inception-agent.toml +29 -0
- package/src/iris_bundle/.iris/tools/gemini/.gemini/commands/iris-master-agent.toml +29 -0
- package/src/iris_bundle/.iris/tools/gemini/.gemini/commands/iris-operations-agent.toml +29 -0
- package/src/iris_bundle/frameworks/iris-core/.claude/claude.md +238 -0
- package/src/iris_bundle/frameworks/iris-core/.claude/commands/compare-iris.md +203 -0
- package/src/iris_bundle/frameworks/iris-core/.claude/commands/irismd-construction-agent.md +63 -0
- package/src/iris_bundle/frameworks/iris-core/.claude/commands/irismd-inception-agent.md +55 -0
- package/src/iris_bundle/frameworks/iris-core/.claude/commands/irismd-master-agent.md +47 -0
- package/src/iris_bundle/frameworks/iris-core/.claude/commands/irismd-operations-agent.md +77 -0
- package/src/iris_bundle/frameworks/iris-core/.github/workflows/claude-code-review.yml +57 -0
- package/src/iris_bundle/frameworks/iris-core/.github/workflows/claude.yml +50 -0
- package/src/iris_bundle/frameworks/iris-core/.github/workflows/npm-package-ci.yml +46 -0
- package/src/iris_bundle/frameworks/iris-core/.github/workflows/npm-package-dev.yml +59 -0
- package/src/iris_bundle/frameworks/iris-core/.github/workflows/npm-package-release.yml +107 -0
- package/src/iris_bundle/frameworks/iris-core/.github/workflows/vscode-publish.yml +113 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/README.md +372 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/agents/construction-agent.md +80 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/agents/inception-agent.md +97 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/agents/master-agent.md +61 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/agents/operations-agent.md +89 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/commands/construction-agent.md +63 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/commands/inception-agent.md +55 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/commands/master-agent.md +47 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/commands/operations-agent.md +77 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/context-config.yaml +67 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/memory-bank.yaml +104 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/quick-start.md +322 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/construction/bolt-list.md +163 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/construction/bolt-replan.md +345 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/construction/bolt-start.md +442 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/construction/bolt-status.md +185 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/construction/navigator.md +196 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/inception/bolt-plan.md +372 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/inception/context.md +171 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/inception/intent-create.md +211 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/inception/intent-list.md +124 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/inception/navigator.md +207 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/inception/requirements.md +227 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/inception/review.md +248 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/inception/story-create.md +304 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/inception/units.md +278 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/master/analyze-context.md +239 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/master/answer-question.md +141 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/master/explain-flow.md +158 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/master/project-init.md +281 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/master/route-request.md +126 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/operations/build.md +237 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/operations/deploy.md +259 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/operations/monitor.md +265 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/operations/navigator.md +209 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/skills/operations/verify.md +224 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/construction/bolt-template.md +226 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/construction/bolt-types/ddd-construction-bolt/adr-template.md +49 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-model-template.md +55 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-technical-design-template.md +67 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md +62 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/construction/bolt-types/ddd-construction-bolt.md +528 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/construction/bolt-types/simple-construction-bolt.md +347 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/construction/bolt-types/spike-bolt.md +240 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/construction/construction-log-template.md +129 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/construction/standards/coding-standards.md +29 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/construction/standards/system-architecture.md +22 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/construction/standards/tech-stack.md +19 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/inception/inception-log-template.md +134 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/inception/project/README.md +55 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/inception/requirements-template.md +144 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/inception/stories-template.md +38 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/inception/story-template.md +147 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/inception/system-context-template.md +29 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/inception/unit-brief-template.md +177 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/inception/units-template.md +52 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/standards/catalog.yaml +345 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/standards/coding-standards.guide.md +553 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/standards/data-stack.guide.md +162 -0
- package/src/iris_bundle/frameworks/iris-core/.irismd/aidlc/templates/standards/tech-stack.guide.md +280 -0
- package/src/iris_bundle/frameworks/iris-core/.markdownlint.yaml +142 -0
- package/src/iris_bundle/frameworks/iris-core/LICENSE +21 -0
- package/src/iris_bundle/frameworks/iris-core/PRIVACY.md +38 -0
- package/src/iris_bundle/frameworks/iris-core/README.md +397 -0
- package/src/iris_bundle/frameworks/iris-core/_iris_legacy/framework.yaml +4 -0
- package/src/iris_bundle/frameworks/iris-core/_iris_legacy/interview.yaml +9 -0
- package/src/iris_bundle/frameworks/iris-core/_iris_legacy/pack.yaml +2 -0
- package/src/iris_bundle/frameworks/iris-core/_iris_legacy/policy.yaml +27 -0
- package/src/iris_bundle/frameworks/iris-core/_iris_legacy/routes.yaml +98 -0
- package/src/iris_bundle/frameworks/iris-core/_iris_legacy/templates/bolt.md +23 -0
- package/src/iris_bundle/frameworks/iris-core/_iris_legacy/templates/doctrine-doc-template.md +33 -0
- package/src/iris_bundle/frameworks/iris-core/_iris_legacy/templates/intent.md +23 -0
- package/src/iris_bundle/frameworks/iris-core/_iris_legacy/templates/log.md +24 -0
- package/src/iris_bundle/frameworks/iris-core/_iris_legacy/templates/review.md +21 -0
- package/src/iris_bundle/frameworks/iris-core/_iris_legacy/templates/unit.md +31 -0
- package/src/iris_bundle/frameworks/iris-core/artifacts.yaml +78 -0
- package/src/iris_bundle/frameworks/iris-core/dev_release_guide.md +324 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/.claude/skills/frontend-design/SKILL.md +106 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/CLAUDE.md +171 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/README.md +20 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/agents/construction-agent.mdx +358 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/agents/inception-agent.mdx +306 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/agents/master-agent.mdx +230 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/agents/operations-agent.mdx +344 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/agents/overview.mdx +187 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/architecture/flows.mdx +136 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/community.mdx +91 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/compare/overview.mdx +167 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/compare/vs-bmad.mdx +167 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/compare/vs-kiro.mdx +208 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/compare/vs-openspec.mdx +140 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/compare/vs-speckit.mdx +146 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/core-concepts/bolts.mdx +268 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/core-concepts/intents.mdx +164 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/core-concepts/memory-bank.mdx +209 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/core-concepts/standards.mdx +277 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/core-concepts/units.mdx +184 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/docs.json +148 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/faq.mdx +364 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/feedback.mdx +55 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/getting-started/installation.mdx +91 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/getting-started/quick-start.mdx +149 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/getting-started/vscode-extension.mdx +180 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/guides/bolt-types.mdx +182 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/images/extension-gallery/bolts.jpeg +0 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/images/extension-gallery/overview.jpeg +0 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/images/extension-gallery/specs.jpeg +0 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/images/extension-preview.png +0 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/images/favicon.png +0 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/images/hero-dark.svg +129 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/images/hero-light.svg +129 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/images/logo.png +0 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/images/old_favicon.svg +40 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/images/quickstart.cast +3788 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/images/quickstart.gif +0 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/index.mdx +179 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/methodology/ai-dlc-vs-agile.mdx +138 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/methodology/sdlc-reimagined.mdx +270 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/methodology/three-phases.mdx +225 -0
- package/src/iris_bundle/frameworks/iris-core/docs.iris.md/methodology/what-is-ai-dlc.mdx +96 -0
- package/src/iris_bundle/frameworks/iris-core/framework.yaml +4 -0
- package/src/iris_bundle/frameworks/iris-core/images/763995.png +0 -0
- package/src/iris_bundle/frameworks/iris-core/images/763995.svg +354 -0
- package/src/iris_bundle/frameworks/iris-core/images/favicon-64.png +0 -0
- package/src/iris_bundle/frameworks/iris-core/images/favicon.png +0 -0
- package/src/iris_bundle/frameworks/iris-core/images/logo.png +0 -0
- package/src/iris_bundle/frameworks/iris-core/images/old_favicon.svg +40 -0
- package/src/iris_bundle/frameworks/iris-core/images/specs_md_pixel_logo.png +0 -0
- package/src/iris_bundle/frameworks/iris-core/images/specs_md_pixel_logo_big.png +0 -0
- package/src/iris_bundle/frameworks/iris-core/interview.yaml +48 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/PRFAQ.md +193 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/016-analytics-tracker/bolt.md +122 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/016-analytics-tracker/implementation-plan.md +172 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/016-analytics-tracker/implementation-walkthrough.md +56 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/016-analytics-tracker/test-walkthrough.md +96 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/017-privacy-documentation/bolt.md +72 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-artifact-parser-1/bolt.md +94 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-artifact-parser-1/implementation-plan.md +297 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-artifact-parser-1/implementation-walkthrough.md +56 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-artifact-parser-1/test-walkthrough.md +99 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-artifact-parser-2/bolt.md +88 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-artifact-parser-2/implementation-plan.md +196 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-artifact-parser-2/implementation-walkthrough.md +154 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-artifact-parser-2/test-walkthrough.md +119 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-extension-core-1/bolt.md +99 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-extension-core-1/implementation-plan.md +70 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-extension-core-1/implementation-walkthrough.md +45 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-extension-core-1/test-walkthrough.md +60 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-file-watcher-1/bolt.md +86 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-file-watcher-1/implementation-plan.md +154 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-file-watcher-1/implementation-walkthrough.md +43 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-file-watcher-1/test-walkthrough.md +74 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-1/bolt.md +89 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-1/implementation-plan.md +76 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-1/implementation-walkthrough.md +43 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-1/test-walkthrough.md +70 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-2/bolt.md +90 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-2/implementation-plan.md +93 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-2/implementation-walkthrough.md +44 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-2/test-walkthrough.md +54 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-3/bolt.md +90 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-3/implementation-plan.md +168 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-3/implementation-walkthrough.md +137 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-3/test-walkthrough.md +134 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-4/bolt.md +93 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-4/implementation-plan.md +176 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-4/implementation-walkthrough.md +159 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-4/test-walkthrough.md +105 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-5/bolt.md +104 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-sidebar-provider-5/implementation-plan.md +146 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-1/bolt.md +83 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-1/implementation-plan.md +161 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-1/implementation-walkthrough.md +58 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-1/test-walkthrough.md +104 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-2/bolt.md +83 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-2/implementation-plan.md +179 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-2/implementation-walkthrough.md +124 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-2/test-walkthrough.md +95 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-3/bolt.md +83 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-3/implementation-plan.md +196 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-3/implementation-walkthrough.md +207 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-3/test-walkthrough.md +194 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-4/bolt.md +92 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-4/implementation-plan.md +217 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-4/implementation-walkthrough.md +138 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-4/test-walkthrough.md +196 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-5/bolt.md +89 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-5/implementation-plan.md +181 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-5/implementation-walkthrough.md +160 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-webview-lit-migration-5/test-walkthrough.md +121 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-welcome-view-1/bolt.md +92 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-welcome-view-1/implementation-plan.md +73 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-welcome-view-1/implementation-walkthrough.md +44 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/bolts/bolt-welcome-view-1/test-walkthrough.md +49 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/glossary.md +197 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/001-multi-agent-orchestration/requirements.md +129 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/001-multi-agent-orchestration/research/approval-gates-simplification.md +839 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/001-multi-agent-orchestration/research/archive/approval-gates-analysis.md +331 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/001-multi-agent-orchestration/system-context.md +167 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/001-multi-agent-orchestration/units/construction-agent/unit-brief.md +111 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/001-multi-agent-orchestration/units/inception-agent/unit-brief.md +135 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/001-multi-agent-orchestration/units/master-agent/unit-brief.md +580 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/001-multi-agent-orchestration/units/operations-agent/unit-brief.md +72 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/001-multi-agent-orchestration/units.md +168 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/002-agentic-coding-tool-integration/requirements.md +96 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/002-agentic-coding-tool-integration/system-context.md +170 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/002-agentic-coding-tool-integration/units/antigravity-installer/unit-brief.md +156 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/002-agentic-coding-tool-integration/units/claude-code-installer/unit-brief.md +180 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/002-agentic-coding-tool-integration/units/cline-installer/unit-brief.md +106 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/002-agentic-coding-tool-integration/units/codex-installer/unit-brief.md +106 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/002-agentic-coding-tool-integration/units/copilot-installer/unit-brief.md +139 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/002-agentic-coding-tool-integration/units/cursor-installer/unit-brief.md +119 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/002-agentic-coding-tool-integration/units/gemini-installer/unit-brief.md +107 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/002-agentic-coding-tool-integration/units/installer-core/unit-brief.md +240 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/002-agentic-coding-tool-integration/units/kilo-installer/unit-brief.md +106 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/002-agentic-coding-tool-integration/units/kiro-installer/unit-brief.md +108 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/002-agentic-coding-tool-integration/units/opencode-installer/unit-brief.md +107 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/002-agentic-coding-tool-integration/units/roo-installer/unit-brief.md +107 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/002-agentic-coding-tool-integration/units/windsurf-installer/unit-brief.md +128 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/002-agentic-coding-tool-integration/units.md +188 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/003-memory-bank-system/requirements.md +196 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/003-memory-bank-system/system-context.md +181 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/003-memory-bank-system/units/artifact-storage/unit-brief.md +192 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/003-memory-bank-system/units/configuration-schema/unit-brief.md +204 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/003-memory-bank-system/units/context-loader/unit-brief.md +245 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/003-memory-bank-system/units.md +97 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/004-standards-system/requirements.md +125 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/004-standards-system/system-context.md +158 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/004-standards-system/units/facilitation-guides/unit-brief.md +250 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/004-standards-system/units/standards-catalog/unit-brief.md +355 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/004-standards-system/units/standards-templates/unit-brief.md +394 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/004-standards-system/units.md +110 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/005-testing-strategy/requirements.md +188 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/005-testing-strategy/system-context.md +229 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/005-testing-strategy/units/01-specification-contract-testing/unit-brief.md +197 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/005-testing-strategy/units/02-cli-installer-testing/unit-brief.md +377 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/005-testing-strategy/units/03-golden-dataset-management/unit-brief.md +465 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/005-testing-strategy/units/04-agent-behavior-evaluation/unit-brief.md +459 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/005-testing-strategy/units/05-cicd-integration/unit-brief.md +587 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/005-testing-strategy/units.md +332 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/006-brownfield-support/requirements.md +214 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/007-installer-analytics/requirements.md +308 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/007-installer-analytics/system-context.md +335 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/007-installer-analytics/units/001-analytics-tracker/construction-log.md +52 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/007-installer-analytics/units/001-analytics-tracker/stories/001-initialize-mixpanel.md +56 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/007-installer-analytics/units/001-analytics-tracker/stories/002-detect-shell.md +68 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/007-installer-analytics/units/001-analytics-tracker/stories/003-check-telemetry-disabled.md +66 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/007-installer-analytics/units/001-analytics-tracker/stories/004-track-installer-events.md +67 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/007-installer-analytics/units/001-analytics-tracker/stories/005-track-selection-events.md +66 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/007-installer-analytics/units/001-analytics-tracker/stories/006-cli-no-telemetry-flag.md +59 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/007-installer-analytics/units/001-analytics-tracker/unit-brief.md +191 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/007-installer-analytics/units/002-privacy-documentation/stories/001-create-privacy-md.md +58 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/007-installer-analytics/units/002-privacy-documentation/stories/002-add-readme-section.md +61 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/007-installer-analytics/units/002-privacy-documentation/unit-brief.md +158 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/007-installer-analytics/units.md +453 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/008-terminal-dashboard/requirements.md +222 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/008-terminal-dashboard/system-context.md +198 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/008-terminal-dashboard/units.md +275 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/009-versioning-strategy/requirements.md +308 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/009-versioning-strategy/system-context.md +273 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/009-versioning-strategy/units.md +312 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/010-smart-unit-decomposition/requirements.md +111 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/010-smart-unit-decomposition/system-context.md +154 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/010-smart-unit-decomposition/units.md +102 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/inception-log.md +101 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/requirements.md +282 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/system-context.md +114 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/artifact-parser/construction-log.md +57 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/artifact-parser/stories/001-memory-bank-schema.md +56 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/artifact-parser/stories/002-project-detection.md +54 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/artifact-parser/stories/003-artifact-parsing.md +57 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/artifact-parser/stories/004-frontmatter-parser.md +61 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/artifact-parser/stories/005-bolt-dependencies.md +58 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/artifact-parser/stories/006-activity-feed-derivation.md +70 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/artifact-parser/unit-brief.md +223 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/extension-core/construction-log.md +59 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/extension-core/stories/001-extension-activation.md +55 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/extension-core/stories/002-command-registration.md +54 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/extension-core/stories/003-file-operation-commands.md +57 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/extension-core/unit-brief.md +224 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/file-watcher/construction-log.md +52 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/file-watcher/stories/001-file-system-watcher.md +57 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/file-watcher/stories/002-debounced-refresh.md +53 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/file-watcher/unit-brief.md +173 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/construction-log.md +63 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/001-tree-data-provider.md +55 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/002-intent-unit-story-tree.md +56 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/003-bolt-tree.md +56 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/004-status-icons.md +55 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/005-pixel-logo-footer.md +55 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/006-webview-tab-architecture.md +62 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/007-command-center-bolts-tab.md +65 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/008-current-focus-card.md +62 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/009-up-next-queue.md +61 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/010-activity-feed-ui.md +63 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/011-filewatcher-statestore-integration.md +49 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/012-next-actions-ui.md +57 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/013-start-bolt-action.md +72 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/014-intent-selection-strategies.md +54 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/015-persist-expanded-state.md +56 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/016-bolt-filtering.md +72 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/017-activity-open-button.md +50 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/018-specs-view.md +63 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/stories/019-overview-view.md +84 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/sidebar-provider/unit-brief.md +305 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/webview-lit-migration/stories/020-fix-infinite-rerender.md +144 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/webview-lit-migration/stories/021-remove-duplicate-files.md +94 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/webview-lit-migration/stories/022-setup-esbuild.md +156 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/webview-lit-migration/stories/023-lit-scaffold.md +202 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/webview-lit-migration/stories/024-tabs-component.md +161 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/webview-lit-migration/stories/025-bolts-view-components.md +182 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/webview-lit-migration/stories/026-specs-view-components.md +223 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/webview-lit-migration/stories/027-overview-view-components.md +391 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/webview-lit-migration/stories/028-state-context.md +317 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/webview-lit-migration/stories/029-ipc-typed-messaging.md +396 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/webview-lit-migration/unit-brief.md +133 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/welcome-view/construction-log.md +58 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/welcome-view/stories/001-welcome-view-ui.md +57 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/welcome-view/stories/002-install-button-flow.md +55 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/welcome-view/stories/003-post-installation-detection.md +55 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units/welcome-view/unit-brief.md +211 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/intents/011-vscode-extension/units.md +129 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/maintenance-log.md +21 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/project.yaml +16 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/research/test_strategy/promptfoo-specsmd-tutorial.md +911 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/research/test_strategy/promptfoo-tutorial.md +796 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/research/test_strategy/testing-strategy.md +1057 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/research/unified-modernization-model.md +559 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/research/vibe-to-production-academic-research.md +578 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/research/vibe-to-spec-flow-options.md +547 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/standards/coding-standards.md +217 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/standards/output-formatting.md +202 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/standards/skill-template.md +308 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/standards/system-architecture.md +177 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/standards/tech-stack.md +88 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/story-index.md +154 -0
- package/src/iris_bundle/frameworks/iris-core/memory-bank/term-mappings.md +121 -0
- package/src/iris_bundle/frameworks/iris-core/pack.yaml +2 -0
- package/src/iris_bundle/frameworks/iris-core/package.json +11 -0
- package/src/iris_bundle/frameworks/iris-core/policy.yaml +73 -0
- package/src/iris_bundle/frameworks/iris-core/resources/ai-dlc-specification.md +286 -0
- package/src/iris_bundle/frameworks/iris-core/resources/aidlc.pdf +0 -0
- package/src/iris_bundle/frameworks/iris-core/resources/images/aidlc-core-framework.png +0 -0
- package/src/iris_bundle/frameworks/iris-core/resources/images/aidlc-phases-detail.png +0 -0
- package/src/iris_bundle/frameworks/iris-core/resources/images/aidlc-workflow-steps.png +0 -0
- package/src/iris_bundle/frameworks/iris-core/routes.yaml +98 -0
- package/src/iris_bundle/frameworks/iris-core/src/README.md +322 -0
- package/src/iris_bundle/frameworks/iris-core/src/__tests__/schemas/agent.schema.yaml +20 -0
- package/src/iris_bundle/frameworks/iris-core/src/__tests__/schemas/catalog.schema.yaml +60 -0
- package/src/iris_bundle/frameworks/iris-core/src/__tests__/schemas/context-config.schema.yaml +24 -0
- package/src/iris_bundle/frameworks/iris-core/src/__tests__/schemas/memory-bank.schema.yaml +61 -0
- package/src/iris_bundle/frameworks/iris-core/src/__tests__/schemas/skill.schema.yaml +22 -0
- package/src/iris_bundle/frameworks/iris-core/src/__tests__/unit/analytics/analytics.test.ts +240 -0
- package/src/iris_bundle/frameworks/iris-core/src/__tests__/unit/architecture/bolt-type-agnostic.test.ts +282 -0
- package/src/iris_bundle/frameworks/iris-core/src/__tests__/unit/flow-consistency/code-examples.test.ts +93 -0
- package/src/iris_bundle/frameworks/iris-core/src/__tests__/unit/flow-consistency/helpers.ts +79 -0
- package/src/iris_bundle/frameworks/iris-core/src/__tests__/unit/flow-consistency/placeholder-consistency.test.ts +76 -0
- package/src/iris_bundle/frameworks/iris-core/src/__tests__/unit/flow-consistency/reference-integrity.test.ts +92 -0
- package/src/iris_bundle/frameworks/iris-core/src/__tests__/unit/flow-consistency/terminology-consistency.test.ts +72 -0
- package/src/iris_bundle/frameworks/iris-core/src/__tests__/unit/schema-validation/markdown-schema.test.ts +55 -0
- package/src/iris_bundle/frameworks/iris-core/src/__tests__/unit/schema-validation/yaml-config-schema.test.ts +53 -0
- package/src/iris_bundle/frameworks/iris-core/src/bin/cli.js +21 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/README.md +372 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/agents/construction-agent.md +80 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/agents/inception-agent.md +97 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/agents/master-agent.md +61 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/agents/operations-agent.md +89 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/commands/construction-agent.md +63 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/commands/inception-agent.md +55 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/commands/master-agent.md +47 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/commands/operations-agent.md +77 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/context-config.yaml +67 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/memory-bank.yaml +104 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/quick-start.md +322 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/construction/bolt-list.md +163 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/construction/bolt-replan.md +345 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/construction/bolt-start.md +442 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/construction/bolt-status.md +185 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/construction/navigator.md +196 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/inception/bolt-plan.md +372 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/inception/context.md +171 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/inception/intent-create.md +211 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/inception/intent-list.md +124 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/inception/navigator.md +207 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/inception/requirements.md +227 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/inception/review.md +248 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/inception/story-create.md +304 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/inception/units.md +278 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/master/analyze-context.md +239 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/master/answer-question.md +141 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/master/explain-flow.md +158 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/master/project-init.md +281 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/master/route-request.md +126 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/operations/build.md +237 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/operations/deploy.md +259 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/operations/monitor.md +265 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/operations/navigator.md +209 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/skills/operations/verify.md +224 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/construction/bolt-template.md +226 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/adr-template.md +49 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-model-template.md +55 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-technical-design-template.md +67 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md +62 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt.md +528 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/construction/bolt-types/simple-construction-bolt.md +347 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/construction/bolt-types/spike-bolt.md +240 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/construction/construction-log-template.md +129 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/construction/standards/coding-standards.md +29 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/construction/standards/system-architecture.md +22 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/construction/standards/tech-stack.md +19 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/inception/inception-log-template.md +134 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/inception/project/README.md +55 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/inception/requirements-template.md +144 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/inception/stories-template.md +38 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/inception/story-template.md +147 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/inception/system-context-template.md +29 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/inception/unit-brief-template.md +177 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/inception/units-template.md +52 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/standards/catalog.yaml +345 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/standards/coding-standards.guide.md +553 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/standards/data-stack.guide.md +162 -0
- package/src/iris_bundle/frameworks/iris-core/src/flows/aidlc/templates/standards/tech-stack.guide.md +280 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/InstallerFactory.js +36 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/analytics/env-detector.js +92 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/analytics/index.js +22 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/analytics/machine-id.js +33 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/analytics/tracker.js +232 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/cli-utils.js +342 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/constants.js +32 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/installer.js +402 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/installers/AntigravityInstaller.js +22 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/installers/ClaudeInstaller.js +85 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/installers/ClineInstaller.js +21 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/installers/CodexInstaller.js +21 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/installers/CopilotInstaller.js +113 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/installers/CursorInstaller.js +63 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/installers/GeminiInstaller.js +75 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/installers/KiroInstaller.js +22 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/installers/OpenCodeInstaller.js +22 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/installers/RooInstaller.js +22 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/installers/ToolInstaller.js +73 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/installers/WindsurfInstaller.js +76 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/markdown-validator.ts +175 -0
- package/src/iris_bundle/frameworks/iris-core/src/lib/yaml-validator.ts +99 -0
- package/src/iris_bundle/frameworks/iris-core/src/package-lock.json +9922 -0
- package/src/iris_bundle/frameworks/iris-core/src/package.json +118 -0
- package/src/iris_bundle/frameworks/iris-core/src/scripts/artifact-validator.js +594 -0
- package/src/iris_bundle/frameworks/iris-core/src/scripts/bolt-complete.js +606 -0
- package/src/iris_bundle/frameworks/iris-core/src/scripts/status-integrity.js +598 -0
- package/src/iris_bundle/frameworks/iris-core/src/specs_md_pixel_logo.png +0 -0
- package/src/iris_bundle/frameworks/iris-core/src/tsconfig.json +16 -0
- package/src/iris_bundle/frameworks/iris-core/src/vitest.config.ts +12 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/.claude/skills/frontend-design/SKILL.md +42 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/.mocharc.json +5 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/.vscodeignore +17 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/DEVGUIDE.md +103 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/LICENSE +21 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/README.md +198 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/index.html +635 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/variation-1-metrics-dashboard.html +542 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/variation-10-dual-view-focus.html +1105 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/variation-11-dual-view-grouped.html +2304 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/variation-12-dependency-graph.html +1400 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/variation-13-hierarchy-explorer.html +1278 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/variation-14-swimlane-deps.html +1370 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/variation-2-pipeline-flow.html +673 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/variation-3-focus-mode.html +898 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/variation-4-kanban-board.html +858 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/variation-5-timeline.html +890 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/variation-6-activity-feed.html +923 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/variation-7-heatmap-grid.html +932 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/variation-8-2-spec.md +657 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/variation-8-2.html +2098 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/variation-8-command-center.html +2043 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/variation-8a-command-center-timeline.html +1222 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/design-mockups/variation-9-dual-view.html +1101 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/esbuild.webview.mjs +70 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/eslint.config.mjs +36 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/package-lock.json +5712 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/package.json +116 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/resources/extension-preview.png +0 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/resources/extension_icon.svg +40 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/resources/favicon-64.png +0 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/resources/favicon.png +0 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/resources/favicon.svg +40 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/resources/logo.png +0 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/extension.ts +142 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/parser/activityFeed.ts +184 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/parser/artifactParser.ts +477 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/parser/boltTypeParser.ts +191 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/parser/dependencyComputation.ts +157 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/parser/frontmatterParser.ts +144 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/parser/index.ts +93 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/parser/memoryBankSchema.ts +140 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/parser/projectDetection.ts +132 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/parser/types.ts +241 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/sidebar/iconHelper.ts +82 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/sidebar/index.ts +85 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/sidebar/treeBuilder.ts +289 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/sidebar/treeProvider.ts +225 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/sidebar/types.ts +254 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/sidebar/webviewMessaging.ts +306 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/sidebar/webviewProvider.ts +866 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/state/index.ts +114 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/state/selectors.ts +652 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/state/stateStore.ts +419 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/state/types.ts +311 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/test/parser/activityFeed.test.ts +269 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/test/parser/artifactParser.test.ts +440 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/test/parser/dependencyComputation.test.ts +288 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/test/parser/frontmatterParser.test.ts +191 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/test/parser/memoryBankSchema.test.ts +185 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/test/parser/projectDetection.test.ts +146 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/test/runTest.ts +20 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/test/sidebar/treeBuilder.test.ts +329 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/test/sidebar/types.test.ts +239 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/test/sidebar/webviewContent.test.ts +67 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/test/sidebar/webviewMessaging.test.ts +369 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/test/sidebar/webviewProvider.test.ts +282 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/test/state/selectors.test.ts +457 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/test/state/stateStore.test.ts +622 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/test/watcher/debounce.test.ts +155 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/test/watcher/fileWatcher.test.ts +77 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/watcher/debounce.ts +70 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/watcher/fileWatcher.ts +147 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/watcher/index.ts +39 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/watcher/types.ts +43 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/app.ts +870 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/bolts/activity-feed.ts +232 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/bolts/activity-item.ts +208 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/bolts/bolts-view.ts +201 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/bolts/completion-item.ts +299 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/bolts/completions-section.ts +197 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/bolts/current-bolts.ts +184 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/bolts/focus-card.ts +431 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/bolts/focus-section.ts +179 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/bolts/queue-item.ts +306 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/bolts/queue-section.ts +198 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/bolts/stories-list.ts +151 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/shared/base-element.ts +29 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/shared/empty-state.ts +82 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/shared/progress-bar.ts +120 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/shared/progress-ring.ts +100 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/shared/stage-pipeline.ts +133 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/components/tabs/view-tabs.ts +127 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/html.ts +542 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/index.ts +104 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/lit/index.ts +16 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/scripts.ts +241 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/styles/theme.ts +50 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/styles.ts +1194 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/types/messages.ts +40 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/types/vscode.ts +13 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/utils/messaging.ts +57 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/utils.ts +16 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/webview/vscode-api.ts +14 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/welcome/WelcomeViewProvider.ts +254 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/welcome/index.ts +9 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/src/welcome/installHandler.ts +82 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/tsconfig.json +30 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/tsconfig.test.json +26 -0
- package/src/iris_bundle/frameworks/iris-core/vs-code-extension/tsconfig.webview.json +23 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 001-initialize-mixpanel
|
|
3
|
+
unit: 001-analytics-tracker
|
|
4
|
+
intent: 007-installer-analytics
|
|
5
|
+
status: complete
|
|
6
|
+
priority: must
|
|
7
|
+
created: 2025-12-28T12:30:00Z
|
|
8
|
+
assigned_bolt: 016-analytics-tracker
|
|
9
|
+
implemented: true
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Story: Initialize Mixpanel with Machine and Session IDs
|
|
13
|
+
|
|
14
|
+
## User Story
|
|
15
|
+
|
|
16
|
+
**As a** irismd installer
|
|
17
|
+
**I want** to initialize Mixpanel with stable machine ID and unique session ID
|
|
18
|
+
**So that** I can track usage patterns while identifying repeat installations
|
|
19
|
+
|
|
20
|
+
## Acceptance Criteria
|
|
21
|
+
|
|
22
|
+
- [ ] **Given** the installer starts, **When** analytics.init() is called, **Then** Mixpanel SDK is initialized with project token
|
|
23
|
+
- [ ] **Given** a machine hostname, **When** generating distinct_id, **Then** it is a salted SHA-256 hash of the hostname
|
|
24
|
+
- [ ] **Given** the same machine, **When** running installer multiple times, **Then** distinct_id is identical across runs
|
|
25
|
+
- [ ] **Given** any installer run, **When** generating session_id, **Then** it is a random UUID unique to this execution
|
|
26
|
+
- [ ] **Given** analytics is initialized, **When** any event is tracked, **Then** both distinct_id and session_id are included
|
|
27
|
+
|
|
28
|
+
## Technical Notes
|
|
29
|
+
|
|
30
|
+
- Use `crypto.createHash('sha256')` for hostname hashing
|
|
31
|
+
- Salt: `'irismd-analytics-v1'` (constant, prevents reverse lookup)
|
|
32
|
+
- Use `crypto.randomUUID()` for session ID
|
|
33
|
+
- Mixpanel token will be embedded in source code
|
|
34
|
+
- No data should be written to disk
|
|
35
|
+
|
|
36
|
+
## Dependencies
|
|
37
|
+
|
|
38
|
+
### Requires
|
|
39
|
+
- None (foundation story)
|
|
40
|
+
|
|
41
|
+
### Enables
|
|
42
|
+
- 004-track-installer-events
|
|
43
|
+
- 005-track-selection-events
|
|
44
|
+
|
|
45
|
+
## Edge Cases
|
|
46
|
+
|
|
47
|
+
| Scenario | Expected Behavior |
|
|
48
|
+
|----------|-------------------|
|
|
49
|
+
| Hostname contains special characters | Hash handles any string |
|
|
50
|
+
| Very long hostname | SHA-256 handles any length |
|
|
51
|
+
| Hostname changes (rare) | New distinct_id generated |
|
|
52
|
+
|
|
53
|
+
## Out of Scope
|
|
54
|
+
|
|
55
|
+
- Persistent ID storage (explicitly not wanted)
|
|
56
|
+
- User-provided ID
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 002-detect-shell
|
|
3
|
+
unit: 001-analytics-tracker
|
|
4
|
+
intent: 007-installer-analytics
|
|
5
|
+
status: ready
|
|
6
|
+
priority: must
|
|
7
|
+
created: 2025-12-28T12:30:00Z
|
|
8
|
+
assigned_bolt: 016-analytics-tracker
|
|
9
|
+
implemented: false
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Story: Detect Shell Environment
|
|
13
|
+
|
|
14
|
+
## User Story
|
|
15
|
+
|
|
16
|
+
**As a** irismd analytics system
|
|
17
|
+
**I want** to detect the user's shell/terminal environment
|
|
18
|
+
**So that** I can understand which terminals are most popular among users
|
|
19
|
+
|
|
20
|
+
## Acceptance Criteria
|
|
21
|
+
|
|
22
|
+
- [ ] **Given** user is on macOS/Linux with zsh, **When** detecting shell, **Then** return "zsh"
|
|
23
|
+
- [ ] **Given** user is on macOS/Linux with bash, **When** detecting shell, **Then** return "bash"
|
|
24
|
+
- [ ] **Given** user is on Windows with PowerShell, **When** detecting shell, **Then** return "powershell"
|
|
25
|
+
- [ ] **Given** user is on Windows with cmd.exe, **When** detecting shell, **Then** return "cmd"
|
|
26
|
+
- [ ] **Given** shell cannot be determined, **When** detecting shell, **Then** return "unknown"
|
|
27
|
+
- [ ] **Given** user is using fish shell, **When** detecting shell, **Then** return "fish"
|
|
28
|
+
|
|
29
|
+
## Technical Notes
|
|
30
|
+
|
|
31
|
+
- On Unix: Check `process.env.SHELL` and extract basename
|
|
32
|
+
- On Windows: Check `process.env.ComSpec` for powershell/pwsh/cmd
|
|
33
|
+
- Common shells: zsh, bash, fish, sh, dash, powershell, pwsh, cmd
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
function detectShell(): string {
|
|
37
|
+
if (process.platform === 'win32') {
|
|
38
|
+
const comspec = process.env.ComSpec?.toLowerCase() || '';
|
|
39
|
+
if (comspec.includes('powershell') || comspec.includes('pwsh')) return 'powershell';
|
|
40
|
+
if (comspec.includes('cmd')) return 'cmd';
|
|
41
|
+
return 'unknown';
|
|
42
|
+
}
|
|
43
|
+
const shell = process.env.SHELL || '';
|
|
44
|
+
const basename = shell.split('/').pop() || 'unknown';
|
|
45
|
+
return basename;
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Dependencies
|
|
50
|
+
|
|
51
|
+
### Requires
|
|
52
|
+
- None
|
|
53
|
+
|
|
54
|
+
### Enables
|
|
55
|
+
- 001-initialize-mixpanel (provides shell property for base properties)
|
|
56
|
+
|
|
57
|
+
## Edge Cases
|
|
58
|
+
|
|
59
|
+
| Scenario | Expected Behavior |
|
|
60
|
+
|----------|-------------------|
|
|
61
|
+
| SHELL env var not set | Return "unknown" |
|
|
62
|
+
| ComSpec not set on Windows | Return "unknown" |
|
|
63
|
+
| Custom/unusual shell | Return basename as-is |
|
|
64
|
+
|
|
65
|
+
## Out of Scope
|
|
66
|
+
|
|
67
|
+
- Shell version detection
|
|
68
|
+
- Terminal emulator detection (iTerm, Terminal.app, etc.)
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 003-check-telemetry-disabled
|
|
3
|
+
unit: 001-analytics-tracker
|
|
4
|
+
intent: 007-installer-analytics
|
|
5
|
+
status: ready
|
|
6
|
+
priority: must
|
|
7
|
+
created: 2025-12-28T12:30:00Z
|
|
8
|
+
assigned_bolt: 016-analytics-tracker
|
|
9
|
+
implemented: false
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Story: Check if Telemetry is Disabled
|
|
13
|
+
|
|
14
|
+
## User Story
|
|
15
|
+
|
|
16
|
+
**As a** user who values privacy
|
|
17
|
+
**I want** to disable telemetry via environment variables
|
|
18
|
+
**So that** no analytics data is sent without my knowledge
|
|
19
|
+
|
|
20
|
+
## Acceptance Criteria
|
|
21
|
+
|
|
22
|
+
- [ ] **Given** SPECSMD_TELEMETRY_DISABLED=1, **When** checking telemetry status, **Then** telemetry is disabled
|
|
23
|
+
- [ ] **Given** DO_NOT_TRACK=1, **When** checking telemetry status, **Then** telemetry is disabled
|
|
24
|
+
- [ ] **Given** CI=true, **When** checking telemetry status, **Then** telemetry is disabled
|
|
25
|
+
- [ ] **Given** GITHUB_ACTIONS=true, **When** checking telemetry status, **Then** telemetry is disabled
|
|
26
|
+
- [ ] **Given** GITLAB_CI=true, **When** checking telemetry status, **Then** telemetry is disabled
|
|
27
|
+
- [ ] **Given** CIRCLECI=true, **When** checking telemetry status, **Then** telemetry is disabled
|
|
28
|
+
- [ ] **Given** JENKINS_URL is set, **When** checking telemetry status, **Then** telemetry is disabled
|
|
29
|
+
- [ ] **Given** no disable flags set, **When** checking telemetry status, **Then** telemetry is enabled
|
|
30
|
+
|
|
31
|
+
## Technical Notes
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
function isTelemetryDisabled(): boolean {
|
|
35
|
+
return (
|
|
36
|
+
process.env.SPECSMD_TELEMETRY_DISABLED === '1' ||
|
|
37
|
+
process.env.DO_NOT_TRACK === '1' ||
|
|
38
|
+
process.env.CI === 'true' ||
|
|
39
|
+
process.env.GITHUB_ACTIONS === 'true' ||
|
|
40
|
+
process.env.GITLAB_CI === 'true' ||
|
|
41
|
+
process.env.JENKINS_URL !== undefined ||
|
|
42
|
+
process.env.CIRCLECI === 'true'
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Dependencies
|
|
48
|
+
|
|
49
|
+
### Requires
|
|
50
|
+
- None
|
|
51
|
+
|
|
52
|
+
### Enables
|
|
53
|
+
- 001-initialize-mixpanel (determines if analytics should be enabled)
|
|
54
|
+
|
|
55
|
+
## Edge Cases
|
|
56
|
+
|
|
57
|
+
| Scenario | Expected Behavior |
|
|
58
|
+
|----------|-------------------|
|
|
59
|
+
| Multiple disable flags set | Still disabled (any one is enough) |
|
|
60
|
+
| SPECSMD_TELEMETRY_DISABLED=0 | NOT disabled (only "1" disables) |
|
|
61
|
+
| DO_NOT_TRACK=true | NOT disabled (only "1" disables) |
|
|
62
|
+
|
|
63
|
+
## Out of Scope
|
|
64
|
+
|
|
65
|
+
- Persistent opt-out storage
|
|
66
|
+
- CLI flag handling (separate story)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 004-track-installer-events
|
|
3
|
+
unit: 001-analytics-tracker
|
|
4
|
+
intent: 007-installer-analytics
|
|
5
|
+
status: ready
|
|
6
|
+
priority: must
|
|
7
|
+
created: 2025-12-28T12:30:00Z
|
|
8
|
+
assigned_bolt: 016-analytics-tracker
|
|
9
|
+
implemented: false
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Story: Track Installer Lifecycle Events
|
|
13
|
+
|
|
14
|
+
## User Story
|
|
15
|
+
|
|
16
|
+
**As a** irismd product team member
|
|
17
|
+
**I want** to track when installations start, complete, and fail
|
|
18
|
+
**So that** I can understand installation success rates and identify issues
|
|
19
|
+
|
|
20
|
+
## Acceptance Criteria
|
|
21
|
+
|
|
22
|
+
- [ ] **Given** installer starts, **When** trackInstallerStarted() is called, **Then** installer_started event is sent with base properties
|
|
23
|
+
- [ ] **Given** IDE installation completes, **When** trackInstallationCompleted() is called, **Then** installation_completed event is sent with ide, flow, duration_ms, files_created
|
|
24
|
+
- [ ] **Given** IDE installation fails, **When** trackInstallationFailed() is called, **Then** installation_failed event is sent with ide, error_category, flow
|
|
25
|
+
- [ ] **Given** telemetry is disabled, **When** any track method is called, **Then** no event is sent
|
|
26
|
+
- [ ] **Given** Mixpanel is unreachable, **When** tracking events, **Then** errors are silently ignored
|
|
27
|
+
|
|
28
|
+
## Technical Notes
|
|
29
|
+
|
|
30
|
+
- All events include base properties (distinct_id, session_id, $os, shell, node_version, irismd_version)
|
|
31
|
+
- Fire-and-forget pattern - don't await Mixpanel responses
|
|
32
|
+
- Wrap all tracking in try/catch to ensure silent failures
|
|
33
|
+
|
|
34
|
+
```typescript
|
|
35
|
+
trackInstallerStarted(): void {
|
|
36
|
+
this.track('installer_started');
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
trackInstallationCompleted(ide: string, flow: string, durationMs: number, filesCreated: number): void {
|
|
40
|
+
this.track('installation_completed', { ide, flow, duration_ms: durationMs, files_created: filesCreated });
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
trackInstallationFailed(ide: string, errorCategory: string, flow?: string): void {
|
|
44
|
+
this.track('installation_failed', { ide, error_category: errorCategory, ...(flow && { flow }) });
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Dependencies
|
|
49
|
+
|
|
50
|
+
### Requires
|
|
51
|
+
- 001-initialize-mixpanel (Mixpanel must be initialized)
|
|
52
|
+
|
|
53
|
+
### Enables
|
|
54
|
+
- None (end of chain)
|
|
55
|
+
|
|
56
|
+
## Edge Cases
|
|
57
|
+
|
|
58
|
+
| Scenario | Expected Behavior |
|
|
59
|
+
|----------|-------------------|
|
|
60
|
+
| Very long duration (hours) | Track as-is |
|
|
61
|
+
| Zero files created | Track with files_created: 0 |
|
|
62
|
+
| Unknown error category | Use "unknown" as category |
|
|
63
|
+
|
|
64
|
+
## Out of Scope
|
|
65
|
+
|
|
66
|
+
- Detailed error messages (only categories)
|
|
67
|
+
- Stack traces
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 005-track-selection-events
|
|
3
|
+
unit: 001-analytics-tracker
|
|
4
|
+
intent: 007-installer-analytics
|
|
5
|
+
status: ready
|
|
6
|
+
priority: must
|
|
7
|
+
created: 2025-12-28T12:30:00Z
|
|
8
|
+
assigned_bolt: 016-analytics-tracker
|
|
9
|
+
implemented: false
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Story: Track IDE and Flow Selection Events
|
|
13
|
+
|
|
14
|
+
## User Story
|
|
15
|
+
|
|
16
|
+
**As a** irismd product team member
|
|
17
|
+
**I want** to track which IDEs and flows users select
|
|
18
|
+
**So that** I can understand user preferences and prioritize IDE support
|
|
19
|
+
|
|
20
|
+
## Acceptance Criteria
|
|
21
|
+
|
|
22
|
+
- [ ] **Given** user confirms IDE selection, **When** trackIdesConfirmed() is called, **Then** ides_confirmed event is sent with ide_count and ides array
|
|
23
|
+
- [ ] **Given** user selects 3 IDEs, **When** tracking, **Then** ide_count is 3 and ides contains all 3 IDE names
|
|
24
|
+
- [ ] **Given** user selects flow, **When** trackFlowSelected() is called, **Then** flow_selected event is sent with flow name
|
|
25
|
+
- [ ] **Given** telemetry is disabled, **When** any track method is called, **Then** no event is sent
|
|
26
|
+
- [ ] **Given** Mixpanel is unreachable, **When** tracking events, **Then** errors are silently ignored
|
|
27
|
+
|
|
28
|
+
## Technical Notes
|
|
29
|
+
|
|
30
|
+
- ides_confirmed is sent ONCE after user confirms their selection
|
|
31
|
+
- ides array contains IDE identifiers like 'claude-code', 'cursor', 'windsurf'
|
|
32
|
+
- flow is the flow name like 'aidlc', 'custom'
|
|
33
|
+
|
|
34
|
+
```typescript
|
|
35
|
+
trackIdesConfirmed(ides: string[]): void {
|
|
36
|
+
this.track('ides_confirmed', {
|
|
37
|
+
ide_count: ides.length,
|
|
38
|
+
ides: ides,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
trackFlowSelected(flow: string): void {
|
|
43
|
+
this.track('flow_selected', { flow });
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Dependencies
|
|
48
|
+
|
|
49
|
+
### Requires
|
|
50
|
+
- 001-initialize-mixpanel (Mixpanel must be initialized)
|
|
51
|
+
|
|
52
|
+
### Enables
|
|
53
|
+
- None (end of chain)
|
|
54
|
+
|
|
55
|
+
## Edge Cases
|
|
56
|
+
|
|
57
|
+
| Scenario | Expected Behavior |
|
|
58
|
+
|----------|-------------------|
|
|
59
|
+
| Single IDE selected | ide_count: 1, ides: ['ide-name'] |
|
|
60
|
+
| Empty IDE list (edge case) | ide_count: 0, ides: [] |
|
|
61
|
+
| Unknown flow name | Track as-is |
|
|
62
|
+
|
|
63
|
+
## Out of Scope
|
|
64
|
+
|
|
65
|
+
- Tracking individual IDE selections before confirmation
|
|
66
|
+
- Tracking selection changes/deselections
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 006-cli-no-telemetry-flag
|
|
3
|
+
unit: 001-analytics-tracker
|
|
4
|
+
intent: 007-installer-analytics
|
|
5
|
+
status: ready
|
|
6
|
+
priority: should
|
|
7
|
+
created: 2025-12-28T12:30:00Z
|
|
8
|
+
assigned_bolt: 016-analytics-tracker
|
|
9
|
+
implemented: false
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Story: Support --no-telemetry CLI Flag
|
|
13
|
+
|
|
14
|
+
## User Story
|
|
15
|
+
|
|
16
|
+
**As a** user who prefers CLI flags over environment variables
|
|
17
|
+
**I want** to use --no-telemetry flag when running the installer
|
|
18
|
+
**So that** I can disable analytics without setting environment variables
|
|
19
|
+
|
|
20
|
+
## Acceptance Criteria
|
|
21
|
+
|
|
22
|
+
- [ ] **Given** user runs `npx irismd@latest install --no-telemetry`, **When** installer starts, **Then** telemetry is disabled
|
|
23
|
+
- [ ] **Given** --no-telemetry flag is present, **When** checking telemetry status, **Then** isTelemetryDisabled() returns true
|
|
24
|
+
- [ ] **Given** both --no-telemetry and env vars are set, **When** checking, **Then** telemetry is disabled
|
|
25
|
+
|
|
26
|
+
## Technical Notes
|
|
27
|
+
|
|
28
|
+
- Flag should be parsed before analytics.init() is called
|
|
29
|
+
- Need to integrate with existing CLI argument parsing
|
|
30
|
+
- May require passing flag state to analytics module
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
// Option 1: Check process.argv directly
|
|
34
|
+
const hasNoTelemetryFlag = process.argv.includes('--no-telemetry');
|
|
35
|
+
|
|
36
|
+
// Option 2: Accept as parameter to init()
|
|
37
|
+
analytics.init({ noTelemetry: parsedArgs.noTelemetry });
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Dependencies
|
|
41
|
+
|
|
42
|
+
### Requires
|
|
43
|
+
- 003-check-telemetry-disabled (extends the check)
|
|
44
|
+
|
|
45
|
+
### Enables
|
|
46
|
+
- None
|
|
47
|
+
|
|
48
|
+
## Edge Cases
|
|
49
|
+
|
|
50
|
+
| Scenario | Expected Behavior |
|
|
51
|
+
|----------|-------------------|
|
|
52
|
+
| --no-telemetry without value | Telemetry disabled |
|
|
53
|
+
| --no-telemetry=true | Telemetry disabled |
|
|
54
|
+
| --no-telemetry=false | Interpret as disabled (presence = disabled) |
|
|
55
|
+
|
|
56
|
+
## Out of Scope
|
|
57
|
+
|
|
58
|
+
- Persistent flag storage
|
|
59
|
+
- Config file option
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
---
|
|
2
|
+
unit: analytics-tracker
|
|
3
|
+
intent: 007-installer-analytics
|
|
4
|
+
phase: inception
|
|
5
|
+
status: ready
|
|
6
|
+
created: 2025-12-28T12:00:00Z
|
|
7
|
+
updated: 2025-12-28T12:30:00Z
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Unit Brief: Analytics Tracker
|
|
11
|
+
|
|
12
|
+
## Purpose
|
|
13
|
+
|
|
14
|
+
Implement Mixpanel analytics integration for the irismd installer to track anonymous usage patterns, IDE preferences, and installation behavior.
|
|
15
|
+
|
|
16
|
+
## Scope
|
|
17
|
+
|
|
18
|
+
### In Scope
|
|
19
|
+
- Mixpanel SDK initialization
|
|
20
|
+
- Machine ID generation (salted SHA-256 of hostname)
|
|
21
|
+
- Session ID generation (random UUID per run)
|
|
22
|
+
- Shell/terminal environment detection
|
|
23
|
+
- Event tracking (5 event types)
|
|
24
|
+
- Environment variable opt-out support
|
|
25
|
+
- Fire-and-forget event delivery
|
|
26
|
+
|
|
27
|
+
### Out of Scope
|
|
28
|
+
- Analytics dashboard creation (Mixpanel handles this)
|
|
29
|
+
- Local data persistence
|
|
30
|
+
- User consent prompts
|
|
31
|
+
- Custom analytics backend
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Assigned Requirements
|
|
36
|
+
|
|
37
|
+
**These FRs from the intent are assigned to this unit. Stories will be created from these.**
|
|
38
|
+
|
|
39
|
+
| FR | Requirement | Priority |
|
|
40
|
+
|----|-------------|----------|
|
|
41
|
+
| FR-1.1 | Generate `distinct_id` by hashing machine hostname with salt | Must |
|
|
42
|
+
| FR-1.2 | Use constant salt to prevent reverse-lookup | Must |
|
|
43
|
+
| FR-1.3 | Generate `session_id` as random UUID per run | Must |
|
|
44
|
+
| FR-1.4 | Use same IDs for all events within session | Must |
|
|
45
|
+
| FR-1.5 | Do NOT persist any data to disk | Must |
|
|
46
|
+
| FR-1.6 | Do NOT collect any PII | Must |
|
|
47
|
+
| FR-2.1 | Track `installer_started` event | Must |
|
|
48
|
+
| FR-2.2 | Track `ides_confirmed` event | Must |
|
|
49
|
+
| FR-2.3 | Track `flow_selected` event | Must |
|
|
50
|
+
| FR-2.4 | Track `installation_completed` event (per IDE) | Must |
|
|
51
|
+
| FR-2.5 | Track `installation_failed` event | Must |
|
|
52
|
+
| FR-4.1-4.6 | Include base properties in all events | Must |
|
|
53
|
+
| FR-5.1 | Use Mixpanel Node.js SDK | Must |
|
|
54
|
+
| FR-5.2 | Allow Mixpanel to handle geolocation | Must |
|
|
55
|
+
| FR-5.3 | Use fire-and-forget pattern | Must |
|
|
56
|
+
| FR-6.1 | Support SPECSMD_TELEMETRY_DISABLED=1 | Must |
|
|
57
|
+
| FR-6.2 | Support --no-telemetry flag | Should |
|
|
58
|
+
| FR-6.3 | Auto-disable in CI environments | Must |
|
|
59
|
+
| FR-6.4 | Respect DO_NOT_TRACK=1 | Must |
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Domain Concepts
|
|
64
|
+
|
|
65
|
+
### Key Entities
|
|
66
|
+
| Entity | Description | Attributes |
|
|
67
|
+
|--------|-------------|------------|
|
|
68
|
+
| AnalyticsTracker | Singleton that manages event tracking | mixpanel, machineId, sessionId, enabled, baseProperties |
|
|
69
|
+
| Event | Data sent to Mixpanel | event name, properties |
|
|
70
|
+
| BaseProperties | Common properties for all events | distinct_id, session_id, $os, shell, node_version, irismd_version |
|
|
71
|
+
|
|
72
|
+
### Key Operations
|
|
73
|
+
| Operation | Description | Inputs | Outputs |
|
|
74
|
+
|-----------|-------------|--------|---------|
|
|
75
|
+
| init() | Initialize tracker with IDs | none | void |
|
|
76
|
+
| trackInstallerStarted() | Send installer_started event | none | void |
|
|
77
|
+
| trackIdesConfirmed() | Send ides_confirmed event | ides[] | void |
|
|
78
|
+
| trackFlowSelected() | Send flow_selected event | flow | void |
|
|
79
|
+
| trackInstallationCompleted() | Send completion event | ide, flow, durationMs, filesCreated | void |
|
|
80
|
+
| trackInstallationFailed() | Send failure event | ide, errorCategory, flow | void |
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Story Summary
|
|
85
|
+
|
|
86
|
+
| Metric | Count |
|
|
87
|
+
|--------|-------|
|
|
88
|
+
| Total Stories | 6 |
|
|
89
|
+
| Must Have | 5 |
|
|
90
|
+
| Should Have | 1 |
|
|
91
|
+
| Could Have | 0 |
|
|
92
|
+
|
|
93
|
+
### Stories
|
|
94
|
+
|
|
95
|
+
| Story ID | Title | Priority | Status |
|
|
96
|
+
|----------|-------|----------|--------|
|
|
97
|
+
| 001 | Initialize Mixpanel with machine and session IDs | Must | Planned |
|
|
98
|
+
| 002 | Detect shell environment | Must | Planned |
|
|
99
|
+
| 003 | Check if telemetry is disabled | Must | Planned |
|
|
100
|
+
| 004 | Track installer lifecycle events | Must | Planned |
|
|
101
|
+
| 005 | Track IDE and flow selection events | Must | Planned |
|
|
102
|
+
| 006 | Support --no-telemetry CLI flag | Should | Planned |
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Dependencies
|
|
107
|
+
|
|
108
|
+
### Depends On
|
|
109
|
+
| Unit | Reason |
|
|
110
|
+
|------|--------|
|
|
111
|
+
| None | Standalone module |
|
|
112
|
+
|
|
113
|
+
### Depended By
|
|
114
|
+
| Unit | Reason |
|
|
115
|
+
|------|--------|
|
|
116
|
+
| installer-core | Needs analytics for event tracking |
|
|
117
|
+
|
|
118
|
+
### External Dependencies
|
|
119
|
+
| System | Purpose | Risk |
|
|
120
|
+
|--------|---------|------|
|
|
121
|
+
| Mixpanel | Event storage and dashboards | Low - fire-and-forget |
|
|
122
|
+
| npm: mixpanel | Node.js SDK | Low - stable package |
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Technical Context
|
|
127
|
+
|
|
128
|
+
### Suggested Technology
|
|
129
|
+
- TypeScript module in `src/analytics/`
|
|
130
|
+
- Mixpanel Node.js SDK (`mixpanel` npm package)
|
|
131
|
+
- Node.js crypto module for hashing and UUID
|
|
132
|
+
|
|
133
|
+
### Integration Points
|
|
134
|
+
| Integration | Type | Protocol |
|
|
135
|
+
|-------------|------|----------|
|
|
136
|
+
| Mixpanel API | HTTP | HTTPS (via SDK) |
|
|
137
|
+
| Installer CLI | Function call | Direct import |
|
|
138
|
+
|
|
139
|
+
### Data Storage
|
|
140
|
+
| Data | Type | Volume | Retention |
|
|
141
|
+
|------|------|--------|-----------|
|
|
142
|
+
| Events | Mixpanel cloud | ~5 events/install | Mixpanel default |
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Constraints
|
|
147
|
+
|
|
148
|
+
- Must not add noticeable latency (<50ms)
|
|
149
|
+
- Must work offline (silent failure)
|
|
150
|
+
- Must not break installation on analytics failure
|
|
151
|
+
- No PII collection (GDPR compliance)
|
|
152
|
+
- Mixpanel token embedded in source (acceptable for analytics)
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Success Criteria
|
|
157
|
+
|
|
158
|
+
### Functional
|
|
159
|
+
- [ ] Mixpanel SDK initialized with correct token
|
|
160
|
+
- [ ] Machine ID is consistent across runs on same machine
|
|
161
|
+
- [ ] Session ID is unique per run
|
|
162
|
+
- [ ] All 5 event types tracked correctly
|
|
163
|
+
- [ ] Events include all base properties
|
|
164
|
+
|
|
165
|
+
### Non-Functional
|
|
166
|
+
- [ ] Analytics adds <50ms to installation time
|
|
167
|
+
- [ ] Silent failure on network errors
|
|
168
|
+
- [ ] Works offline without errors
|
|
169
|
+
|
|
170
|
+
### Quality
|
|
171
|
+
- [ ] Unit tests for ID generation
|
|
172
|
+
- [ ] Unit tests for environment detection
|
|
173
|
+
- [ ] Integration test for event structure
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Bolt Suggestions
|
|
178
|
+
|
|
179
|
+
Based on stories and complexity:
|
|
180
|
+
|
|
181
|
+
| Bolt | Type | Stories | Objective |
|
|
182
|
+
|------|------|---------|-----------|
|
|
183
|
+
| bolt-analytics-tracker-1 | simple-construction-bolt | All | Complete analytics module |
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Notes
|
|
188
|
+
|
|
189
|
+
- Single bolt should be sufficient given low complexity
|
|
190
|
+
- Mixpanel token needs to be created in Mixpanel dashboard
|
|
191
|
+
- Consider adding to package.json devDependencies for testing
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 007-privacy-story-1
|
|
3
|
+
unit: privacy-documentation
|
|
4
|
+
intent: 007-installer-analytics
|
|
5
|
+
status: done
|
|
6
|
+
priority: must
|
|
7
|
+
created: 2025-12-28T12:00:00Z
|
|
8
|
+
assigned_bolt: bolt-privacy-documentation-1
|
|
9
|
+
implemented: true
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Story: Create PRIVACY.md with Data Disclosure
|
|
13
|
+
|
|
14
|
+
## User Story
|
|
15
|
+
|
|
16
|
+
**As a** user who wants to understand data collection
|
|
17
|
+
**I want** to read a clear privacy policy
|
|
18
|
+
**So that** I can make informed decisions about using irismd
|
|
19
|
+
|
|
20
|
+
## Acceptance Criteria
|
|
21
|
+
|
|
22
|
+
- [x] **Given** user visits the repository, **When** they look for privacy info, **Then** PRIVACY.md exists at root
|
|
23
|
+
- [x] **Given** user reads PRIVACY.md, **When** they check what's collected, **Then** all data points are listed
|
|
24
|
+
- [x] **Given** user reads PRIVACY.md, **When** they want to opt-out, **Then** clear instructions are provided
|
|
25
|
+
- [x] **Given** user reads PRIVACY.md, **When** they check legal basis, **Then** legitimate interest is stated
|
|
26
|
+
- [x] **Given** user reads PRIVACY.md, **When** they check for PII, **Then** it confirms no PII is collected
|
|
27
|
+
|
|
28
|
+
## Technical Notes
|
|
29
|
+
|
|
30
|
+
- PRIVACY.md was created during Inception phase
|
|
31
|
+
- Located at repository root: `/PRIVACY.md`
|
|
32
|
+
- Contains:
|
|
33
|
+
- What data is collected
|
|
34
|
+
- What is NOT collected
|
|
35
|
+
- Opt-out methods
|
|
36
|
+
- Legal basis statement
|
|
37
|
+
|
|
38
|
+
## Dependencies
|
|
39
|
+
|
|
40
|
+
### Requires
|
|
41
|
+
|
|
42
|
+
- None
|
|
43
|
+
|
|
44
|
+
### Enables
|
|
45
|
+
|
|
46
|
+
- 002-add-readme-section
|
|
47
|
+
|
|
48
|
+
## Edge Cases
|
|
49
|
+
|
|
50
|
+
| Scenario | Expected Behavior |
|
|
51
|
+
|----------|-------------------|
|
|
52
|
+
| N/A | Documentation only |
|
|
53
|
+
|
|
54
|
+
## Out of Scope
|
|
55
|
+
|
|
56
|
+
- Legal review
|
|
57
|
+
- Cookie policy (no cookies)
|
|
58
|
+
- Terms of service
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 007-privacy-story-2
|
|
3
|
+
unit: privacy-documentation
|
|
4
|
+
intent: 007-installer-analytics
|
|
5
|
+
status: ready
|
|
6
|
+
priority: must
|
|
7
|
+
created: 2025-12-28T12:30:00Z
|
|
8
|
+
assigned_bolt: bolt-privacy-documentation-1
|
|
9
|
+
implemented: false
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Story: Add Analytics Section to README
|
|
13
|
+
|
|
14
|
+
## User Story
|
|
15
|
+
|
|
16
|
+
**As a** user reading the README
|
|
17
|
+
**I want** to see a brief note about analytics
|
|
18
|
+
**So that** I am aware of data collection before installing
|
|
19
|
+
|
|
20
|
+
## Acceptance Criteria
|
|
21
|
+
|
|
22
|
+
- [ ] **Given** user reads README.md, **When** they scroll to bottom, **Then** they see an "Analytics" section
|
|
23
|
+
- [ ] **Given** user sees Analytics section, **When** they read it, **Then** it states no personal info is collected
|
|
24
|
+
- [ ] **Given** user sees Analytics section, **When** they want to opt-out, **Then** quick command is shown
|
|
25
|
+
- [ ] **Given** user wants more details, **When** they look for link, **Then** PRIVACY.md is linked
|
|
26
|
+
|
|
27
|
+
## Technical Notes
|
|
28
|
+
|
|
29
|
+
Add to README.md at the bottom (before license section if exists):
|
|
30
|
+
|
|
31
|
+
```markdown
|
|
32
|
+
## Analytics
|
|
33
|
+
|
|
34
|
+
irismd collects anonymous usage analytics to improve the product. No personal information is collected.
|
|
35
|
+
|
|
36
|
+
To disable: `SPECSMD_TELEMETRY_DISABLED=1 npx irismd@latest install`
|
|
37
|
+
|
|
38
|
+
See [PRIVACY.md](./PRIVACY.md) for details.
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Dependencies
|
|
42
|
+
|
|
43
|
+
### Requires
|
|
44
|
+
|
|
45
|
+
- 001-create-privacy-md (PRIVACY.md must exist to link to)
|
|
46
|
+
|
|
47
|
+
### Enables
|
|
48
|
+
|
|
49
|
+
- None
|
|
50
|
+
|
|
51
|
+
## Edge Cases
|
|
52
|
+
|
|
53
|
+
| Scenario | Expected Behavior |
|
|
54
|
+
|----------|-------------------|
|
|
55
|
+
| README has no license section | Add at very bottom |
|
|
56
|
+
| README has license section | Add before license |
|
|
57
|
+
|
|
58
|
+
## Out of Scope
|
|
59
|
+
|
|
60
|
+
- Detailed data listing (that's in PRIVACY.md)
|
|
61
|
+
- Multiple language support
|