gameforge-cli 0.1.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 (91) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +366 -0
  3. package/dist/agents/base/BaseAgent.d.ts +45 -0
  4. package/dist/agents/base/BaseAgent.d.ts.map +1 -0
  5. package/dist/agents/base/BaseAgent.js +179 -0
  6. package/dist/agents/base/BaseAgent.js.map +1 -0
  7. package/dist/agents/core/Architect.d.ts +16 -0
  8. package/dist/agents/core/Architect.d.ts.map +1 -0
  9. package/dist/agents/core/Architect.js +487 -0
  10. package/dist/agents/core/Architect.js.map +1 -0
  11. package/dist/agents/core/Chaos.d.ts +14 -0
  12. package/dist/agents/core/Chaos.d.ts.map +1 -0
  13. package/dist/agents/core/Chaos.js +67 -0
  14. package/dist/agents/core/Chaos.js.map +1 -0
  15. package/dist/agents/core/Consistency.d.ts +16 -0
  16. package/dist/agents/core/Consistency.d.ts.map +1 -0
  17. package/dist/agents/core/Consistency.js +132 -0
  18. package/dist/agents/core/Consistency.js.map +1 -0
  19. package/dist/agents/core/Inquisitor.d.ts +20 -0
  20. package/dist/agents/core/Inquisitor.d.ts.map +1 -0
  21. package/dist/agents/core/Inquisitor.js +159 -0
  22. package/dist/agents/core/Inquisitor.js.map +1 -0
  23. package/dist/agents/core/Remediation.d.ts +16 -0
  24. package/dist/agents/core/Remediation.d.ts.map +1 -0
  25. package/dist/agents/core/Remediation.js +151 -0
  26. package/dist/agents/core/Remediation.js.map +1 -0
  27. package/dist/agents/specialists/CreativeSpecialist.d.ts +7 -0
  28. package/dist/agents/specialists/CreativeSpecialist.d.ts.map +1 -0
  29. package/dist/agents/specialists/CreativeSpecialist.js +70 -0
  30. package/dist/agents/specialists/CreativeSpecialist.js.map +1 -0
  31. package/dist/agents/specialists/EntitySpecialist.d.ts +8 -0
  32. package/dist/agents/specialists/EntitySpecialist.d.ts.map +1 -0
  33. package/dist/agents/specialists/EntitySpecialist.js +74 -0
  34. package/dist/agents/specialists/EntitySpecialist.js.map +1 -0
  35. package/dist/agents/specialists/FeatureSpecialist.d.ts +8 -0
  36. package/dist/agents/specialists/FeatureSpecialist.d.ts.map +1 -0
  37. package/dist/agents/specialists/FeatureSpecialist.js +83 -0
  38. package/dist/agents/specialists/FeatureSpecialist.js.map +1 -0
  39. package/dist/agents/specialists/TechSpecialist.d.ts +7 -0
  40. package/dist/agents/specialists/TechSpecialist.d.ts.map +1 -0
  41. package/dist/agents/specialists/TechSpecialist.js +62 -0
  42. package/dist/agents/specialists/TechSpecialist.js.map +1 -0
  43. package/dist/config/budget.d.ts +36 -0
  44. package/dist/config/budget.d.ts.map +1 -0
  45. package/dist/config/budget.js +37 -0
  46. package/dist/config/budget.js.map +1 -0
  47. package/dist/config/schema.d.ts +1336 -0
  48. package/dist/config/schema.d.ts.map +1 -0
  49. package/dist/config/schema.js +134 -0
  50. package/dist/config/schema.js.map +1 -0
  51. package/dist/config/templates.d.ts +10 -0
  52. package/dist/config/templates.d.ts.map +1 -0
  53. package/dist/config/templates.js +202 -0
  54. package/dist/config/templates.js.map +1 -0
  55. package/dist/core/CheckpointManager.d.ts +16 -0
  56. package/dist/core/CheckpointManager.d.ts.map +1 -0
  57. package/dist/core/CheckpointManager.js +52 -0
  58. package/dist/core/CheckpointManager.js.map +1 -0
  59. package/dist/core/Orchestrator.d.ts +11 -0
  60. package/dist/core/Orchestrator.d.ts.map +1 -0
  61. package/dist/core/Orchestrator.js +46 -0
  62. package/dist/core/Orchestrator.js.map +1 -0
  63. package/dist/core/SessionManager.d.ts +68 -0
  64. package/dist/core/SessionManager.d.ts.map +1 -0
  65. package/dist/core/SessionManager.js +162 -0
  66. package/dist/core/SessionManager.js.map +1 -0
  67. package/dist/core/StateMachine.d.ts +46 -0
  68. package/dist/core/StateMachine.d.ts.map +1 -0
  69. package/dist/core/StateMachine.js +82 -0
  70. package/dist/core/StateMachine.js.map +1 -0
  71. package/dist/index.d.ts +3 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +830 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/utils/costTracker.d.ts +30 -0
  76. package/dist/utils/costTracker.d.ts.map +1 -0
  77. package/dist/utils/costTracker.js +64 -0
  78. package/dist/utils/costTracker.js.map +1 -0
  79. package/dist/utils/debugLogger.d.ts +48 -0
  80. package/dist/utils/debugLogger.d.ts.map +1 -0
  81. package/dist/utils/debugLogger.js +179 -0
  82. package/dist/utils/debugLogger.js.map +1 -0
  83. package/dist/utils/fileManager.d.ts +14 -0
  84. package/dist/utils/fileManager.d.ts.map +1 -0
  85. package/dist/utils/fileManager.js +135 -0
  86. package/dist/utils/fileManager.js.map +1 -0
  87. package/dist/utils/modelSelector.d.ts +11 -0
  88. package/dist/utils/modelSelector.d.ts.map +1 -0
  89. package/dist/utils/modelSelector.js +38 -0
  90. package/dist/utils/modelSelector.js.map +1 -0
  91. package/package.json +49 -0
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModelSelector = exports.TaskComplexity = void 0;
4
+ var TaskComplexity;
5
+ (function (TaskComplexity) {
6
+ TaskComplexity["SIMPLE"] = "simple";
7
+ TaskComplexity["MODERATE"] = "moderate";
8
+ TaskComplexity["COMPLEX"] = "complex"; // Sonnet: Architecture, consistency checking
9
+ })(TaskComplexity || (exports.TaskComplexity = TaskComplexity = {}));
10
+ class ModelSelector {
11
+ selectModel(complexity, budgetRemaining) {
12
+ // If budget is very low, always use Haiku
13
+ if (budgetRemaining < 1.0) {
14
+ return 'claude-haiku-4-5-20251001';
15
+ }
16
+ switch (complexity) {
17
+ case TaskComplexity.SIMPLE:
18
+ return 'claude-haiku-4-5-20251001';
19
+ case TaskComplexity.MODERATE:
20
+ case TaskComplexity.COMPLEX:
21
+ return 'claude-sonnet-4-5-20250929';
22
+ }
23
+ }
24
+ getTokenLimit(model) {
25
+ return model.includes('haiku') ? 2000 : 4000;
26
+ }
27
+ getModelName(model) {
28
+ if (model.includes('haiku')) {
29
+ return 'Claude Haiku 4.5';
30
+ }
31
+ else if (model.includes('sonnet')) {
32
+ return 'Claude Sonnet 4.5';
33
+ }
34
+ return model;
35
+ }
36
+ }
37
+ exports.ModelSelector = ModelSelector;
38
+ //# sourceMappingURL=modelSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelSelector.js","sourceRoot":"","sources":["../../src/utils/modelSelector.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,uCAAqB,CAAA;IACrB,qCAAmB,CAAA,CAAK,6CAA6C;AACvE,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,MAAa,aAAa;IACxB,WAAW,CAAC,UAA0B,EAAE,eAAuB;QAC7D,0CAA0C;QAC1C,IAAI,eAAe,GAAG,GAAG,EAAE,CAAC;YAC1B,OAAO,2BAA2B,CAAC;QACrC,CAAC;QAED,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,cAAc,CAAC,MAAM;gBACxB,OAAO,2BAA2B,CAAC;YACrC,KAAK,cAAc,CAAC,QAAQ,CAAC;YAC7B,KAAK,cAAc,CAAC,OAAO;gBACzB,OAAO,4BAA4B,CAAC;QACxC,CAAC;IACH,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,kBAAkB,CAAC;QAC5B,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA5BD,sCA4BC"}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "gameforge-cli",
3
+ "version": "0.1.0",
4
+ "description": "AI-powered Game Design Document generator",
5
+ "main": "dist/index.js",
6
+ "bin": {
7
+ "gameforge": "dist/index.js"
8
+ },
9
+ "scripts": {
10
+ "build": "tsc",
11
+ "dev": "tsx watch src/index.ts",
12
+ "test": "vitest",
13
+ "lint": "eslint src/**/*.ts"
14
+ },
15
+ "keywords": ["game-design", "gdd", "ai", "cli"],
16
+ "author": "",
17
+ "license": "MIT",
18
+ "dependencies": {
19
+ "@anthropic-ai/sdk": "^0.30.0",
20
+ "zod": "^3.22.0",
21
+ "enquirer": "^2.4.0",
22
+ "picocolors": "^1.0.0",
23
+ "ora": "^8.0.0",
24
+ "fs-extra": "^11.2.0",
25
+ "p-queue": "^8.0.0",
26
+ "handlebars": "^4.7.8",
27
+ "dotenv": "^16.4.0",
28
+ "commander": "^12.0.0",
29
+ "cli-table3": "^0.6.3"
30
+ },
31
+ "devDependencies": {
32
+ "@types/node": "^20.0.0",
33
+ "@types/fs-extra": "^11.0.0",
34
+ "typescript": "^5.3.0",
35
+ "tsx": "^4.7.0",
36
+ "vitest": "^1.2.0",
37
+ "eslint": "^8.56.0",
38
+ "@typescript-eslint/eslint-plugin": "^6.0.0",
39
+ "@typescript-eslint/parser": "^6.0.0"
40
+ },
41
+ "files": [
42
+ "dist/**/*",
43
+ "README.md",
44
+ "LICENSE"
45
+ ],
46
+ "publishConfig": {
47
+ "access": "public"
48
+ }
49
+ }