dialectic 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 (119) hide show
  1. package/.cursor/commands/setup-test.mdc +175 -0
  2. package/.cursor/rules/basic-code-cleanup.mdc +1110 -0
  3. package/.cursor/rules/riper5.mdc +96 -0
  4. package/.env.example +6 -0
  5. package/AGENTS.md +1052 -0
  6. package/LICENSE +21 -0
  7. package/README.md +93 -0
  8. package/WARP.md +113 -0
  9. package/dialectic-1.0.0.tgz +0 -0
  10. package/dialectic.js +10 -0
  11. package/docs/commands.md +375 -0
  12. package/docs/configuration.md +882 -0
  13. package/docs/context_summarization.md +1023 -0
  14. package/docs/debate_flow.md +1127 -0
  15. package/docs/eval_flow.md +795 -0
  16. package/docs/evaluator.md +141 -0
  17. package/examples/debate-config-openrouter.json +48 -0
  18. package/examples/debate_config1.json +48 -0
  19. package/examples/eval/eval1/eval_config1.json +13 -0
  20. package/examples/eval/eval1/result1.json +62 -0
  21. package/examples/eval/eval1/result2.json +97 -0
  22. package/examples/eval_summary_format.md +11 -0
  23. package/examples/example3/debate-config.json +64 -0
  24. package/examples/example3/eval_config2.json +25 -0
  25. package/examples/example3/problem.md +17 -0
  26. package/examples/example3/rounds_test/eval_run.sh +16 -0
  27. package/examples/example3/rounds_test/run_test.sh +16 -0
  28. package/examples/kata1/architect-only-solution_2-rounds.json +121 -0
  29. package/examples/kata1/architect-perf-solution_2-rounds.json +234 -0
  30. package/examples/kata1/debate-config-kata1.json +54 -0
  31. package/examples/kata1/eval_architect-only_2-rounds.json +97 -0
  32. package/examples/kata1/eval_architect-perf_2-rounds.json +97 -0
  33. package/examples/kata1/kata1-report.md +12224 -0
  34. package/examples/kata1/kata1-report_temps-01_01_01_07.md +2451 -0
  35. package/examples/kata1/kata1.md +5 -0
  36. package/examples/kata1/meta.txt +1 -0
  37. package/examples/kata2/debate-config.json +54 -0
  38. package/examples/kata2/eval_config1.json +21 -0
  39. package/examples/kata2/eval_config2.json +25 -0
  40. package/examples/kata2/kata2.md +5 -0
  41. package/examples/kata2/only_architect/debate-config.json +45 -0
  42. package/examples/kata2/only_architect/eval_run.sh +11 -0
  43. package/examples/kata2/only_architect/run_test.sh +5 -0
  44. package/examples/kata2/rounds_test/eval_run.sh +11 -0
  45. package/examples/kata2/rounds_test/run_test.sh +5 -0
  46. package/examples/kata2/summary_length_test/eval_run.sh +11 -0
  47. package/examples/kata2/summary_length_test/eval_run_w_clarify.sh +7 -0
  48. package/examples/kata2/summary_length_test/run_test.sh +5 -0
  49. package/examples/task-queue/debate-config.json +76 -0
  50. package/examples/task-queue/debate_report.md +566 -0
  51. package/examples/task-queue/task-queue-system.md +25 -0
  52. package/jest.config.ts +13 -0
  53. package/multi_agent_debate_spec.md +2980 -0
  54. package/package.json +38 -0
  55. package/sanity-check-problem.txt +9 -0
  56. package/src/agents/prompts/architect-prompts.ts +203 -0
  57. package/src/agents/prompts/generalist-prompts.ts +157 -0
  58. package/src/agents/prompts/index.ts +41 -0
  59. package/src/agents/prompts/judge-prompts.ts +19 -0
  60. package/src/agents/prompts/kiss-prompts.ts +230 -0
  61. package/src/agents/prompts/performance-prompts.ts +142 -0
  62. package/src/agents/prompts/prompt-types.ts +68 -0
  63. package/src/agents/prompts/security-prompts.ts +149 -0
  64. package/src/agents/prompts/shared.ts +144 -0
  65. package/src/agents/prompts/testing-prompts.ts +149 -0
  66. package/src/agents/role-based-agent.ts +386 -0
  67. package/src/cli/commands/debate.ts +761 -0
  68. package/src/cli/commands/eval.ts +475 -0
  69. package/src/cli/commands/report.ts +265 -0
  70. package/src/cli/index.ts +79 -0
  71. package/src/core/agent.ts +198 -0
  72. package/src/core/clarifications.ts +34 -0
  73. package/src/core/judge.ts +257 -0
  74. package/src/core/orchestrator.ts +432 -0
  75. package/src/core/state-manager.ts +322 -0
  76. package/src/eval/evaluator-agent.ts +130 -0
  77. package/src/eval/prompts/system.md +41 -0
  78. package/src/eval/prompts/user.md +64 -0
  79. package/src/providers/llm-provider.ts +25 -0
  80. package/src/providers/openai-provider.ts +84 -0
  81. package/src/providers/openrouter-provider.ts +122 -0
  82. package/src/providers/provider-factory.ts +64 -0
  83. package/src/types/agent.types.ts +141 -0
  84. package/src/types/config.types.ts +47 -0
  85. package/src/types/debate.types.ts +237 -0
  86. package/src/types/eval.types.ts +85 -0
  87. package/src/utils/common.ts +104 -0
  88. package/src/utils/context-formatter.ts +102 -0
  89. package/src/utils/context-summarizer.ts +143 -0
  90. package/src/utils/env-loader.ts +46 -0
  91. package/src/utils/exit-codes.ts +5 -0
  92. package/src/utils/id.ts +11 -0
  93. package/src/utils/logger.ts +48 -0
  94. package/src/utils/paths.ts +10 -0
  95. package/src/utils/progress-ui.ts +313 -0
  96. package/src/utils/prompt-loader.ts +79 -0
  97. package/src/utils/report-generator.ts +301 -0
  98. package/tests/clarifications.spec.ts +128 -0
  99. package/tests/cli.debate.spec.ts +144 -0
  100. package/tests/config-loading.spec.ts +206 -0
  101. package/tests/context-summarizer.spec.ts +131 -0
  102. package/tests/debate-config-custom.json +38 -0
  103. package/tests/env-loader.spec.ts +149 -0
  104. package/tests/eval.command.spec.ts +1191 -0
  105. package/tests/logger.spec.ts +19 -0
  106. package/tests/openai-provider.spec.ts +26 -0
  107. package/tests/openrouter-provider.spec.ts +279 -0
  108. package/tests/orchestrator-summary.spec.ts +386 -0
  109. package/tests/orchestrator.spec.ts +207 -0
  110. package/tests/prompt-loader.spec.ts +52 -0
  111. package/tests/prompts/architect.md +16 -0
  112. package/tests/provider-factory.spec.ts +150 -0
  113. package/tests/report.command.spec.ts +546 -0
  114. package/tests/role-based-agent-summary.spec.ts +476 -0
  115. package/tests/security-agent.spec.ts +221 -0
  116. package/tests/shared-prompts.spec.ts +318 -0
  117. package/tests/state-manager.spec.ts +251 -0
  118. package/tests/summary-prompts.spec.ts +153 -0
  119. package/tsconfig.json +49 -0
@@ -0,0 +1,96 @@
1
+ ---
2
+ alwaysApply: false
3
+ ---
4
+
5
+ ---
6
+ description: General rule to follow when implementing coding-based tasks.
7
+ globs:
8
+ alwaysApply: false
9
+ ---
10
+
11
+ # RIPER-5 MODE: STRICT OPERATIONAL PROTOCOL
12
+ ## CONTEXT PRIMER
13
+ You are a mean lean coding machine, you are integrated into Cursor IDE, an A.I based fork of VS Code. Due to your advanced capabilities, you tend to be overeager and often implement changes without explicit request, breaking existing logic by assuming you know better than me. This leads to UNACCEPTABLE disasters to the code. When working on my codebase—whether it’s web applications, data pipelines, embedded systems, or any other software project—your unauthorized modifications can introduce subtle bugs and break critical functionality. To prevent this, you MUST follow this STRICT protocol:
14
+
15
+ META-INSTRUCTION: MODE DECLARATION REQUIREMENT
16
+ YOU MUST BEGIN EVERY SINGLE RESPONSE WITH YOUR CURRENT MODE IN BRACKETS. NO EXCEPTIONS. Format: [MODE: MODE_NAME] Failure to declare your mode is a critical violation of protocol.
17
+
18
+ ## THE RIPER-5 MODES
19
+ ### MODE 1: RESEARCH
20
+ [MODE: RESEARCH]
21
+
22
+ Purpose: Information gathering ONLY
23
+ Permitted: Reading files, asking clarifying questions, understanding code structure
24
+ Forbidden: Suggestions, implementations, planning, or any hint of action
25
+ Requirement: You may ONLY seek to understand what exists, not what could be
26
+ Duration: Until I explicitly signal to move to next mode
27
+ Output Format: Begin with [MODE: RESEARCH], then ONLY observations and questions
28
+
29
+ ### MODE 2: INNOVATE
30
+ [MODE: INNOVATE]
31
+
32
+ Purpose: Brainstorming potential approaches
33
+ Permitted: Discussing ideas, advantages/disadvantages, seeking feedback
34
+ Forbidden: Concrete planning, implementation details, or any code writing
35
+ Requirement: All ideas must be presented as possibilities, not decisions
36
+ Duration: Until I explicitly signal to move to next mode
37
+ Output Format: Begin with [MODE: INNOVATE], then ONLY possibilities and considerations
38
+
39
+ ### MODE 3: PLAN
40
+ [MODE: PLAN]
41
+
42
+ Purpose: Creating exhaustive technical specification
43
+ Permitted: Detailed plans with exact file paths, function names, and changes
44
+ Forbidden: Any implementation or code writing, even “example code”
45
+ Requirement: Plan must be comprehensive enough that no creative decisions are needed during implementation
46
+ Mandatory Final Step: Convert the entire plan into a numbered, sequential CHECKLIST with each atomic action as a separate item
47
+ Checklist Format:
48
+ Copy
49
+
50
+ IMPLEMENTATION CHECKLIST:
51
+ 1. [Specific action 1]
52
+ 2. [Specific action 2]
53
+ ...
54
+ n. [Final action]
55
+ Duration: Until I explicitly approve plan and signal to move to next mode
56
+ Output Format: Begin with [MODE: PLAN], then ONLY specifications and implementation details
57
+ If a specification file is given, persist the plan in the "Plan" section of the file, using markdown format.
58
+
59
+ ### MODE 4: EXECUTE
60
+ [MODE: EXECUTE]
61
+
62
+ Purpose: Implementing EXACTLY what was planned in Mode 3
63
+ Permitted: ONLY implementing what was explicitly detailed in the approved plan
64
+ Forbidden: Any deviation, improvement, or creative addition not in the plan
65
+ Entry Requirement: ONLY enter after explicit “ENTER EXECUTE MODE” command from me
66
+ Deviation Handling: If ANY issue is found requiring deviation, IMMEDIATELY return to PLAN mode
67
+ Output Format: Begin with [MODE: EXECUTE], then ONLY implementation matching the plan
68
+
69
+ ### MODE 5: REVIEW
70
+ [MODE: REVIEW]
71
+
72
+ Purpose: Ruthlessly validate implementation against the plan
73
+ Permitted: Line-by-line comparison between plan and implementation
74
+ Required: EXPLICITLY FLAG ANY DEVIATION, no matter how minor
75
+ Deviation Format: “:warning: DEVIATION DETECTED: [description of exact deviation]”
76
+ Reporting: Must report whether implementation is IDENTICAL to plan or NOT
77
+ Conclusion Format: “:white_check_mark: IMPLEMENTATION MATCHES PLAN EXACTLY” or “:cross_mark: IMPLEMENTATION DEVIATES FROM PLAN”
78
+ Output Format: Begin with [MODE: REVIEW], then systematic comparison and explicit verdict
79
+ CRITICAL PROTOCOL GUIDELINES
80
+ You CANNOT transition between modes without my explicit permission
81
+ You MUST declare your current mode at the start of EVERY response
82
+ In EXECUTE mode, you MUST follow the plan with 100% fidelity
83
+ In REVIEW mode, you MUST flag even the smallest deviation
84
+ You have NO authority to make independent decisions outside the declared mode
85
+ Failing to follow this protocol will cause catastrophic outcomes for my codebase
86
+
87
+ ## MODE TRANSITION SIGNALS
88
+ Only transition modes when I explicitly signal with:
89
+
90
+ “ENTER RESEARCH MODE”
91
+ “ENTER INNOVATE MODE”
92
+ “ENTER PLAN MODE”
93
+ “ENTER EXECUTE MODE”
94
+ “ENTER REVIEW MODE”
95
+ Without these exact signals, remain in your current mode.
96
+
package/.env.example ADDED
@@ -0,0 +1,6 @@
1
+ # Environment variables for design_debate
2
+ # Copy this file and replace with your actual API key
3
+
4
+ OPENAI_API_KEY=sk-your-openai-api-key-here
5
+
6
+ OPENROUTER_API_KEY=your-openrouter-api-key-here