opencodekit 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 +258 -0
- package/dist/index.js +3391 -0
- package/dist/template/.opencode/.env.example +193 -0
- package/dist/template/.opencode/AGENTS.md +214 -0
- package/dist/template/.opencode/README.md +269 -0
- package/dist/template/.opencode/agent/build.md +75 -0
- package/dist/template/.opencode/agent/explore.md +66 -0
- package/dist/template/.opencode/agent/planner.md +83 -0
- package/dist/template/.opencode/agent/review.md +90 -0
- package/dist/template/.opencode/agent/rush.md +85 -0
- package/dist/template/.opencode/agent/scout.md +93 -0
- package/dist/template/.opencode/command/analyze-project.md +39 -0
- package/dist/template/.opencode/command/brainstorm.md +11 -0
- package/dist/template/.opencode/command/commit.md +11 -0
- package/dist/template/.opencode/command/create.md +118 -0
- package/dist/template/.opencode/command/design.md +15 -0
- package/dist/template/.opencode/command/finish.md +233 -0
- package/dist/template/.opencode/command/fix-ci.md +20 -0
- package/dist/template/.opencode/command/fix-types.md +10 -0
- package/dist/template/.opencode/command/fix-ui.md +22 -0
- package/dist/template/.opencode/command/fix.md +22 -0
- package/dist/template/.opencode/command/handoff.md +146 -0
- package/dist/template/.opencode/command/implement.md +167 -0
- package/dist/template/.opencode/command/import-plan.md +188 -0
- package/dist/template/.opencode/command/integration-test.md +36 -0
- package/dist/template/.opencode/command/issue.md +41 -0
- package/dist/template/.opencode/command/plan.md +158 -0
- package/dist/template/.opencode/command/pr.md +36 -0
- package/dist/template/.opencode/command/quick-build.md +13 -0
- package/dist/template/.opencode/command/research-and-implement.md +21 -0
- package/dist/template/.opencode/command/research-ui.md +32 -0
- package/dist/template/.opencode/command/research.md +153 -0
- package/dist/template/.opencode/command/resume.md +127 -0
- package/dist/template/.opencode/command/review-codebase.md +13 -0
- package/dist/template/.opencode/command/skill-create.md +29 -0
- package/dist/template/.opencode/command/skill-optimize.md +28 -0
- package/dist/template/.opencode/command/status.md +109 -0
- package/dist/template/.opencode/command/ui-review.md +28 -0
- package/dist/template/.opencode/dcp.jsonc +34 -0
- package/dist/template/.opencode/memory/README.md +128 -0
- package/dist/template/.opencode/memory/_templates/handoff.md +33 -0
- package/dist/template/.opencode/memory/_templates/research.md +29 -0
- package/dist/template/.opencode/memory/_templates/task-prd.md +43 -0
- package/dist/template/.opencode/memory/_templates/task-review.md +73 -0
- package/dist/template/.opencode/memory/_templates/task-spec.md +71 -0
- package/dist/template/.opencode/memory/design-guidelines.md +281 -0
- package/dist/template/.opencode/memory/handoffs/README.md +83 -0
- package/dist/template/.opencode/opencode.json +469 -0
- package/dist/template/.opencode/package.json +23 -0
- package/dist/template/.opencode/pickle-thinker.jsonc +11 -0
- package/dist/template/.opencode/plugin/README.md +162 -0
- package/dist/template/.opencode/plugin/notification.ts +88 -0
- package/dist/template/.opencode/plugin/sessions.ts +434 -0
- package/dist/template/.opencode/plugin/superpowers.ts +332 -0
- package/dist/template/.opencode/plugin/tsconfig.json +15 -0
- package/dist/template/.opencode/superpowers/.claude/settings.local.json +141 -0
- package/dist/template/.opencode/superpowers/.claude-plugin/marketplace.json +20 -0
- package/dist/template/.opencode/superpowers/.claude-plugin/plugin.json +13 -0
- package/dist/template/.opencode/superpowers/.codex/INSTALL.md +35 -0
- package/dist/template/.opencode/superpowers/.codex/superpowers-bootstrap.md +33 -0
- package/dist/template/.opencode/superpowers/.codex/superpowers-codex +267 -0
- package/dist/template/.opencode/superpowers/.github/FUNDING.yml +3 -0
- package/dist/template/.opencode/superpowers/.opencode/INSTALL.md +135 -0
- package/dist/template/.opencode/superpowers/.opencode/plugin/superpowers.js +215 -0
- package/dist/template/.opencode/superpowers/LICENSE +21 -0
- package/dist/template/.opencode/superpowers/README.md +165 -0
- package/dist/template/.opencode/superpowers/RELEASE-NOTES.md +493 -0
- package/dist/template/.opencode/superpowers/agents/code-reviewer.md +48 -0
- package/dist/template/.opencode/superpowers/commands/brainstorm.md +5 -0
- package/dist/template/.opencode/superpowers/commands/execute-plan.md +5 -0
- package/dist/template/.opencode/superpowers/commands/write-plan.md +5 -0
- package/dist/template/.opencode/superpowers/docs/README.codex.md +153 -0
- package/dist/template/.opencode/superpowers/docs/README.opencode.md +234 -0
- package/dist/template/.opencode/superpowers/docs/plans/2025-11-22-opencode-support-design.md +294 -0
- package/dist/template/.opencode/superpowers/docs/plans/2025-11-22-opencode-support-implementation.md +1095 -0
- package/dist/template/.opencode/superpowers/hooks/hooks.json +15 -0
- package/dist/template/.opencode/superpowers/hooks/session-start.sh +34 -0
- package/dist/template/.opencode/superpowers/lib/skills-core.js +208 -0
- package/dist/template/.opencode/superpowers/skills/brainstorming/SKILL.md +54 -0
- package/dist/template/.opencode/superpowers/skills/condition-based-waiting/SKILL.md +120 -0
- package/dist/template/.opencode/superpowers/skills/condition-based-waiting/example.ts +158 -0
- package/dist/template/.opencode/superpowers/skills/defense-in-depth/SKILL.md +127 -0
- package/dist/template/.opencode/superpowers/skills/dispatching-parallel-agents/SKILL.md +180 -0
- package/dist/template/.opencode/superpowers/skills/executing-plans/SKILL.md +76 -0
- package/dist/template/.opencode/superpowers/skills/finishing-a-development-branch/SKILL.md +200 -0
- package/dist/template/.opencode/superpowers/skills/frontend-aesthetics/SKILL.md +137 -0
- package/dist/template/.opencode/superpowers/skills/gemini-large-context/SKILL.md +205 -0
- package/dist/template/.opencode/superpowers/skills/receiving-code-review/SKILL.md +209 -0
- package/dist/template/.opencode/superpowers/skills/requesting-code-review/SKILL.md +105 -0
- package/dist/template/.opencode/superpowers/skills/requesting-code-review/code-reviewer.md +146 -0
- package/dist/template/.opencode/superpowers/skills/root-cause-tracing/SKILL.md +174 -0
- package/dist/template/.opencode/superpowers/skills/root-cause-tracing/find-polluter.sh +63 -0
- package/dist/template/.opencode/superpowers/skills/sharing-skills/SKILL.md +194 -0
- package/dist/template/.opencode/superpowers/skills/subagent-driven-development/SKILL.md +189 -0
- package/dist/template/.opencode/superpowers/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/dist/template/.opencode/superpowers/skills/systematic-debugging/SKILL.md +295 -0
- package/dist/template/.opencode/superpowers/skills/systematic-debugging/test-academic.md +14 -0
- package/dist/template/.opencode/superpowers/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/dist/template/.opencode/superpowers/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/dist/template/.opencode/superpowers/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/dist/template/.opencode/superpowers/skills/test-driven-development/SKILL.md +364 -0
- package/dist/template/.opencode/superpowers/skills/testing-anti-patterns/SKILL.md +302 -0
- package/dist/template/.opencode/superpowers/skills/testing-skills-with-subagents/SKILL.md +387 -0
- package/dist/template/.opencode/superpowers/skills/testing-skills-with-subagents/examples/CLAUDE_MD_TESTING.md +189 -0
- package/dist/template/.opencode/superpowers/skills/ui-ux-research/SKILL.md +191 -0
- package/dist/template/.opencode/superpowers/skills/using-git-worktrees/SKILL.md +213 -0
- package/dist/template/.opencode/superpowers/skills/using-superpowers/SKILL.md +101 -0
- package/dist/template/.opencode/superpowers/skills/verification-before-completion/SKILL.md +139 -0
- package/dist/template/.opencode/superpowers/skills/writing-plans/SKILL.md +116 -0
- package/dist/template/.opencode/superpowers/skills/writing-skills/SKILL.md +622 -0
- package/dist/template/.opencode/superpowers/skills/writing-skills/anthropic-best-practices.md +1150 -0
- package/dist/template/.opencode/superpowers/skills/writing-skills/graphviz-conventions.dot +172 -0
- package/dist/template/.opencode/superpowers/skills/writing-skills/persuasion-principles.md +187 -0
- package/dist/template/.opencode/superpowers/tests/opencode/run-tests.sh +165 -0
- package/dist/template/.opencode/superpowers/tests/opencode/setup.sh +73 -0
- package/dist/template/.opencode/superpowers/tests/opencode/test-plugin-loading.sh +81 -0
- package/dist/template/.opencode/superpowers/tests/opencode/test-priority.sh +198 -0
- package/dist/template/.opencode/superpowers/tests/opencode/test-skills-core.sh +440 -0
- package/dist/template/.opencode/superpowers/tests/opencode/test-tools.sh +104 -0
- package/dist/template/.opencode/tool/memory-read.ts +66 -0
- package/dist/template/.opencode/tool/memory-update.ts +61 -0
- package/dist/template/.opencode/tsconfig.json +21 -0
- package/package.json +52 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Test: Tools Functionality
|
|
3
|
+
# Verifies that use_skill and find_skills tools work correctly
|
|
4
|
+
# NOTE: These tests require OpenCode to be installed and configured
|
|
5
|
+
set -euo pipefail
|
|
6
|
+
|
|
7
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
8
|
+
|
|
9
|
+
echo "=== Test: Tools Functionality ==="
|
|
10
|
+
|
|
11
|
+
# Source setup to create isolated environment
|
|
12
|
+
source "$SCRIPT_DIR/setup.sh"
|
|
13
|
+
|
|
14
|
+
# Trap to cleanup on exit
|
|
15
|
+
trap cleanup_test_env EXIT
|
|
16
|
+
|
|
17
|
+
# Check if opencode is available
|
|
18
|
+
if ! command -v opencode &> /dev/null; then
|
|
19
|
+
echo " [SKIP] OpenCode not installed - skipping integration tests"
|
|
20
|
+
echo " To run these tests, install OpenCode: https://opencode.ai"
|
|
21
|
+
exit 0
|
|
22
|
+
fi
|
|
23
|
+
|
|
24
|
+
# Test 1: Test find_skills tool via direct invocation
|
|
25
|
+
echo "Test 1: Testing find_skills tool..."
|
|
26
|
+
echo " Running opencode with find_skills request..."
|
|
27
|
+
|
|
28
|
+
# Use timeout to prevent hanging, capture both stdout and stderr
|
|
29
|
+
output=$(timeout 60s opencode run --print-logs "Use the find_skills tool to list available skills. Just call the tool and show me the raw output." 2>&1) || {
|
|
30
|
+
exit_code=$?
|
|
31
|
+
if [ $exit_code -eq 124 ]; then
|
|
32
|
+
echo " [FAIL] OpenCode timed out after 60s"
|
|
33
|
+
exit 1
|
|
34
|
+
fi
|
|
35
|
+
echo " [WARN] OpenCode returned non-zero exit code: $exit_code"
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
# Check for expected patterns in output
|
|
39
|
+
if echo "$output" | grep -qi "superpowers:brainstorming\|superpowers:using-superpowers\|Available skills"; then
|
|
40
|
+
echo " [PASS] find_skills tool discovered superpowers skills"
|
|
41
|
+
else
|
|
42
|
+
echo " [FAIL] find_skills did not return expected skills"
|
|
43
|
+
echo " Output was:"
|
|
44
|
+
echo "$output" | head -50
|
|
45
|
+
exit 1
|
|
46
|
+
fi
|
|
47
|
+
|
|
48
|
+
# Check if personal test skill was found
|
|
49
|
+
if echo "$output" | grep -qi "personal-test"; then
|
|
50
|
+
echo " [PASS] find_skills found personal test skill"
|
|
51
|
+
else
|
|
52
|
+
echo " [WARN] personal test skill not found in output (may be ok if tool returned subset)"
|
|
53
|
+
fi
|
|
54
|
+
|
|
55
|
+
# Test 2: Test use_skill tool
|
|
56
|
+
echo ""
|
|
57
|
+
echo "Test 2: Testing use_skill tool..."
|
|
58
|
+
echo " Running opencode with use_skill request..."
|
|
59
|
+
|
|
60
|
+
output=$(timeout 60s opencode run --print-logs "Use the use_skill tool to load the personal-test skill and show me what you get." 2>&1) || {
|
|
61
|
+
exit_code=$?
|
|
62
|
+
if [ $exit_code -eq 124 ]; then
|
|
63
|
+
echo " [FAIL] OpenCode timed out after 60s"
|
|
64
|
+
exit 1
|
|
65
|
+
fi
|
|
66
|
+
echo " [WARN] OpenCode returned non-zero exit code: $exit_code"
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
# Check for the skill marker we embedded
|
|
70
|
+
if echo "$output" | grep -qi "PERSONAL_SKILL_MARKER_12345\|Personal Test Skill\|Launching skill"; then
|
|
71
|
+
echo " [PASS] use_skill loaded personal-test skill content"
|
|
72
|
+
else
|
|
73
|
+
echo " [FAIL] use_skill did not load personal-test skill correctly"
|
|
74
|
+
echo " Output was:"
|
|
75
|
+
echo "$output" | head -50
|
|
76
|
+
exit 1
|
|
77
|
+
fi
|
|
78
|
+
|
|
79
|
+
# Test 3: Test use_skill with superpowers: prefix
|
|
80
|
+
echo ""
|
|
81
|
+
echo "Test 3: Testing use_skill with superpowers: prefix..."
|
|
82
|
+
echo " Running opencode with superpowers:brainstorming skill..."
|
|
83
|
+
|
|
84
|
+
output=$(timeout 60s opencode run --print-logs "Use the use_skill tool to load superpowers:brainstorming and tell me the first few lines of what you received." 2>&1) || {
|
|
85
|
+
exit_code=$?
|
|
86
|
+
if [ $exit_code -eq 124 ]; then
|
|
87
|
+
echo " [FAIL] OpenCode timed out after 60s"
|
|
88
|
+
exit 1
|
|
89
|
+
fi
|
|
90
|
+
echo " [WARN] OpenCode returned non-zero exit code: $exit_code"
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
# Check for expected content from brainstorming skill
|
|
94
|
+
if echo "$output" | grep -qi "brainstorming\|Launching skill\|skill.*loaded"; then
|
|
95
|
+
echo " [PASS] use_skill loaded superpowers:brainstorming skill"
|
|
96
|
+
else
|
|
97
|
+
echo " [FAIL] use_skill did not load superpowers:brainstorming correctly"
|
|
98
|
+
echo " Output was:"
|
|
99
|
+
echo "$output" | head -50
|
|
100
|
+
exit 1
|
|
101
|
+
fi
|
|
102
|
+
|
|
103
|
+
echo ""
|
|
104
|
+
echo "=== All tools tests passed ==="
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { tool } from "@opencode-ai/plugin";
|
|
2
|
+
import fs from "fs/promises";
|
|
3
|
+
import path from "path";
|
|
4
|
+
|
|
5
|
+
export default tool({
|
|
6
|
+
description:
|
|
7
|
+
"Read memory files for persistent cross-session context. Returns current project state, learnings, and active tasks. Supports subdirectories (e.g., 'research/opencode-sessions').",
|
|
8
|
+
args: {
|
|
9
|
+
file: tool.schema
|
|
10
|
+
.string()
|
|
11
|
+
.optional()
|
|
12
|
+
.describe(
|
|
13
|
+
"Memory file to read: handoffs/YYYY-MM-DD-phase, research/YYYY-MM-DD-topic, _templates/task-prd, _templates/task-spec, _templates/task-review, _templates/research, _templates/handoff",
|
|
14
|
+
),
|
|
15
|
+
},
|
|
16
|
+
execute: async (args: { file?: string }) => {
|
|
17
|
+
const fileName = args.file || "memory";
|
|
18
|
+
|
|
19
|
+
// Normalize: strip .md extension if present
|
|
20
|
+
const normalizedFile = fileName.replace(/\.md$/i, "");
|
|
21
|
+
|
|
22
|
+
// Location priority: project > global > legacy
|
|
23
|
+
const locations = [
|
|
24
|
+
path.join(process.cwd(), ".opencode/memory", `${normalizedFile}.md`),
|
|
25
|
+
path.join(
|
|
26
|
+
process.env.HOME || "",
|
|
27
|
+
".config/opencode/memory",
|
|
28
|
+
`${normalizedFile}.md`,
|
|
29
|
+
),
|
|
30
|
+
path.join(
|
|
31
|
+
process.cwd(),
|
|
32
|
+
".config/opencode/memory",
|
|
33
|
+
`${normalizedFile}.md`,
|
|
34
|
+
),
|
|
35
|
+
];
|
|
36
|
+
|
|
37
|
+
// Try each location in order
|
|
38
|
+
for (const filePath of locations) {
|
|
39
|
+
try {
|
|
40
|
+
const content = await fs.readFile(filePath, "utf-8");
|
|
41
|
+
const locationLabel = filePath.includes(".opencode/memory")
|
|
42
|
+
? "project"
|
|
43
|
+
: filePath.includes(process.env.HOME || "")
|
|
44
|
+
? "global"
|
|
45
|
+
: "legacy";
|
|
46
|
+
return `[Read from ${locationLabel}: ${filePath}]\n\n${content}`;
|
|
47
|
+
} catch (error) {
|
|
48
|
+
// Continue to next location if file not found
|
|
49
|
+
if (
|
|
50
|
+
error instanceof Error &&
|
|
51
|
+
"code" in error &&
|
|
52
|
+
error.code === "ENOENT"
|
|
53
|
+
) {
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
// Other errors should be reported
|
|
57
|
+
if (error instanceof Error) {
|
|
58
|
+
return `Error reading memory from ${filePath}: ${error.message}`;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// No file found in any location
|
|
64
|
+
return `Memory file '${normalizedFile}.md' not found in any location.\nSearched:\n- ${locations.join("\n- ")}\n\nStructure:\n- handoffs/YYYY-MM-DD-phase (phase transitions)\n- research/YYYY-MM-DD-topic (research findings)\n- _templates/ (prd, spec, review, research, handoff)`;
|
|
65
|
+
},
|
|
66
|
+
});
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { tool } from "@opencode-ai/plugin";
|
|
2
|
+
import fs from "fs/promises";
|
|
3
|
+
import path from "path";
|
|
4
|
+
|
|
5
|
+
export default tool({
|
|
6
|
+
description:
|
|
7
|
+
"Update memory files with new learnings, progress, or context. Appends or replaces content based on mode. Supports subdirectories for organization (e.g., 'research/opencode-sessions' creates .opencode/memory/research/opencode-sessions.md).",
|
|
8
|
+
args: {
|
|
9
|
+
file: tool.schema
|
|
10
|
+
.string()
|
|
11
|
+
.describe(
|
|
12
|
+
"Memory file to update: handoffs/YYYY-MM-DD-phase, research/YYYY-MM-DD-topic. Use _templates/ for reference only.",
|
|
13
|
+
),
|
|
14
|
+
content: tool.schema
|
|
15
|
+
.string()
|
|
16
|
+
.describe("Content to write or append to the memory file"),
|
|
17
|
+
mode: tool.schema
|
|
18
|
+
.string()
|
|
19
|
+
.optional()
|
|
20
|
+
.default("replace")
|
|
21
|
+
.describe(
|
|
22
|
+
"Update mode: 'replace' (overwrite file) or 'append' (add to end).",
|
|
23
|
+
),
|
|
24
|
+
},
|
|
25
|
+
execute: async (args: { file: string; content: string; mode?: string }) => {
|
|
26
|
+
// Always write to project memory (.opencode/memory/)
|
|
27
|
+
const memoryDir = path.join(process.cwd(), ".opencode/memory");
|
|
28
|
+
|
|
29
|
+
// Normalize file path: strip existing .md extension, handle subdirectories
|
|
30
|
+
let normalizedFile = args.file.replace(/\.md$/i, ""); // Remove .md if present
|
|
31
|
+
const filePath = path.join(memoryDir, `${normalizedFile}.md`);
|
|
32
|
+
const mode = args.mode || "replace";
|
|
33
|
+
|
|
34
|
+
try {
|
|
35
|
+
// Ensure parent directory exists (handles subdirectories)
|
|
36
|
+
const fileDir = path.dirname(filePath);
|
|
37
|
+
await fs.mkdir(fileDir, { recursive: true });
|
|
38
|
+
|
|
39
|
+
if (mode === "append") {
|
|
40
|
+
const timestamp = new Date().toISOString();
|
|
41
|
+
const appendContent = `\n\n---\n**Updated:** ${timestamp}\n\n${args.content}`;
|
|
42
|
+
await fs.appendFile(filePath, appendContent, "utf-8");
|
|
43
|
+
return `Successfully appended to ${normalizedFile}.md\n[Written to: ${filePath}]`;
|
|
44
|
+
} else {
|
|
45
|
+
// Replace mode - update timestamp
|
|
46
|
+
const timestamp = new Date().toISOString();
|
|
47
|
+
const updatedContent = args.content.replace(
|
|
48
|
+
/\*\*Last Updated:\*\* \[Timestamp\]/,
|
|
49
|
+
`**Last Updated:** ${timestamp}`,
|
|
50
|
+
);
|
|
51
|
+
await fs.writeFile(filePath, updatedContent, "utf-8");
|
|
52
|
+
return `Successfully updated ${normalizedFile}.md\n[Written to: ${filePath}]`;
|
|
53
|
+
}
|
|
54
|
+
} catch (error) {
|
|
55
|
+
if (error instanceof Error) {
|
|
56
|
+
return `Error updating memory: ${error.message}`;
|
|
57
|
+
}
|
|
58
|
+
return `Unknown error updating memory file`;
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "ESNext",
|
|
5
|
+
"moduleResolution": "bundler",
|
|
6
|
+
"allowSyntheticDefaultImports": true,
|
|
7
|
+
"esModuleInterop": true,
|
|
8
|
+
"allowJs": true,
|
|
9
|
+
"strict": false,
|
|
10
|
+
"noEmit": true,
|
|
11
|
+
"declaration": true,
|
|
12
|
+
"outDir": "./dist",
|
|
13
|
+
"rootDir": "./",
|
|
14
|
+
"skipLibCheck": true,
|
|
15
|
+
"forceConsistentCasingInFileNames": true,
|
|
16
|
+
"resolveJsonModule": true,
|
|
17
|
+
"types": ["node"]
|
|
18
|
+
},
|
|
19
|
+
"include": ["plugin/**/*.ts", "tool/**/*.ts", "agent/**/*.ts", "*.ts"],
|
|
20
|
+
"exclude": ["node_modules", "dist", "**/*.js", "**/*.test.ts"]
|
|
21
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "opencodekit",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "CLI tool for bootstrapping and managing OpenCodeKit projects",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/opencodekit/opencodekit-template.git"
|
|
9
|
+
},
|
|
10
|
+
"publishConfig": {
|
|
11
|
+
"access": "public",
|
|
12
|
+
"registry": "https://registry.npmjs.org"
|
|
13
|
+
},
|
|
14
|
+
"bin": {
|
|
15
|
+
"ock": "dist/index.js"
|
|
16
|
+
},
|
|
17
|
+
"files": ["dist", "README.md"],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"dev": "bun run src/index.ts",
|
|
20
|
+
"build": "bun build src/index.ts --outdir dist --target node && mkdir -p dist/template && rsync -av --exclude=node_modules --exclude=dist --exclude=.git --exclude=coverage --exclude=.next --exclude=.turbo --exclude=logs --exclude=package-lock.json .opencode/ dist/template/.opencode/",
|
|
21
|
+
"compile": "bun build src/index.ts --compile --outfile ock",
|
|
22
|
+
"compile:binary": "bun build src/index.ts --compile --outfile bin/ock",
|
|
23
|
+
"typecheck": "tsc --noEmit",
|
|
24
|
+
"test": "bun test",
|
|
25
|
+
"test:watch": "bun test --watch",
|
|
26
|
+
"lint": "biome check .",
|
|
27
|
+
"lint:fix": "biome check --fix ."
|
|
28
|
+
},
|
|
29
|
+
"keywords": ["cli", "opencodekit", "template", "agents", "mcp", "opencode"],
|
|
30
|
+
"author": "OpenCodeKit",
|
|
31
|
+
"license": "MIT",
|
|
32
|
+
"engines": {
|
|
33
|
+
"bun": ">=1.3.2"
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@clack/prompts": "^0.7.0",
|
|
37
|
+
"@opencode-ai/plugin": "^1.0.141",
|
|
38
|
+
"cac": "^6.7.14",
|
|
39
|
+
"cli-table3": "^0.6.5",
|
|
40
|
+
"ora": "^9.0.0",
|
|
41
|
+
"picocolors": "^1.1.1",
|
|
42
|
+
"zod": "^3.23.8"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@beads/bd": "^0.29.0",
|
|
46
|
+
"@biomejs/biome": "^1.9.4",
|
|
47
|
+
"@types/bun": "latest",
|
|
48
|
+
"@types/node": "^22.10.1",
|
|
49
|
+
"typescript": "^5.7.2"
|
|
50
|
+
},
|
|
51
|
+
"trustedDependencies": ["@beads/bd"]
|
|
52
|
+
}
|