wiggum-cli 0.11.19 → 0.11.22

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 (137) hide show
  1. package/CONTRIBUTING.md +128 -34
  2. package/README.md +208 -311
  3. package/dist/generator/writer.d.ts.map +1 -1
  4. package/dist/generator/writer.js +36 -2
  5. package/dist/generator/writer.js.map +1 -1
  6. package/dist/tui/app.d.ts.map +1 -1
  7. package/dist/tui/app.js +7 -1
  8. package/dist/tui/app.js.map +1 -1
  9. package/dist/tui/screens/InterviewScreen.d.ts.map +1 -1
  10. package/dist/tui/screens/InterviewScreen.js +9 -0
  11. package/dist/tui/screens/InterviewScreen.js.map +1 -1
  12. package/package.json +11 -2
  13. package/.claude/settings.local.json +0 -49
  14. package/src/ai/agents/codebase-analyst.ts +0 -172
  15. package/src/ai/agents/codebase-analyzer.test.ts +0 -115
  16. package/src/ai/agents/codebase-analyzer.ts +0 -551
  17. package/src/ai/agents/context-enricher.test.ts +0 -190
  18. package/src/ai/agents/context-enricher.ts +0 -345
  19. package/src/ai/agents/evaluator-optimizer.ts +0 -353
  20. package/src/ai/agents/index.ts +0 -172
  21. package/src/ai/agents/mcp-detector.test.ts +0 -368
  22. package/src/ai/agents/mcp-detector.ts +0 -240
  23. package/src/ai/agents/orchestrator.ts +0 -221
  24. package/src/ai/agents/planning-orchestrator.ts +0 -144
  25. package/src/ai/agents/stack-researcher.ts +0 -317
  26. package/src/ai/agents/stack-utils.ts +0 -34
  27. package/src/ai/agents/synthesis-agent.ts +0 -286
  28. package/src/ai/agents/tech-researcher.test.ts +0 -156
  29. package/src/ai/agents/tech-researcher.ts +0 -370
  30. package/src/ai/agents/types.ts +0 -347
  31. package/src/ai/conversation/conversation-manager.ts +0 -319
  32. package/src/ai/conversation/index.ts +0 -30
  33. package/src/ai/conversation/interview-tools.ts +0 -332
  34. package/src/ai/conversation/spec-generator.ts +0 -665
  35. package/src/ai/conversation/url-fetcher.ts +0 -180
  36. package/src/ai/enhancer.ts +0 -657
  37. package/src/ai/index.ts +0 -99
  38. package/src/ai/prompts.ts +0 -312
  39. package/src/ai/providers.ts +0 -273
  40. package/src/ai/tools/context7.ts +0 -32
  41. package/src/ai/tools/index.ts +0 -15
  42. package/src/ai/tools/tavily.ts +0 -106
  43. package/src/ai/tools.ts +0 -289
  44. package/src/commands/config.test.ts +0 -225
  45. package/src/commands/config.ts +0 -162
  46. package/src/commands/init.ts +0 -25
  47. package/src/commands/monitor.ts +0 -412
  48. package/src/commands/new.ts +0 -151
  49. package/src/commands/run.ts +0 -214
  50. package/src/context/convert.test.ts +0 -129
  51. package/src/context/convert.ts +0 -159
  52. package/src/context/index.ts +0 -19
  53. package/src/context/storage.test.ts +0 -173
  54. package/src/context/storage.ts +0 -117
  55. package/src/context/types.ts +0 -52
  56. package/src/generator/config.ts +0 -120
  57. package/src/generator/index.ts +0 -227
  58. package/src/generator/templates.test.ts +0 -89
  59. package/src/generator/templates.ts +0 -546
  60. package/src/generator/writer.ts +0 -334
  61. package/src/index.ts +0 -207
  62. package/src/repl/command-parser.ts +0 -164
  63. package/src/repl/index.ts +0 -23
  64. package/src/repl/session-state.ts +0 -63
  65. package/src/scanner/detectors/core/framework.ts +0 -332
  66. package/src/scanner/detectors/core/packageManager.ts +0 -91
  67. package/src/scanner/detectors/core/styling.ts +0 -261
  68. package/src/scanner/detectors/core/testing.ts +0 -221
  69. package/src/scanner/detectors/data/api.ts +0 -303
  70. package/src/scanner/detectors/data/database.ts +0 -245
  71. package/src/scanner/detectors/data/orm.ts +0 -180
  72. package/src/scanner/detectors/frontend/formHandling.ts +0 -244
  73. package/src/scanner/detectors/frontend/stateManagement.ts +0 -261
  74. package/src/scanner/detectors/frontend/uiComponents.ts +0 -328
  75. package/src/scanner/detectors/infra/deployment.ts +0 -343
  76. package/src/scanner/detectors/infra/monorepo.ts +0 -251
  77. package/src/scanner/detectors/mcp/mcpProject.ts +0 -176
  78. package/src/scanner/detectors/mcp/mcpServers.ts +0 -237
  79. package/src/scanner/detectors/services/analytics.ts +0 -273
  80. package/src/scanner/detectors/services/auth.ts +0 -254
  81. package/src/scanner/detectors/services/email.ts +0 -244
  82. package/src/scanner/detectors/services/payments.ts +0 -213
  83. package/src/scanner/detectors/utils.ts +0 -251
  84. package/src/scanner/index.ts +0 -354
  85. package/src/scanner/registry.ts +0 -301
  86. package/src/scanner/types.ts +0 -152
  87. package/src/tui/app.tsx +0 -729
  88. package/src/tui/components/ActionOutput.tsx +0 -215
  89. package/src/tui/components/ChatInput.tsx +0 -363
  90. package/src/tui/components/CommandDropdown.tsx +0 -172
  91. package/src/tui/components/Confirm.tsx +0 -109
  92. package/src/tui/components/ErrorCard.tsx +0 -185
  93. package/src/tui/components/FooterStatusBar.test.ts +0 -18
  94. package/src/tui/components/FooterStatusBar.tsx +0 -58
  95. package/src/tui/components/MessageList.tsx +0 -243
  96. package/src/tui/components/PasswordInput.tsx +0 -114
  97. package/src/tui/components/PhaseHeader.tsx +0 -63
  98. package/src/tui/components/Select.tsx +0 -132
  99. package/src/tui/components/StatusLine.tsx +0 -76
  100. package/src/tui/components/StreamingText.tsx +0 -69
  101. package/src/tui/components/ToolCallCard.tsx +0 -272
  102. package/src/tui/components/WiggumBanner.tsx +0 -66
  103. package/src/tui/components/WorkingIndicator.tsx +0 -125
  104. package/src/tui/components/index.ts +0 -45
  105. package/src/tui/demo.tsx +0 -111
  106. package/src/tui/hooks/index.ts +0 -28
  107. package/src/tui/hooks/useCommandHistory.ts +0 -144
  108. package/src/tui/hooks/useInit.ts +0 -534
  109. package/src/tui/hooks/useSpecGenerator.ts +0 -699
  110. package/src/tui/hooks/useSync.ts +0 -80
  111. package/src/tui/index.ts +0 -23
  112. package/src/tui/orchestration/index.ts +0 -10
  113. package/src/tui/orchestration/interview-orchestrator.test.ts +0 -294
  114. package/src/tui/orchestration/interview-orchestrator.ts +0 -633
  115. package/src/tui/screens/InitScreen.tsx +0 -596
  116. package/src/tui/screens/InterviewScreen.tsx +0 -391
  117. package/src/tui/screens/MainShell.tsx +0 -406
  118. package/src/tui/screens/RunScreen.tsx +0 -405
  119. package/src/tui/screens/WelcomeScreen.tsx +0 -107
  120. package/src/tui/screens/index.ts +0 -18
  121. package/src/tui/theme.ts +0 -131
  122. package/src/tui/utils/input-utils.test.ts +0 -428
  123. package/src/tui/utils/input-utils.ts +0 -219
  124. package/src/tui/utils/loop-status.ts +0 -170
  125. package/src/utils/colors.ts +0 -248
  126. package/src/utils/config.ts +0 -221
  127. package/src/utils/env.test.ts +0 -402
  128. package/src/utils/env.ts +0 -128
  129. package/src/utils/header.ts +0 -49
  130. package/src/utils/json-repair.ts +0 -163
  131. package/src/utils/logger.ts +0 -28
  132. package/src/utils/spinner.ts +0 -262
  133. package/src/utils/tracing.ts +0 -119
  134. package/src/utils/tui.ts +0 -262
  135. package/src/utils/update-check.ts +0 -182
  136. package/tsconfig.json +0 -20
  137. package/vitest.config.ts +0 -7
package/CONTRIBUTING.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Contributing to Wiggum CLI
2
2
 
3
- We welcome contributions! This document explains how to help and what to expect.
3
+ Thanks for your interest in contributing! This guide covers everything you need to get started.
4
4
 
5
- ## What we accept
5
+ ## What We Accept
6
6
 
7
7
  ### Always welcome
8
8
  - **Bug fixes** — Found something broken? PRs welcome
@@ -14,55 +14,149 @@ We welcome contributions! This document explains how to help and what to expect.
14
14
  - **New commands** — Open an issue before coding to align on scope
15
15
  - **TUI components** — Discuss architecture impacts first
16
16
  - **Integrations** — New API integrations need maintainer approval
17
+ - **Large refactors** — These need alignment first
17
18
 
18
- ## How to contribute
19
-
20
- 1. **Check existing issues** — Someone may already be working on it
21
- 2. **Open an issue first** — For anything beyond bug fixes, let's discuss before you code
22
- 3. **Wait for approval** — A maintainer will respond and give the go-ahead
23
- 4. **Keep PRs focused** — Small, single-purpose PRs are easier to review
24
- 5. **Add tests** — For bug fixes, include a test that would have caught it
25
-
26
- ## Development setup
19
+ ## Getting Started
27
20
 
28
21
  ```bash
29
- # Clone the repo
30
22
  git clone https://github.com/federiconeri/wiggum-cli.git
31
23
  cd wiggum-cli
24
+ npm install
25
+ npm run build
26
+ ```
32
27
 
33
- # Install dependencies
34
- pnpm install
28
+ ### Prerequisites
35
29
 
36
- # Run in development mode
37
- pnpm dev
30
+ - **Node.js** >= 18.0.0
31
+ - **npm**
32
+ - **Git**
38
33
 
39
- # Run tests
40
- pnpm test
34
+ ## Development
35
+
36
+ ### Build
37
+
38
+ ```bash
39
+ npm run build # Compile TypeScript + copy templates
40
+ npm run dev # Watch mode (recompiles on save)
41
41
  ```
42
42
 
43
- ## PR guidelines
43
+ ### Test
44
44
 
45
- - Reference the related issue in your PR description
46
- - Keep commits atomic and well-described
47
- - Ensure tests pass before submitting
48
- - Be patient — reviews may take a few days depending on maintainer availability
45
+ ```bash
46
+ npm test # Run all tests (vitest)
47
+ npm run test:watch # Watch mode
48
+ ```
49
49
 
50
- ## What we don't accept PRs for
50
+ ### Run locally
51
51
 
52
- - **Core AI/spec generation logic** — Maintained internally to ensure consistency
53
- - **Paid features** — Dashboard, API infrastructure, and cloud features are developed separately
54
- - **Large refactors without discussion** — These need alignment first
52
+ ```bash
53
+ npm start # Runs bin/ralph.js
54
+ # or
55
+ node bin/ralph.js
56
+ ```
55
57
 
56
- PRs in these areas without prior discussion will likely be closed.
58
+ ## Project Structure
57
59
 
58
- ## Found a security issue?
60
+ ```
61
+ src/
62
+ ├── ai/ # AI agents, conversation management, enhancers
63
+ ├── commands/ # CLI command handlers (init, new, run, etc.)
64
+ ├── context/ # Project context storage and conversion
65
+ ├── generator/ # Template-based file generation
66
+ ├── repl/ # REPL/interactive shell logic
67
+ ├── scanner/ # Tech stack detection (80+ technologies)
68
+ ├── templates/ # Templates for prompts, scripts, configs
69
+ ├── terminal/ # Terminal utilities
70
+ ├── tui/ # Ink-based terminal UI (screens, components, hooks)
71
+ ├── utils/ # Shared utilities (config, env, tracing)
72
+ └── index.ts # Entry point
73
+ ```
59
74
 
60
- Please don't open a public issue. Email security concerns directly to the maintainers.
75
+ Tests live next to source files as `*.test.ts`.
61
76
 
62
- ## Questions?
77
+ ## Making Changes
63
78
 
64
- Open a [Discussion](https://github.com/federiconeri/wiggum-cli/discussions) for general questions, ideas, or feedback.
79
+ ### Branch naming
80
+
81
+ ```
82
+ feat/short-description # New features
83
+ fix/short-description # Bug fixes
84
+ chore/short-description # Maintenance, refactoring
85
+ docs/short-description # Documentation
86
+ ```
87
+
88
+ ### Commit messages
89
+
90
+ We use [Conventional Commits](https://www.conventionalcommits.org/):
91
+
92
+ ```
93
+ feat: add spec autocomplete to /run command
94
+ fix(tui): handle empty input in interview screen
95
+ chore: bump version to 0.11.19
96
+ docs: update CLI reference in README
97
+ ```
98
+
99
+ **Format:** `type(scope): description`
100
+
101
+ | Type | When to use |
102
+ |------|------------|
103
+ | `feat` | New feature or capability |
104
+ | `fix` | Bug fix |
105
+ | `chore` | Maintenance, deps, version bumps |
106
+ | `docs` | Documentation only |
107
+ | `refactor` | Code change that neither fixes nor adds a feature |
108
+ | `test` | Adding or updating tests |
109
+
110
+ Common scopes: `tui`, `ai`, `cli`, `scanner`, `loop`.
111
+
112
+ ## Pull Requests
113
+
114
+ 1. Fork the repo and create your branch from `main`
115
+ 2. Make your changes and add tests if applicable
116
+ 3. Ensure `npm test` and `npm run build` pass
117
+ 4. Write a clear PR title using the commit convention format
118
+ 5. Reference the related issue in your PR description
119
+ 6. Keep PRs small and focused — single-purpose PRs are easier to review
120
+
121
+ ## Code Style
122
+
123
+ - **TypeScript** with strict mode enabled
124
+ - **ESM** modules (`import`/`export`, `.js` extensions in imports)
125
+ - **React JSX** for TUI components (Ink)
126
+ - Run `npm run build` to catch type errors before submitting
127
+
128
+ ## Reporting Bugs
129
+
130
+ [Open an issue](https://github.com/federiconeri/wiggum-cli/issues/new) with:
131
+
132
+ - Steps to reproduce
133
+ - Expected vs actual behavior
134
+ - Node.js version (`node -v`)
135
+ - Wiggum version (`wiggum --version`)
136
+ - OS and terminal
137
+
138
+ ## Feature Requests
139
+
140
+ [Open an issue](https://github.com/federiconeri/wiggum-cli/issues/new) describing:
141
+
142
+ - The problem you're trying to solve
143
+ - Your proposed solution
144
+ - Any alternatives you considered
145
+
146
+ ## Out of Scope
147
+
148
+ We don't accept PRs for these areas without prior discussion:
149
+
150
+ - **Core AI logic** — Maintained internally to ensure consistency and quality
151
+ - **Paid features** — Dashboard, API infrastructure, cloud environment, and notification systems are developed separately
152
+ - **Large refactors without discussion** — These need alignment with the maintainer first
153
+
154
+ PRs in these areas without prior discussion will likely be closed.
155
+
156
+ ## Security Issues
157
+
158
+ Please don't open a public issue. Email security concerns directly to the maintainers.
65
159
 
66
- ---
160
+ ## License
67
161
 
68
- Thank you for contributing!
162
+ By contributing, you agree that your contributions will be licensed under the project's [MIT + Commons Clause license](LICENSE).