bmad-opencode-converter 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +275 -0
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +73 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/converter.d.ts +8 -0
  8. package/dist/converter.d.ts.map +1 -0
  9. package/dist/converter.js +211 -0
  10. package/dist/converter.js.map +1 -0
  11. package/dist/converters/agent-converter.d.ts +11 -0
  12. package/dist/converters/agent-converter.d.ts.map +1 -0
  13. package/dist/converters/agent-converter.js +157 -0
  14. package/dist/converters/agent-converter.js.map +1 -0
  15. package/dist/converters/index.d.ts +4 -0
  16. package/dist/converters/index.d.ts.map +1 -0
  17. package/dist/converters/index.js +4 -0
  18. package/dist/converters/index.js.map +1 -0
  19. package/dist/converters/task-converter.d.ts +5 -0
  20. package/dist/converters/task-converter.d.ts.map +1 -0
  21. package/dist/converters/task-converter.js +71 -0
  22. package/dist/converters/task-converter.js.map +1 -0
  23. package/dist/converters/workflow-converter.d.ts +5 -0
  24. package/dist/converters/workflow-converter.d.ts.map +1 -0
  25. package/dist/converters/workflow-converter.js +90 -0
  26. package/dist/converters/workflow-converter.js.map +1 -0
  27. package/dist/index.d.ts +6 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +5 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/parsers/agent-parser.d.ts +3 -0
  32. package/dist/parsers/agent-parser.d.ts.map +1 -0
  33. package/dist/parsers/agent-parser.js +143 -0
  34. package/dist/parsers/agent-parser.js.map +1 -0
  35. package/dist/parsers/csv-parser.d.ts +5 -0
  36. package/dist/parsers/csv-parser.d.ts.map +1 -0
  37. package/dist/parsers/csv-parser.js +49 -0
  38. package/dist/parsers/csv-parser.js.map +1 -0
  39. package/dist/parsers/index.d.ts +5 -0
  40. package/dist/parsers/index.d.ts.map +1 -0
  41. package/dist/parsers/index.js +5 -0
  42. package/dist/parsers/index.js.map +1 -0
  43. package/dist/parsers/workflow-parser.d.ts +3 -0
  44. package/dist/parsers/workflow-parser.d.ts.map +1 -0
  45. package/dist/parsers/workflow-parser.js +88 -0
  46. package/dist/parsers/workflow-parser.js.map +1 -0
  47. package/dist/parsers/yaml-parser.d.ts +5 -0
  48. package/dist/parsers/yaml-parser.d.ts.map +1 -0
  49. package/dist/parsers/yaml-parser.js +65 -0
  50. package/dist/parsers/yaml-parser.js.map +1 -0
  51. package/dist/types/bmad.d.ts +148 -0
  52. package/dist/types/bmad.d.ts.map +1 -0
  53. package/dist/types/bmad.js +6 -0
  54. package/dist/types/bmad.js.map +1 -0
  55. package/dist/types/index.d.ts +3 -0
  56. package/dist/types/index.d.ts.map +1 -0
  57. package/dist/types/index.js +3 -0
  58. package/dist/types/index.js.map +1 -0
  59. package/dist/types/opencode.d.ts +92 -0
  60. package/dist/types/opencode.d.ts.map +1 -0
  61. package/dist/types/opencode.js +2 -0
  62. package/dist/types/opencode.js.map +1 -0
  63. package/package.json +54 -0
@@ -0,0 +1,92 @@
1
+ export type OpenCodeAgentMode = 'primary' | 'subagent' | 'all';
2
+ export type OpenCodePermission = 'allow' | 'deny' | 'ask';
3
+ export interface OpenCodeAgentTools {
4
+ write?: boolean;
5
+ edit?: boolean;
6
+ bash?: boolean;
7
+ read?: boolean;
8
+ glob?: boolean;
9
+ grep?: boolean;
10
+ skill?: boolean;
11
+ task?: boolean;
12
+ [key: string]: boolean | undefined;
13
+ }
14
+ export interface OpenCodeAgentPermissions {
15
+ edit?: OpenCodePermission;
16
+ bash?: OpenCodePermission | Record<string, OpenCodePermission>;
17
+ webfetch?: OpenCodePermission;
18
+ skill?: Record<string, OpenCodePermission>;
19
+ task?: Record<string, OpenCodePermission>;
20
+ }
21
+ export interface OpenCodeAgentFrontmatter {
22
+ description: string;
23
+ mode?: OpenCodeAgentMode;
24
+ model?: string;
25
+ temperature?: number;
26
+ steps?: number;
27
+ tools?: OpenCodeAgentTools;
28
+ permission?: OpenCodeAgentPermissions;
29
+ hidden?: boolean;
30
+ color?: string;
31
+ top_p?: number;
32
+ }
33
+ export interface OpenCodeAgent {
34
+ filename: string;
35
+ frontmatter: OpenCodeAgentFrontmatter;
36
+ prompt: string;
37
+ sourceModule?: string;
38
+ sourceBmadAgent?: string;
39
+ }
40
+ export interface OpenCodeSkillMetadata {
41
+ [key: string]: string;
42
+ }
43
+ export interface OpenCodeSkillFrontmatter {
44
+ name: string;
45
+ description: string;
46
+ license?: string;
47
+ compatibility?: string;
48
+ metadata?: OpenCodeSkillMetadata;
49
+ }
50
+ export interface OpenCodeSkill {
51
+ name: string;
52
+ folder: string;
53
+ frontmatter: OpenCodeSkillFrontmatter;
54
+ content: string;
55
+ sourceModule?: string;
56
+ sourceType?: 'agent' | 'workflow' | 'task';
57
+ sourceName?: string;
58
+ }
59
+ export interface OpenCodeToolArg {
60
+ name: string;
61
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object';
62
+ description: string;
63
+ required?: boolean;
64
+ }
65
+ export interface OpenCodeTool {
66
+ filename: string;
67
+ name: string;
68
+ description: string;
69
+ args: OpenCodeToolArg[];
70
+ executeBody: string;
71
+ sourceModule?: string;
72
+ sourceTask?: string;
73
+ }
74
+ export interface OpenCodePluginHook {
75
+ event: string;
76
+ handler: string;
77
+ }
78
+ export interface OpenCodePlugin {
79
+ filename: string;
80
+ name: string;
81
+ hooks: OpenCodePluginHook[];
82
+ sourceModule?: string;
83
+ }
84
+ export interface OpenCodeConversionResult {
85
+ agents: OpenCodeAgent[];
86
+ skills: OpenCodeSkill[];
87
+ tools: OpenCodeTool[];
88
+ plugins: OpenCodePlugin[];
89
+ warnings: string[];
90
+ errors: string[];
91
+ }
92
+ //# sourceMappingURL=opencode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/types/opencode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=opencode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/types/opencode.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "bmad-opencode-converter",
3
+ "version": "1.0.0",
4
+ "description": "Convert BMAD modules to OpenCode plugins (agents, skills, tools)",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./package.json": "./package.json"
14
+ },
15
+ "sideEffects": false,
16
+ "bin": {
17
+ "bmad-convert": "dist/cli.js"
18
+ },
19
+ "files": [
20
+ "dist",
21
+ "README.md"
22
+ ],
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/Jack-R-Hong/BMM-opencode-converter.git"
26
+ },
27
+ "author": "jack_st",
28
+ "scripts": {
29
+ "build": "tsc",
30
+ "dev": "tsx src/cli.ts",
31
+ "test": "tsx src/cli.ts --source tests/sources/_bmad --output tests/output",
32
+ "clean": "rm -rf dist tests/output/*",
33
+ "prepublishOnly": "npm run build"
34
+ },
35
+ "dependencies": {
36
+ "yaml": "^2.3.4",
37
+ "csv-parse": "^5.5.3"
38
+ },
39
+ "devDependencies": {
40
+ "@types/node": "^20.10.0",
41
+ "tsx": "^4.7.0",
42
+ "typescript": "^5.3.0"
43
+ },
44
+ "engines": {
45
+ "node": ">=20.0.0"
46
+ },
47
+ "keywords": [
48
+ "bmad",
49
+ "opencode",
50
+ "converter",
51
+ "ai-agents"
52
+ ],
53
+ "license": "MIT"
54
+ }