container-superposition 0.1.9 → 0.1.11

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.
Files changed (50) hide show
  1. package/README.md +3 -0
  2. package/dist/scripts/generate-schema.d.ts +14 -0
  3. package/dist/scripts/generate-schema.d.ts.map +1 -0
  4. package/dist/scripts/generate-schema.js +406 -0
  5. package/dist/scripts/generate-schema.js.map +1 -0
  6. package/dist/tool/cli/args.d.ts.map +1 -1
  7. package/dist/tool/cli/args.js +1 -1
  8. package/dist/tool/cli/args.js.map +1 -1
  9. package/dist/tool/commands/adopt.d.ts.map +1 -1
  10. package/dist/tool/commands/adopt.js +14 -20
  11. package/dist/tool/commands/adopt.js.map +1 -1
  12. package/dist/tool/questionnaire/composer.d.ts.map +1 -1
  13. package/dist/tool/questionnaire/composer.js +186 -2
  14. package/dist/tool/questionnaire/composer.js.map +1 -1
  15. package/dist/tool/readme/readme-generator.d.ts.map +1 -1
  16. package/dist/tool/readme/readme-generator.js +1 -1
  17. package/dist/tool/readme/readme-generator.js.map +1 -1
  18. package/dist/tool/schema/project-config.d.ts +8 -1
  19. package/dist/tool/schema/project-config.d.ts.map +1 -1
  20. package/dist/tool/schema/project-config.js +180 -6
  21. package/dist/tool/schema/project-config.js.map +1 -1
  22. package/dist/tool/schema/types.d.ts +51 -1
  23. package/dist/tool/schema/types.d.ts.map +1 -1
  24. package/docs/README.md +1 -0
  25. package/docs/overlays.md +40 -0
  26. package/docs/specs/019-project-mounts/spec.md +176 -0
  27. package/docs/specs/020-superposition-yml-schema.md +83 -0
  28. package/docs/specs/021-deterministic-generated-readme/spec.md +70 -0
  29. package/docs/superposition-yml.md +481 -0
  30. package/overlays/ansible/README.md +163 -0
  31. package/overlays/ansible/devcontainer.patch.json +14 -0
  32. package/overlays/ansible/overlay.yml +18 -0
  33. package/overlays/argocd/README.md +158 -0
  34. package/overlays/argocd/devcontainer.patch.json +9 -0
  35. package/overlays/argocd/overlay.yml +17 -0
  36. package/overlays/argocd/setup.sh +29 -0
  37. package/overlays/argocd/verify.sh +14 -0
  38. package/overlays/pi/README.md +141 -0
  39. package/overlays/pi/devcontainer.patch.json +6 -0
  40. package/overlays/pi/overlay.yml +15 -0
  41. package/overlays/pi/setup.sh +28 -0
  42. package/overlays/pi/verify.sh +23 -0
  43. package/overlays/task/README.md +47 -0
  44. package/overlays/task/devcontainer.patch.json +9 -0
  45. package/overlays/task/overlay.yml +16 -0
  46. package/overlays/task/setup.sh +29 -0
  47. package/overlays/task/verify.sh +14 -0
  48. package/package.json +2 -1
  49. package/tool/schema/config.schema.json +77 -2
  50. package/tool/schema/superposition.schema.json +569 -0
@@ -0,0 +1,158 @@
1
+ # Argo CD CLI Overlay
2
+
3
+ Adds the [`argocd`](https://argo-cd.readthedocs.io/) CLI for managing GitOps workflows with an Argo CD server — log in, inspect apps, trigger syncs, and manage rollouts without leaving your devcontainer.
4
+
5
+ ## Features
6
+
7
+ - **Argo CD CLI** — `argocd` client for login, app sync, rollback, and lifecycle operations
8
+ - **Release install** — binary downloaded from official Argo CD GitHub releases
9
+ - **Architecture-aware** — installs `amd64` or `arm64` automatically
10
+
11
+ ## How It Works
12
+
13
+ The `argocd` binary is downloaded from the official Argo CD GitHub releases page (`github.com/argoproj/argo-cd`) during devcontainer creation via `setup.sh`.
14
+
15
+ - Detects host architecture (`amd64` / `arm64`) automatically
16
+ - Downloads the matching pre-built binary and places it in `/usr/local/bin/argocd`
17
+ - No Argo CD server is run inside the devcontainer — the CLI connects to an external (or locally port-forwarded) Argo CD server
18
+
19
+ **Dependencies:** None required. Pair with `kubectl-helm` for full cluster access, and `k3d` or `kind` for local Kubernetes clusters where you can deploy Argo CD for testing.
20
+
21
+ ## Common Commands
22
+
23
+ ### Authentication
24
+
25
+ ```bash
26
+ # Login to an Argo CD server
27
+ argocd login argocd.example.com
28
+
29
+ # Login with TLS disabled (for local/dev servers)
30
+ argocd login localhost:8080 --insecure
31
+
32
+ # Login and save context (avoids re-entering credentials)
33
+ argocd login argocd.example.com --grpc-web
34
+
35
+ # Check current logged-in context
36
+ argocd context
37
+
38
+ # Switch context
39
+ argocd context my-cluster
40
+
41
+ # Logout
42
+ argocd logout argocd.example.com
43
+ ```
44
+
45
+ ### Application Management
46
+
47
+ ```bash
48
+ # List all applications
49
+ argocd app list
50
+
51
+ # Get detailed status of an app
52
+ argocd app get my-app
53
+
54
+ # Create an app (GitOps source)
55
+ argocd app create my-app \
56
+ --repo https://github.com/myorg/my-manifests.git \
57
+ --path k8s/overlays/dev \
58
+ --dest-server https://kubernetes.default.svc \
59
+ --dest-namespace my-app
60
+
61
+ # Sync (deploy) an app
62
+ argocd app sync my-app
63
+
64
+ # Wait for sync to complete
65
+ argocd app wait my-app --sync
66
+
67
+ # Delete an app (without deleting cluster resources)
68
+ argocd app delete my-app
69
+
70
+ # Delete an app and all managed cluster resources
71
+ argocd app delete my-app --cascade
72
+ ```
73
+
74
+ ### Sync Operations
75
+
76
+ ```bash
77
+ # Sync only specific resources
78
+ argocd app sync my-app --resource apps:Deployment:my-app
79
+
80
+ # Force sync (ignores resource health)
81
+ argocd app sync my-app --force
82
+
83
+ # Dry-run sync (show diff without applying)
84
+ argocd app diff my-app
85
+
86
+ # Rollback to a previous revision
87
+ argocd app rollback my-app 3
88
+
89
+ # View app history
90
+ argocd app history my-app
91
+ ```
92
+
93
+ ### Projects & RBAC
94
+
95
+ ```bash
96
+ # List projects
97
+ argocd proj list
98
+
99
+ # Create a project
100
+ argocd proj create my-project \
101
+ --description "My project" \
102
+ --src https://github.com/myorg/my-manifests.git \
103
+ --dest https://kubernetes.default.svc,my-namespace
104
+
105
+ # List project roles
106
+ argocd proj role list my-project
107
+ ```
108
+
109
+ ## Local Port-Forward Workflow
110
+
111
+ When testing Argo CD in a local cluster (k3d / kind):
112
+
113
+ ```bash
114
+ # Install Argo CD in the cluster
115
+ kubectl create namespace argocd
116
+ kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
117
+
118
+ # Wait for pods to be ready
119
+ kubectl -n argocd wait --for=condition=ready pod -l app.kubernetes.io/name=argocd-server --timeout=120s
120
+
121
+ # Port-forward the API server
122
+ kubectl -n argocd port-forward svc/argocd-server 8080:443 &
123
+
124
+ # Get the initial admin password
125
+ argocd admin initial-password -n argocd
126
+
127
+ # Login
128
+ argocd login localhost:8080 --insecure
129
+ ```
130
+
131
+ ## Use Cases
132
+
133
+ - **GitOps deployments** — Sync Kubernetes manifests from Git to a cluster via Argo CD
134
+ - **Multi-environment promotion** — Manage dev/staging/production app variants with app-of-apps patterns
135
+ - **Rollback workflows** — Inspect history and revert to a previous known-good revision
136
+ - **Local GitOps testing** — Deploy Argo CD to a local `k3d` or `kind` cluster to test GitOps pipelines without a cloud environment
137
+ - **Drift detection** — Use `argocd app diff` to detect config drift before syncing
138
+
139
+ **Integrates well with:**
140
+
141
+ - `kubectl-helm` — Kubernetes CLI and Helm for inspecting or patching resources managed by Argo CD
142
+ - `k3d` — Lightweight local clusters for GitOps development and testing
143
+ - `kind` — Full-conformance local clusters for Argo CD testing
144
+ - `terraform` — Provision the cluster and bootstrap Argo CD with Terraform, then manage apps with the CLI
145
+
146
+ ## References
147
+
148
+ - [Argo CD Documentation](https://argo-cd.readthedocs.io/)
149
+ - [Argo CD CLI Reference](https://argo-cd.readthedocs.io/en/stable/user-guide/commands/argocd/)
150
+ - [Argo CD GitHub Releases](https://github.com/argoproj/argo-cd/releases)
151
+ - [Argo CD Getting Started](https://argo-cd.readthedocs.io/en/stable/getting_started/)
152
+ - [App of Apps Pattern](https://argo-cd.readthedocs.io/en/stable/operator-manual/cluster-bootstrapping/)
153
+
154
+ **Related Overlays:**
155
+
156
+ - [`kubectl-helm`](../kubectl-helm/README.md) — Kubernetes CLI and Helm package manager
157
+ - [`k3d`](../k3d/README.md) — Lightweight local Kubernetes clusters
158
+ - [`kind`](../kind/README.md) — Full-conformance local Kubernetes clusters
@@ -0,0 +1,9 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.base.schema.json",
3
+ "postCreateCommand": {
4
+ "setup-argocd": "bash .devcontainer/scripts/setup-argocd.sh"
5
+ },
6
+ "postStartCommand": {
7
+ "verify-argocd": "bash .devcontainer/scripts/verify-argocd.sh"
8
+ }
9
+ }
@@ -0,0 +1,17 @@
1
+ id: argocd
2
+ name: Argo CD CLI
3
+ description: GitOps CLI for managing Argo CD applications and sync workflows
4
+ category: cloud
5
+ supports: []
6
+ requires: []
7
+ suggests:
8
+ - kubectl-helm
9
+ - k3d
10
+ - kind
11
+ conflicts: []
12
+ tags:
13
+ - cloud
14
+ - kubernetes
15
+ - gitops
16
+ - argocd
17
+ ports: []
@@ -0,0 +1,29 @@
1
+ #!/bin/bash
2
+ # Setup script for Argo CD CLI
3
+
4
+ set -e
5
+
6
+ echo "🔧 Setting up Argo CD CLI..."
7
+
8
+ # Source shared setup utilities
9
+ # shellcheck source=setup-utils.sh
10
+ source "$(dirname "${BASH_SOURCE[0]}")/setup-utils.sh"
11
+
12
+ detect_arch
13
+
14
+ ARGOCD_VERSION="${ARGOCD_VERSION:-v2.14.12}"
15
+ echo "📦 Installing argocd ${ARGOCD_VERSION}..."
16
+
17
+ install_binary \
18
+ "https://github.com/argoproj/argo-cd/releases/download/${ARGOCD_VERSION}/argocd-linux-${CS_ARCH}" \
19
+ "argocd"
20
+
21
+ if command -v argocd >/dev/null 2>&1; then
22
+ echo "✅ Argo CD CLI installed successfully"
23
+ argocd version --client --short || argocd version --client
24
+ else
25
+ echo "❌ Argo CD CLI installation failed"
26
+ exit 1
27
+ fi
28
+
29
+ echo "✅ Argo CD CLI setup complete"
@@ -0,0 +1,14 @@
1
+ #!/bin/bash
2
+ # Verification script for Argo CD CLI overlay
3
+
4
+ set -e
5
+
6
+ echo "🔍 Verifying Argo CD CLI overlay..."
7
+
8
+ if command -v argocd >/dev/null 2>&1; then
9
+ argocd version --client --short || argocd version --client
10
+ echo "✅ Argo CD CLI is installed"
11
+ else
12
+ echo "❌ Argo CD CLI is not installed"
13
+ exit 1
14
+ fi
@@ -0,0 +1,141 @@
1
+ # Pi Overlay
2
+
3
+ Adds the [Pi](https://pi.dev) terminal coding agent (`pi`) — a minimal, open-source, self-extensible AI coding harness that lets you use LLMs directly in your terminal to read, write, edit, and run code.
4
+
5
+ ## What is Pi?
6
+
7
+ Pi is a deliberately minimal terminal coding agent. Unlike heavier AI coding tools, Pi keeps its core tiny and pushes everything extra (MCP, sub-agents, themes, prompt templates) to a TypeScript extension and package system. It supports a wide range of LLM providers, including Anthropic Claude, OpenAI GPT, Google Gemini, DeepSeek, Mistral, Groq, and many more.
8
+
9
+ ## Features
10
+
11
+ - **Interactive TUI** — Four-panel terminal UI with file reference (`@`), inline shell commands (`!cmd`), and message queueing
12
+ - **Multi-provider LLM support** — Anthropic, OpenAI, Google Gemini, DeepSeek, Mistral, Groq, xAI, OpenRouter, Azure OpenAI, Amazon Bedrock, GitHub Copilot, and more
13
+ - **Built-in tools** — `read`, `write`, `edit`, `bash`, `grep`, `find`, `ls`
14
+ - **Session management** — Auto-saved sessions with branching, forking, compaction, and resumption
15
+ - **Non-interactive mode** — `pi -p "prompt"` for scripted use or CI pipelines
16
+ - **Extensible** — TypeScript extensions, Skills (SKILL.md), prompt templates, and pi packages
17
+
18
+ ## Installation
19
+
20
+ This overlay installs Pi via npm (`@earendil-works/pi-coding-agent`), which is the same package installed by the official installer at [pi.dev/install.sh](https://pi.dev/install.sh).
21
+
22
+ ## How It Works
23
+
24
+ This overlay installs `@earendil-works/pi-coding-agent` globally via npm, making the `pi` command available in your devcontainer.
25
+
26
+ ## Common Commands
27
+
28
+ ```bash
29
+ # Start an interactive session in the current project
30
+ pi
31
+
32
+ # One-shot non-interactive prompt
33
+ pi -p "Summarize this codebase"
34
+
35
+ # Pipe content to Pi
36
+ cat README.md | pi -p "Summarize this"
37
+
38
+ # Resume the last session
39
+ pi /resume
40
+
41
+ # Check version
42
+ pi --version
43
+ ```
44
+
45
+ ## Use Cases
46
+
47
+ - **Terminal-first coding assistant** — Use Pi interactively while editing and debugging from the CLI
48
+ - **Automated one-shot tasks** — Run `pi -p "..."` in scripts or CI pipelines
49
+ - **Multi-provider flexibility** — Switch between Anthropic, OpenAI, Gemini, and other supported providers
50
+
51
+ ## Authentication
52
+
53
+ Set one or more provider API keys as environment variables:
54
+
55
+ ```bash
56
+ # Anthropic Claude
57
+ export ANTHROPIC_API_KEY=sk-ant-...
58
+
59
+ # OpenAI
60
+ export OPENAI_API_KEY=sk-...
61
+
62
+ # Google Gemini
63
+ export GEMINI_API_KEY=...
64
+ ```
65
+
66
+ Alternatively, use the interactive login command inside Pi:
67
+
68
+ ```bash
69
+ /login
70
+ ```
71
+
72
+ ## Configuration
73
+
74
+ Settings are stored in `~/.pi/agent/settings.json` (global) or `.pi/settings.json` (project-local):
75
+
76
+ ```json
77
+ {
78
+ "defaultProvider": "anthropic",
79
+ "defaultModel": "claude-sonnet-4-20250514",
80
+ "compaction": { "enabled": true }
81
+ }
82
+ ```
83
+
84
+ | Environment Variable | Description |
85
+ | ----------------------- | -------------------------------------------------- |
86
+ | `ANTHROPIC_API_KEY` | Anthropic Claude API key |
87
+ | `OPENAI_API_KEY` | OpenAI API key |
88
+ | `GEMINI_API_KEY` | Google Gemini API key |
89
+ | `PI_OFFLINE` | Disable startup network operations |
90
+ | `PI_SKIP_VERSION_CHECK` | Skip automatic version update check |
91
+ | `PI_CODING_AGENT_DIR` | Override config directory (default: `~/.pi/agent`) |
92
+
93
+ ## Verification
94
+
95
+ ```bash
96
+ bash .devcontainer/scripts/verify-pi.sh
97
+ ```
98
+
99
+ ## Usage
100
+
101
+ ### Interactive session
102
+
103
+ Run `pi` in any project directory to start an interactive TUI session. Use `@` to reference files, `!cmd` to run a shell command and send its output to the LLM, and `/help` to list available slash commands.
104
+
105
+ ### Non-interactive / CI mode
106
+
107
+ ```bash
108
+ # Print response and exit
109
+ pi -p "What tests should I write for this function?"
110
+
111
+ # Output all events as JSONL (for scripting or piping)
112
+ pi --mode json -p "List TODOs in this repo"
113
+ ```
114
+
115
+ ### Extending Pi
116
+
117
+ Pi supports TypeScript extensions, Skills, and npm/git packages:
118
+
119
+ ```bash
120
+ # Install a pi package
121
+ pi install <package-name>
122
+
123
+ # List installed packages
124
+ pi /packages
125
+ ```
126
+
127
+ ## References
128
+
129
+ - [Pi Website](https://pi.dev)
130
+ - [GitHub Repository](https://github.com/earendil-works/pi)
131
+ - [Usage Documentation](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/usage.md)
132
+ - [Provider Documentation](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/providers.md)
133
+ - [Extensions Documentation](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/extensions.md)
134
+
135
+ **Related Overlays:**
136
+
137
+ - `nodejs` — Required for npm-based installation
138
+ - `claude-code` — Anthropic Claude Code CLI (alternative AI assistant)
139
+ - `codex` — OpenAI Codex CLI (alternative AI assistant)
140
+ - `gemini-cli` — Google Gemini CLI (alternative AI assistant)
141
+ - `opencode` — opencode AI coding agent (alternative)
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.base.schema.json",
3
+ "postCreateCommand": {
4
+ "setup-pi": "bash .devcontainer/scripts/setup-pi.sh"
5
+ }
6
+ }
@@ -0,0 +1,15 @@
1
+ id: pi
2
+ name: Pi
3
+ description: Minimal terminal coding agent with multi-provider LLM support
4
+ category: dev
5
+ supports: []
6
+ requires:
7
+ - nodejs
8
+ suggests: []
9
+ conflicts: []
10
+ tags:
11
+ - dev
12
+ - ai
13
+ - coding-agent
14
+ - llm
15
+ ports: []
@@ -0,0 +1,28 @@
1
+ #!/bin/bash
2
+ # pi setup script - Install Pi terminal coding agent
3
+
4
+ set -e
5
+
6
+ # Source shared setup utilities (provides load_nvm)
7
+ # shellcheck source=setup-utils.sh
8
+ source "$(dirname "${BASH_SOURCE[0]}")/setup-utils.sh"
9
+ load_nvm
10
+
11
+ echo "📦 Installing Pi terminal coding agent..."
12
+
13
+ # Install @earendil-works/pi-coding-agent globally via npm
14
+ # (same package installed by curl -fsSL https://pi.dev/install.sh | sh)
15
+ npm install -g @earendil-works/pi-coding-agent
16
+
17
+ # Verify installation
18
+ if command -v pi &>/dev/null; then
19
+ echo "✓ Pi installed successfully: $(pi --version 2>/dev/null || echo 'installed')"
20
+ else
21
+ echo "✗ Pi installation failed"
22
+ exit 1
23
+ fi
24
+
25
+ echo "✓ pi setup complete"
26
+ echo "ℹ️ Pi terminal coding agent: https://pi.dev"
27
+ echo "ℹ️ GitHub: https://github.com/earendil-works/pi"
28
+ echo "ℹ️ Run 'pi --help' to get started"
@@ -0,0 +1,23 @@
1
+ #!/bin/bash
2
+ # pi overlay verification script
3
+
4
+ set -e
5
+
6
+ echo "🔍 Verifying pi overlay setup..."
7
+
8
+ # Check if pi CLI is installed
9
+ if ! command -v pi &>/dev/null; then
10
+ echo "✗ pi is not installed or not in PATH"
11
+ exit 1
12
+ fi
13
+
14
+ echo "✓ pi is installed: $(pi --version 2>/dev/null || echo 'installed')"
15
+
16
+ echo ""
17
+ echo "✅ pi overlay verification complete!"
18
+ echo ""
19
+ echo "💡 Tips:"
20
+ echo " - Run 'pi' in any project directory to start an interactive session"
21
+ echo " - Run 'pi --help' to see available commands"
22
+ echo " - Run 'pi -p \"<prompt>\"' for a non-interactive one-shot prompt"
23
+ echo " - Set ANTHROPIC_API_KEY, OPENAI_API_KEY, or GEMINI_API_KEY to authenticate"
@@ -0,0 +1,47 @@
1
+ # Taskfile (task) Overlay
2
+
3
+ Adds [Task](https://taskfile.dev/) (`task`) to run project automation via `Taskfile.yml`.
4
+
5
+ ## Features
6
+
7
+ - **Task CLI** — fast, modern task runner (`task`)
8
+ - **Taskfile workflows** — declarative task definitions with dependencies and variables
9
+ - **Architecture-aware install** — installs amd64 or arm64 binary automatically
10
+
11
+ ## Quick Start
12
+
13
+ ```bash
14
+ task --version
15
+ task --list
16
+ ```
17
+
18
+ Create a basic `Taskfile.yml`:
19
+
20
+ ```yaml
21
+ version: '3'
22
+
23
+ tasks:
24
+ default:
25
+ cmds:
26
+ - task --list
27
+
28
+ lint:
29
+ cmds:
30
+ - npm run lint
31
+
32
+ test:
33
+ cmds:
34
+ - npm test
35
+ ```
36
+
37
+ Run tasks:
38
+
39
+ ```bash
40
+ task lint
41
+ task test
42
+ ```
43
+
44
+ ## Suggested Pairings
45
+
46
+ - `modern-cli-tools` — useful companion CLIs for day-to-day development
47
+ - `kubectl-helm` — pair task automation with Kubernetes workflows
@@ -0,0 +1,9 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.base.schema.json",
3
+ "postCreateCommand": {
4
+ "setup-task": "bash .devcontainer/scripts/setup-task.sh"
5
+ },
6
+ "postStartCommand": {
7
+ "verify-task": "bash .devcontainer/scripts/verify-task.sh"
8
+ }
9
+ }
@@ -0,0 +1,16 @@
1
+ id: task
2
+ name: Taskfile (task)
3
+ description: Modern task runner and build tool using Taskfiles
4
+ category: dev
5
+ supports: []
6
+ requires: []
7
+ suggests:
8
+ - modern-cli-tools
9
+ - kubectl-helm
10
+ conflicts: []
11
+ tags:
12
+ - dev
13
+ - automation
14
+ - taskfile
15
+ - build
16
+ ports: []
@@ -0,0 +1,29 @@
1
+ #!/bin/bash
2
+ # Setup script for Taskfile (task)
3
+
4
+ set -e
5
+
6
+ echo "🔧 Setting up Taskfile (task)..."
7
+
8
+ # Source shared setup utilities
9
+ # shellcheck source=setup-utils.sh
10
+ source "$(dirname "${BASH_SOURCE[0]}")/setup-utils.sh"
11
+
12
+ detect_arch
13
+
14
+ TASK_VERSION="${TASK_VERSION:-v3.45.4}"
15
+ echo "📦 Installing task ${TASK_VERSION}..."
16
+
17
+ install_binary_from_tar \
18
+ "https://github.com/go-task/task/releases/download/${TASK_VERSION}/task_linux_${CS_ARCH}.tar.gz" \
19
+ "task"
20
+
21
+ if command -v task >/dev/null 2>&1; then
22
+ echo "✅ task installed successfully"
23
+ task --version
24
+ else
25
+ echo "❌ task installation failed"
26
+ exit 1
27
+ fi
28
+
29
+ echo "✅ Taskfile setup complete"
@@ -0,0 +1,14 @@
1
+ #!/bin/bash
2
+ # Verification script for Taskfile (task) overlay
3
+
4
+ set -e
5
+
6
+ echo "🔍 Verifying Taskfile overlay..."
7
+
8
+ if command -v task >/dev/null 2>&1; then
9
+ task --version
10
+ echo "✅ task is installed"
11
+ else
12
+ echo "❌ task is not installed"
13
+ exit 1
14
+ fi
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "container-superposition",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "description": "Solution-ready devcontainer templates and features with guided initialization",
5
5
  "type": "module",
6
6
  "main": "dist/scripts/init.js",
@@ -17,6 +17,7 @@
17
17
  "test:integration": "INTEGRATION=true vitest run tool/__tests__/overlay-features-integration.test.ts",
18
18
  "test:smoke": "bash scripts/test.sh",
19
19
  "docs:generate": "tsx docs/generate-docs.ts && prettier --write docs/overlays.md",
20
+ "schema:generate": "tsx scripts/generate-schema.ts && prettier --write tool/schema/superposition.schema.json",
20
21
  "lint": "tsc --noEmit && npm run format:check",
21
22
  "lint:fix": "npm run format",
22
23
  "format": "prettier --write \"**/*.{ts,js,json,md,yaml,yml}\"",