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,308 @@
|
|
|
1
|
+
# Intent: Installer Analytics with Mixpanel
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Implement lightweight analytics using Mixpanel to track installer usage patterns. This helps the iris.md team understand adoption, IDE preferences, flow popularity, and installation behavior.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Analytics Provider
|
|
10
|
+
|
|
11
|
+
**Mixpanel** - SaaS analytics platform with:
|
|
12
|
+
- Node.js SDK (`mixpanel` npm package)
|
|
13
|
+
- Built-in dashboards and funnels
|
|
14
|
+
- Geolocation from IP (IP not stored)
|
|
15
|
+
- Free tier sufficient for our needs
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Problem Statement
|
|
20
|
+
|
|
21
|
+
Currently, irismd has no visibility into:
|
|
22
|
+
|
|
23
|
+
- How many users run the installer
|
|
24
|
+
- Which IDEs/tools are most popular (users can select multiple)
|
|
25
|
+
- Which flows users install
|
|
26
|
+
- How many IDEs users typically select together
|
|
27
|
+
- Repeat installation patterns per user
|
|
28
|
+
- Per-IDE install counts
|
|
29
|
+
- Geographic distribution of users
|
|
30
|
+
- Terminal/shell environment preferences
|
|
31
|
+
|
|
32
|
+
This makes it difficult to prioritize development efforts and understand user needs.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Functional Requirements
|
|
37
|
+
|
|
38
|
+
### FR-1: User & Session Identification
|
|
39
|
+
|
|
40
|
+
- FR-1.1: System SHALL generate `distinct_id` by hashing the machine hostname with a salt (SHA-256)
|
|
41
|
+
- FR-1.2: System SHALL use a constant salt to prevent reverse-lookup of hostnames
|
|
42
|
+
- FR-1.3: System SHALL generate `session_id` as a random UUID for each installer run
|
|
43
|
+
- FR-1.4: System SHALL use the same `distinct_id` and `session_id` for all events within a session
|
|
44
|
+
- FR-1.5: System SHALL NOT persist any data to disk
|
|
45
|
+
- FR-1.6: System SHALL NOT collect any PII (hostname is salted+hashed, not stored)
|
|
46
|
+
|
|
47
|
+
**Identification Strategy:**
|
|
48
|
+
- `distinct_id`: Stable machine identifier (salted SHA-256 of hostname) - same across runs, not reversible
|
|
49
|
+
- `session_id`: Unique per installer execution (random UUID) - different each run
|
|
50
|
+
|
|
51
|
+
### FR-2: Event Tracking
|
|
52
|
+
|
|
53
|
+
Each event is sent individually when the action occurs (NOT batched):
|
|
54
|
+
|
|
55
|
+
- FR-2.1: System SHALL track `installer_started` event when npx command runs
|
|
56
|
+
- FR-2.2: System SHALL track `ides_confirmed` event when user confirms IDE selection
|
|
57
|
+
- FR-2.3: System SHALL track `flow_selected` event when user selects a flow
|
|
58
|
+
- FR-2.4: System SHALL track `installation_completed` event on success (one per IDE)
|
|
59
|
+
- FR-2.5: System SHALL track `installation_failed` event on failure (with error category)
|
|
60
|
+
|
|
61
|
+
### FR-3: Multiple IDE Selection
|
|
62
|
+
|
|
63
|
+
- FR-3.1: User CAN select 1 or more IDEs from the list
|
|
64
|
+
- FR-3.2: System SHALL send one `ides_confirmed` event with total count and list of IDEs
|
|
65
|
+
- FR-3.3: System SHALL send one `installation_completed` event per IDE installed
|
|
66
|
+
|
|
67
|
+
### FR-4: Event Properties
|
|
68
|
+
|
|
69
|
+
Each event SHALL include:
|
|
70
|
+
|
|
71
|
+
- FR-4.1: `distinct_id` - salted SHA-256 hash of machine hostname (stable across runs)
|
|
72
|
+
- FR-4.2: `session_id` - random UUID for this installer run (unique per execution)
|
|
73
|
+
- FR-4.3: `$os` - operating system (darwin, linux, win32)
|
|
74
|
+
- FR-4.4: `shell` - terminal environment (zsh, bash, powershell, cmd, fish, etc.)
|
|
75
|
+
- FR-4.5: `node_version` - Node.js major version (e.g., "18", "20")
|
|
76
|
+
- FR-4.6: `irismd_version` - current irismd package version
|
|
77
|
+
|
|
78
|
+
### FR-5: Mixpanel Configuration
|
|
79
|
+
|
|
80
|
+
- FR-5.1: System SHALL use Mixpanel Node.js SDK
|
|
81
|
+
- FR-5.2: System SHALL allow Mixpanel to handle geolocation automatically (IP used for geo lookup, then discarded by Mixpanel)
|
|
82
|
+
- FR-5.3: System SHALL use fire-and-forget (no callbacks awaited)
|
|
83
|
+
|
|
84
|
+
### FR-6: Environment Overrides
|
|
85
|
+
|
|
86
|
+
- FR-6.1: System SHALL support `SPECSMD_TELEMETRY_DISABLED=1` to disable analytics
|
|
87
|
+
- FR-6.2: System SHALL support `--no-telemetry` flag to disable analytics
|
|
88
|
+
- FR-6.3: System SHALL auto-disable in CI environments (CI=true, GITHUB_ACTIONS, etc.)
|
|
89
|
+
- FR-6.4: System SHALL respect `DO_NOT_TRACK=1` environment variable
|
|
90
|
+
|
|
91
|
+
### FR-7: Privacy Documentation
|
|
92
|
+
|
|
93
|
+
- FR-7.1: Repository SHALL include a `PRIVACY.md` file at the root
|
|
94
|
+
- FR-7.2: Privacy documentation SHALL disclose what data is collected
|
|
95
|
+
- FR-7.3: Privacy documentation SHALL explain how to opt-out
|
|
96
|
+
- FR-7.4: Privacy documentation SHALL state the legal basis (legitimate interest)
|
|
97
|
+
- FR-7.5: Privacy documentation SHALL confirm no PII is collected
|
|
98
|
+
- FR-7.6: README SHALL reference the privacy documentation
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Non-Functional Requirements
|
|
103
|
+
|
|
104
|
+
### NFR-1: Performance
|
|
105
|
+
|
|
106
|
+
- Analytics calls SHALL be non-blocking (fire-and-forget)
|
|
107
|
+
- Analytics SHALL add less than 50ms to installation time
|
|
108
|
+
- Analytics failures SHALL NOT cause installation failures
|
|
109
|
+
|
|
110
|
+
### NFR-2: Privacy (GDPR Compliant)
|
|
111
|
+
|
|
112
|
+
- No PII collection
|
|
113
|
+
- Hostname is salted + hashed (SHA-256), not reversible
|
|
114
|
+
- IP addresses NOT stored by Mixpanel (only used for geolocation, then discarded)
|
|
115
|
+
- No folder names collected
|
|
116
|
+
- No data persisted to disk
|
|
117
|
+
|
|
118
|
+
### NFR-3: Reliability
|
|
119
|
+
|
|
120
|
+
- Analytics failures are silent
|
|
121
|
+
- Offline installations proceed without error
|
|
122
|
+
- Network errors do not surface to users
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Events Schema
|
|
127
|
+
|
|
128
|
+
### Event 1: installer_started
|
|
129
|
+
|
|
130
|
+
Sent immediately when `npx irismd@latest install` runs.
|
|
131
|
+
|
|
132
|
+
```typescript
|
|
133
|
+
{
|
|
134
|
+
event: 'installer_started',
|
|
135
|
+
properties: {
|
|
136
|
+
distinct_id: string, // Salted SHA-256 hash of os.hostname() - stable across runs
|
|
137
|
+
session_id: string, // Random UUID for this run - unique per execution
|
|
138
|
+
$os: string, // 'darwin' | 'linux' | 'win32'
|
|
139
|
+
shell: string, // 'zsh' | 'bash' | 'powershell' | 'cmd' | 'fish' | 'unknown'
|
|
140
|
+
node_version: string, // e.g., '20'
|
|
141
|
+
irismd_version: string, // e.g., '0.4.0'
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Event 2: ides_confirmed
|
|
147
|
+
|
|
148
|
+
Sent once when user confirms their IDE selection (after selecting 1 or more).
|
|
149
|
+
|
|
150
|
+
```typescript
|
|
151
|
+
{
|
|
152
|
+
event: 'ides_confirmed',
|
|
153
|
+
properties: {
|
|
154
|
+
distinct_id: string,
|
|
155
|
+
session_id: string,
|
|
156
|
+
ide_count: number, // How many IDEs selected (1, 2, 3, etc.)
|
|
157
|
+
ides: string[], // ['claude-code', 'cursor'] - list of all selected
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Event 3: flow_selected
|
|
163
|
+
|
|
164
|
+
Sent when user selects a flow to install.
|
|
165
|
+
|
|
166
|
+
```typescript
|
|
167
|
+
{
|
|
168
|
+
event: 'flow_selected',
|
|
169
|
+
properties: {
|
|
170
|
+
distinct_id: string,
|
|
171
|
+
session_id: string,
|
|
172
|
+
flow: string, // 'aidlc' | 'custom' | etc.
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Event 4: installation_completed
|
|
178
|
+
|
|
179
|
+
Sent for EACH IDE that completes installation successfully. If user selected 3 IDEs, up to 3 events.
|
|
180
|
+
|
|
181
|
+
```typescript
|
|
182
|
+
{
|
|
183
|
+
event: 'installation_completed',
|
|
184
|
+
properties: {
|
|
185
|
+
distinct_id: string,
|
|
186
|
+
session_id: string,
|
|
187
|
+
ide: string, // Which IDE was installed
|
|
188
|
+
flow: string,
|
|
189
|
+
duration_ms: number, // Time for this IDE's installation
|
|
190
|
+
files_created: number, // Number of files created for this IDE
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### Event 5: installation_failed
|
|
196
|
+
|
|
197
|
+
Sent when installation fails for an IDE.
|
|
198
|
+
|
|
199
|
+
```typescript
|
|
200
|
+
{
|
|
201
|
+
event: 'installation_failed',
|
|
202
|
+
properties: {
|
|
203
|
+
distinct_id: string,
|
|
204
|
+
session_id: string,
|
|
205
|
+
ide: string, // Which IDE failed
|
|
206
|
+
error_category: string, // 'file_permission' | 'validation' | 'unknown'
|
|
207
|
+
flow: string,
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Mixpanel Dashboard Metrics
|
|
215
|
+
|
|
216
|
+
With these events, we can track:
|
|
217
|
+
|
|
218
|
+
### User & Install Metrics
|
|
219
|
+
1. **Unique Machines**: Count of unique `distinct_id` values
|
|
220
|
+
2. **Total Sessions**: Count of unique `session_id` values (or `installer_started` events)
|
|
221
|
+
3. **Sessions per Machine**: Count of unique `session_id` grouped by `distinct_id`
|
|
222
|
+
4. **Repeat Users**: Machines with 2+ sessions (multiple `session_id` per `distinct_id`)
|
|
223
|
+
|
|
224
|
+
### IDE Metrics
|
|
225
|
+
5. **IDE Popularity**: Count occurrences in `ides` array from `ides_confirmed`
|
|
226
|
+
6. **Per-IDE Install Count**: Count of `installation_completed` grouped by `ide`
|
|
227
|
+
7. **Multi-IDE Sessions**: Count of `ides_confirmed` where `ide_count > 1`
|
|
228
|
+
8. **Average IDEs per Session**: Average of `ide_count` from `ides_confirmed`
|
|
229
|
+
9. **IDE Combinations**: Common pairs/groups from `ides` array
|
|
230
|
+
|
|
231
|
+
### Flow & Completion Metrics
|
|
232
|
+
10. **Flow Popularity**: Breakdown of `flow_selected` by flow
|
|
233
|
+
11. **Success Rate**: `installation_completed` / IDEs in `ides_confirmed`
|
|
234
|
+
12. **Installation Funnel**: started → ides_confirmed → flow_selected → completed
|
|
235
|
+
|
|
236
|
+
### Environment Metrics
|
|
237
|
+
13. **Geographic Distribution**: Country/city from geolocation
|
|
238
|
+
14. **OS Distribution**: darwin vs linux vs win32
|
|
239
|
+
15. **Shell Preferences**: zsh vs bash vs powershell etc.
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## Success Criteria
|
|
244
|
+
|
|
245
|
+
- Analytics integrated with zero impact on installation reliability
|
|
246
|
+
- Mixpanel dashboard shows meaningful metrics within 1 week
|
|
247
|
+
- Can identify repeat users via hashed machine ID
|
|
248
|
+
- Can track per-IDE install counts accurately
|
|
249
|
+
- Can see multi-IDE selection patterns
|
|
250
|
+
- Can see geographic distribution
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## Acceptance Criteria
|
|
255
|
+
|
|
256
|
+
### AC-1: Machine Hash ID
|
|
257
|
+
|
|
258
|
+
- GIVEN a user running the installer
|
|
259
|
+
- WHEN installation starts
|
|
260
|
+
- THEN `distinct_id` is SHA-256 hash of `os.hostname()`
|
|
261
|
+
- AND the same hash is used for repeat runs on same machine
|
|
262
|
+
- AND nothing is written to disk
|
|
263
|
+
|
|
264
|
+
### AC-2: Multiple IDE Selection
|
|
265
|
+
|
|
266
|
+
- GIVEN a user selects 3 IDEs (claude-code, cursor, windsurf)
|
|
267
|
+
- WHEN they confirm selection
|
|
268
|
+
- THEN 1 `ides_confirmed` event is sent with `ide_count: 3` and `ides: ['claude-code', 'cursor', 'windsurf']`
|
|
269
|
+
|
|
270
|
+
### AC-3: Per-IDE Completion
|
|
271
|
+
|
|
272
|
+
- GIVEN a user selected 2 IDEs
|
|
273
|
+
- WHEN installation completes for both
|
|
274
|
+
- THEN 2 `installation_completed` events are sent (one per IDE)
|
|
275
|
+
|
|
276
|
+
### AC-4: Shell Detection
|
|
277
|
+
|
|
278
|
+
- GIVEN a user in PowerShell on Windows
|
|
279
|
+
- WHEN `installer_started` event is sent
|
|
280
|
+
- THEN `shell` property is "powershell"
|
|
281
|
+
|
|
282
|
+
### AC-5: Environment Override
|
|
283
|
+
|
|
284
|
+
- GIVEN `SPECSMD_TELEMETRY_DISABLED=1` is set
|
|
285
|
+
- WHEN installer runs
|
|
286
|
+
- THEN no events are sent to Mixpanel
|
|
287
|
+
|
|
288
|
+
### AC-6: Graceful Failure
|
|
289
|
+
|
|
290
|
+
- GIVEN Mixpanel endpoint is unreachable
|
|
291
|
+
- WHEN installer attempts to send events
|
|
292
|
+
- THEN installation proceeds successfully
|
|
293
|
+
- AND no error is shown to user
|
|
294
|
+
|
|
295
|
+
### AC-7: Repeat User Tracking
|
|
296
|
+
|
|
297
|
+
- GIVEN a user runs the installer twice on the same machine
|
|
298
|
+
- WHEN viewing Mixpanel
|
|
299
|
+
- THEN both sessions have the same `distinct_id`
|
|
300
|
+
- AND can see this user has 2 install sessions
|
|
301
|
+
|
|
302
|
+
### AC-8: Privacy Documentation
|
|
303
|
+
|
|
304
|
+
- GIVEN a user wants to understand data collection
|
|
305
|
+
- WHEN they read PRIVACY.md
|
|
306
|
+
- THEN they can see exactly what data is collected
|
|
307
|
+
- AND they can see how to disable telemetry
|
|
308
|
+
- AND they understand no personal information is stored
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
# System Context: Installer Analytics with Mixpanel
|
|
2
|
+
|
|
3
|
+
## Boundaries
|
|
4
|
+
|
|
5
|
+
### In Scope
|
|
6
|
+
|
|
7
|
+
- Event tracking during installer execution
|
|
8
|
+
- Machine-based identification (SHA-256 hash of hostname)
|
|
9
|
+
- Multiple IDE selection tracking
|
|
10
|
+
- Per-IDE installation completion tracking
|
|
11
|
+
- Shell/terminal environment detection
|
|
12
|
+
- Environment variable overrides (disable telemetry)
|
|
13
|
+
- Mixpanel SDK integration
|
|
14
|
+
|
|
15
|
+
### Out of Scope
|
|
16
|
+
|
|
17
|
+
- Local file storage for analytics
|
|
18
|
+
- User consent prompts (no consent needed)
|
|
19
|
+
- Custom analytics backend
|
|
20
|
+
- Detailed error reporting/crash analytics
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Actors
|
|
25
|
+
|
|
26
|
+
### Primary Actors
|
|
27
|
+
|
|
28
|
+
#### AI-Native Engineer (End User)
|
|
29
|
+
|
|
30
|
+
- Runs the irismd installer
|
|
31
|
+
- Selects one or more IDEs
|
|
32
|
+
- Automatically tracked (no consent prompt)
|
|
33
|
+
- Can opt-out via environment variable
|
|
34
|
+
|
|
35
|
+
#### iris.md Product Team
|
|
36
|
+
|
|
37
|
+
- Views Mixpanel dashboards
|
|
38
|
+
- Analyzes installation funnels
|
|
39
|
+
- Tracks per-IDE install counts
|
|
40
|
+
- Makes product decisions based on data
|
|
41
|
+
|
|
42
|
+
### System Actors
|
|
43
|
+
|
|
44
|
+
#### Installer CLI
|
|
45
|
+
|
|
46
|
+
- Generates hashed machine ID
|
|
47
|
+
- Detects shell environment
|
|
48
|
+
- Sends events to Mixpanel
|
|
49
|
+
- Tracks multi-IDE selection
|
|
50
|
+
|
|
51
|
+
#### Mixpanel
|
|
52
|
+
|
|
53
|
+
- Receives and stores events
|
|
54
|
+
- Provides dashboards and analytics
|
|
55
|
+
- Handles geolocation from IP
|
|
56
|
+
- Tracks unique users by `distinct_id`
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## External Systems
|
|
61
|
+
|
|
62
|
+
### Mixpanel Analytics
|
|
63
|
+
|
|
64
|
+
- **Interface**: Mixpanel Node.js SDK (`mixpanel` npm package)
|
|
65
|
+
- **Data Exchange**: Individual events via `mixpanel.track()`
|
|
66
|
+
- **Dependency**: Optional - failures are silent
|
|
67
|
+
- **Auth**: Project token (embedded in package)
|
|
68
|
+
- **Geolocation**: IP used for country/city lookup, then discarded
|
|
69
|
+
|
|
70
|
+
### Operating System
|
|
71
|
+
|
|
72
|
+
- **Interface**: `os.hostname()` from Node.js
|
|
73
|
+
- **Data Exchange**: Hostname string (hashed before use)
|
|
74
|
+
- **Dependency**: Required for user identification
|
|
75
|
+
|
|
76
|
+
### Environment Variables
|
|
77
|
+
|
|
78
|
+
- **Interface**: `process.env`
|
|
79
|
+
- **Data Exchange**: `SPECSMD_TELEMETRY_DISABLED`, `DO_NOT_TRACK`, `CI`, `SHELL`, `ComSpec`
|
|
80
|
+
- **Dependency**: Optional overrides and shell detection
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Identification Strategy
|
|
85
|
+
|
|
86
|
+
Two IDs are used together for complete tracking:
|
|
87
|
+
|
|
88
|
+
| ID | Source | Purpose |
|
|
89
|
+
|----|--------|---------|
|
|
90
|
+
| `distinct_id` | Salted SHA-256 of `os.hostname()` | Identify the machine (stable across runs) |
|
|
91
|
+
| `session_id` | `crypto.randomUUID()` | Identify each installer run (unique per execution) |
|
|
92
|
+
|
|
93
|
+
### Machine Hash (distinct_id)
|
|
94
|
+
|
|
95
|
+
```typescript
|
|
96
|
+
import { createHash } from 'node:crypto';
|
|
97
|
+
import { hostname } from 'node:os';
|
|
98
|
+
|
|
99
|
+
// Salt prevents reverse-lookup of hostnames (GDPR compliance)
|
|
100
|
+
const HOSTNAME_SALT = 'irismd-analytics-v1';
|
|
101
|
+
|
|
102
|
+
function getMachineId(): string {
|
|
103
|
+
const machineHostname = hostname();
|
|
104
|
+
return createHash('sha256')
|
|
105
|
+
.update(HOSTNAME_SALT + machineHostname)
|
|
106
|
+
.digest('hex');
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Session ID
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
import { randomUUID } from 'node:crypto';
|
|
114
|
+
|
|
115
|
+
function getSessionId(): string {
|
|
116
|
+
return randomUUID();
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Properties
|
|
121
|
+
|
|
122
|
+
| Property | distinct_id | session_id |
|
|
123
|
+
|----------|-------------|------------|
|
|
124
|
+
| **Stable** | Yes (same per machine) | No (new each run) |
|
|
125
|
+
| **Reversible** | No (SHA-256 hash) | N/A |
|
|
126
|
+
| **Persistence** | Computed at runtime | Computed at runtime |
|
|
127
|
+
| **Use Case** | Track repeat users | Count runs per machine |
|
|
128
|
+
|
|
129
|
+
### Example
|
|
130
|
+
|
|
131
|
+
```text
|
|
132
|
+
Machine: "Johns-MacBook-Pro.local"
|
|
133
|
+
|
|
134
|
+
Run 1:
|
|
135
|
+
distinct_id: "a1b2c3d4e5f6..." (SHA-256)
|
|
136
|
+
session_id: "550e8400-e29b-41d4-a716-446655440000" (UUID)
|
|
137
|
+
|
|
138
|
+
Run 2 (same machine):
|
|
139
|
+
distinct_id: "a1b2c3d4e5f6..." (SAME)
|
|
140
|
+
session_id: "6ba7b810-9dad-11d1-80b4-00c04fd430c8" (DIFFERENT)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Integration Points
|
|
146
|
+
|
|
147
|
+
### Installer CLI ↔ Analytics Module
|
|
148
|
+
|
|
149
|
+
```text
|
|
150
|
+
Installation starts
|
|
151
|
+
→ Compute SHA-256 of os.hostname() (distinct_id)
|
|
152
|
+
→ Generate random UUID (session_id)
|
|
153
|
+
→ Detect shell environment
|
|
154
|
+
→ Send installer_started event
|
|
155
|
+
→ Continue installation
|
|
156
|
+
|
|
157
|
+
User selects IDEs and confirms (e.g., 3 IDEs)
|
|
158
|
+
→ Send ides_confirmed event with count and list (1 event)
|
|
159
|
+
|
|
160
|
+
User selects flow
|
|
161
|
+
→ Send flow_selected event
|
|
162
|
+
|
|
163
|
+
Installation completes for each IDE
|
|
164
|
+
→ Send installation_completed event per IDE (3 events)
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Analytics Module ↔ Mixpanel
|
|
168
|
+
|
|
169
|
+
```text
|
|
170
|
+
Event occurs
|
|
171
|
+
→ Call mixpanel.track(event, properties)
|
|
172
|
+
→ Fire-and-forget (no await)
|
|
173
|
+
→ SDK handles delivery
|
|
174
|
+
→ Failures ignored
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Context Diagram
|
|
180
|
+
|
|
181
|
+
```text
|
|
182
|
+
┌─────────────────────┐
|
|
183
|
+
│ AI-Native Engineer │
|
|
184
|
+
└──────────┬──────────┘
|
|
185
|
+
│ runs installer
|
|
186
|
+
│ selects 1+ IDEs
|
|
187
|
+
▼
|
|
188
|
+
┌──────────────────────┐
|
|
189
|
+
│ Installer CLI │
|
|
190
|
+
│ │
|
|
191
|
+
│ ┌─────────────────┐ │
|
|
192
|
+
│ │ Machine Hash │ │ SHA-256(hostname)
|
|
193
|
+
│ ├─────────────────┤ │
|
|
194
|
+
│ │ Shell Detector │ │
|
|
195
|
+
│ ├─────────────────┤ │
|
|
196
|
+
│ │ Event Tracker │ │
|
|
197
|
+
│ └─────────────────┘ │
|
|
198
|
+
└──────────┬──────────┘
|
|
199
|
+
│
|
|
200
|
+
┌────────────┴────────────┐
|
|
201
|
+
│ │
|
|
202
|
+
▼ ▼
|
|
203
|
+
┌─────────────────┐ ┌─────────────────┐
|
|
204
|
+
│ Environment │ │ Mixpanel │
|
|
205
|
+
│ Variables │ │ │
|
|
206
|
+
│ │ │ - Dashboards │
|
|
207
|
+
│ - CI │ │ - Funnels │
|
|
208
|
+
│ - DO_NOT_TRACK │ │ - User Tracking│
|
|
209
|
+
│ - SHELL │ │ - Geolocation │
|
|
210
|
+
└─────────────────┘ └────────┬────────┘
|
|
211
|
+
│
|
|
212
|
+
▼
|
|
213
|
+
┌─────────────────┐
|
|
214
|
+
│ iris.md Team │
|
|
215
|
+
│ (Mixpanel UI) │
|
|
216
|
+
└─────────────────┘
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Shell Detection Logic
|
|
222
|
+
|
|
223
|
+
```text
|
|
224
|
+
Platform: Windows
|
|
225
|
+
→ Check process.env.ComSpec
|
|
226
|
+
→ If contains 'powershell' → 'powershell'
|
|
227
|
+
→ If contains 'pwsh' → 'powershell'
|
|
228
|
+
→ If contains 'cmd' → 'cmd'
|
|
229
|
+
→ Else → 'unknown'
|
|
230
|
+
|
|
231
|
+
Platform: Unix (darwin, linux)
|
|
232
|
+
→ Check process.env.SHELL
|
|
233
|
+
→ Extract basename: /bin/zsh → 'zsh'
|
|
234
|
+
→ Common values: zsh, bash, fish, sh, dash
|
|
235
|
+
→ Else → 'unknown'
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## Data Flow
|
|
241
|
+
|
|
242
|
+
### Happy Path (Multi-IDE Selection)
|
|
243
|
+
|
|
244
|
+
```text
|
|
245
|
+
1. User runs: npx irismd@latest install
|
|
246
|
+
2. Compute distinct_id: SHA-256(os.hostname()) → "a1b2c3..."
|
|
247
|
+
3. Generate session_id: randomUUID() → "550e8400-..."
|
|
248
|
+
4. Detect shell: zsh
|
|
249
|
+
5. Send: installer_started { distinct_id, session_id, shell: 'zsh', ... }
|
|
250
|
+
6. User selects IDEs: claude-code, cursor, windsurf and confirms
|
|
251
|
+
7. Send: ides_confirmed { distinct_id, session_id, ide_count: 3, ides: [...] }
|
|
252
|
+
8. User selects flow: aidlc
|
|
253
|
+
9. Send: flow_selected { distinct_id, session_id, flow: 'aidlc' }
|
|
254
|
+
10. Installation completes for claude-code
|
|
255
|
+
11. Send: installation_completed { distinct_id, session_id, ide: 'claude-code', ... }
|
|
256
|
+
12. Installation completes for cursor
|
|
257
|
+
13. Send: installation_completed { distinct_id, session_id, ide: 'cursor', ... }
|
|
258
|
+
14. Installation completes for windsurf
|
|
259
|
+
15. Send: installation_completed { distinct_id, session_id, ide: 'windsurf', ... }
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Repeat User Path
|
|
263
|
+
|
|
264
|
+
```text
|
|
265
|
+
1. Same user runs installer again (same machine)
|
|
266
|
+
2. Compute distinct_id: SHA-256(os.hostname()) → "a1b2c3..." (SAME)
|
|
267
|
+
3. Generate new session_id: randomUUID() → "6ba7b810-..." (DIFFERENT)
|
|
268
|
+
4. Send: installer_started { distinct_id: 'a1b2c3...', session_id: '6ba7b810-...', ... }
|
|
269
|
+
5. Mixpanel associates with existing user profile
|
|
270
|
+
6. Can now see: this user has run installer 2+ times (2 session_ids)
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### Opt-Out Path
|
|
274
|
+
|
|
275
|
+
```text
|
|
276
|
+
1. User runs: SPECSMD_TELEMETRY_DISABLED=1 npx irismd@latest install
|
|
277
|
+
2. Analytics module detects env var
|
|
278
|
+
3. All tracking calls become no-ops
|
|
279
|
+
4. Installation proceeds normally
|
|
280
|
+
5. No events sent
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## Constraints
|
|
286
|
+
|
|
287
|
+
### Technical Constraints
|
|
288
|
+
|
|
289
|
+
- Must work offline (graceful degradation)
|
|
290
|
+
- Must not add noticeable latency (fire-and-forget)
|
|
291
|
+
- Must work across all platforms (macOS, Linux, Windows)
|
|
292
|
+
- Single dependency: `mixpanel` npm package
|
|
293
|
+
- No file system writes for analytics
|
|
294
|
+
|
|
295
|
+
### Privacy Constraints
|
|
296
|
+
|
|
297
|
+
- No PII collection
|
|
298
|
+
- Hostname salted + hashed with SHA-256 (not reversible)
|
|
299
|
+
- IP used for geolocation only, not stored
|
|
300
|
+
- No local persistence
|
|
301
|
+
|
|
302
|
+
### Operational Constraints
|
|
303
|
+
|
|
304
|
+
- Mixpanel free tier (1M events/month)
|
|
305
|
+
- No backend infrastructure needed
|
|
306
|
+
- Project token must be kept in source (acceptable for analytics)
|
|
307
|
+
|
|
308
|
+
---
|
|
309
|
+
|
|
310
|
+
## Quality Attributes
|
|
311
|
+
|
|
312
|
+
### Privacy
|
|
313
|
+
|
|
314
|
+
- Anonymous by design
|
|
315
|
+
- Machine ID is salted + hashed (SHA-256)
|
|
316
|
+
- No data written to disk
|
|
317
|
+
|
|
318
|
+
### Reliability
|
|
319
|
+
|
|
320
|
+
- Never break installation
|
|
321
|
+
- Silent failures
|
|
322
|
+
- Offline-capable
|
|
323
|
+
|
|
324
|
+
### Simplicity
|
|
325
|
+
|
|
326
|
+
- Single SDK dependency
|
|
327
|
+
- No custom backend
|
|
328
|
+
- No local storage
|
|
329
|
+
- Fire-and-forget pattern
|
|
330
|
+
|
|
331
|
+
### Trackability
|
|
332
|
+
|
|
333
|
+
- Same user identified across sessions
|
|
334
|
+
- Per-IDE install counts accurate
|
|
335
|
+
- Multi-IDE patterns visible
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
unit: analytics-tracker
|
|
3
|
+
intent: 007-installer-analytics
|
|
4
|
+
created: 2025-12-28T18:30:00Z
|
|
5
|
+
last_updated: 2025-12-28T18:30:00Z
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Construction Log: analytics-tracker
|
|
9
|
+
|
|
10
|
+
## Original Plan
|
|
11
|
+
|
|
12
|
+
**From Inception**: 1 bolt planned
|
|
13
|
+
**Planned Date**: 2025-12-28T12:00:00Z
|
|
14
|
+
|
|
15
|
+
| Bolt ID | Stories | Type |
|
|
16
|
+
|---------|---------|------|
|
|
17
|
+
| 016-analytics-tracker | 001-006 | simple-construction-bolt |
|
|
18
|
+
|
|
19
|
+
## Replanning History
|
|
20
|
+
|
|
21
|
+
| Date | Action | Change | Reason | Approved |
|
|
22
|
+
|------|--------|--------|--------|----------|
|
|
23
|
+
|
|
24
|
+
## Current Bolt Structure
|
|
25
|
+
|
|
26
|
+
| Bolt ID | Stories | Status | Changed |
|
|
27
|
+
|---------|---------|--------|---------|
|
|
28
|
+
| 016-analytics-tracker | 001-006 | ✅ complete | - |
|
|
29
|
+
|
|
30
|
+
## Execution History
|
|
31
|
+
|
|
32
|
+
| Date | Bolt | Event | Details |
|
|
33
|
+
|------|------|-------|---------|
|
|
34
|
+
| 2025-12-28T18:30:00Z | 016-analytics-tracker | started | Stage 1: Plan |
|
|
35
|
+
| 2025-12-28T18:35:00Z | 016-analytics-tracker | stage-complete | Plan → Implement |
|
|
36
|
+
| 2025-12-28T18:50:00Z | 016-analytics-tracker | stage-complete | Implement → Test |
|
|
37
|
+
| 2025-12-28T19:00:00Z | 016-analytics-tracker | completed | All 3 stages done |
|
|
38
|
+
|
|
39
|
+
## Execution Summary
|
|
40
|
+
|
|
41
|
+
| Metric | Value |
|
|
42
|
+
|--------|-------|
|
|
43
|
+
| Original bolts planned | 1 |
|
|
44
|
+
| Current bolt count | 1 |
|
|
45
|
+
| Bolts completed | 1 |
|
|
46
|
+
| Bolts in progress | 0 |
|
|
47
|
+
| Bolts remaining | 0 |
|
|
48
|
+
| Replanning events | 0 |
|
|
49
|
+
|
|
50
|
+
## Notes
|
|
51
|
+
|
|
52
|
+
Construction started for the analytics-tracker unit. Single bolt covers all 6 stories.
|