devvami 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 (58) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +255 -0
  3. package/bin/dev.cmd +3 -0
  4. package/bin/dev.js +5 -0
  5. package/bin/run.cmd +3 -0
  6. package/bin/run.js +5 -0
  7. package/oclif.manifest.json +1238 -0
  8. package/package.json +161 -0
  9. package/src/commands/auth/login.js +89 -0
  10. package/src/commands/changelog.js +102 -0
  11. package/src/commands/costs/get.js +73 -0
  12. package/src/commands/create/repo.js +196 -0
  13. package/src/commands/docs/list.js +110 -0
  14. package/src/commands/docs/projects.js +92 -0
  15. package/src/commands/docs/read.js +172 -0
  16. package/src/commands/docs/search.js +103 -0
  17. package/src/commands/doctor.js +115 -0
  18. package/src/commands/init.js +222 -0
  19. package/src/commands/open.js +75 -0
  20. package/src/commands/pipeline/logs.js +41 -0
  21. package/src/commands/pipeline/rerun.js +66 -0
  22. package/src/commands/pipeline/status.js +62 -0
  23. package/src/commands/pr/create.js +114 -0
  24. package/src/commands/pr/detail.js +83 -0
  25. package/src/commands/pr/review.js +51 -0
  26. package/src/commands/pr/status.js +70 -0
  27. package/src/commands/repo/list.js +113 -0
  28. package/src/commands/search.js +62 -0
  29. package/src/commands/tasks/assigned.js +131 -0
  30. package/src/commands/tasks/list.js +133 -0
  31. package/src/commands/tasks/today.js +73 -0
  32. package/src/commands/upgrade.js +52 -0
  33. package/src/commands/whoami.js +85 -0
  34. package/src/formatters/cost.js +54 -0
  35. package/src/formatters/markdown.js +108 -0
  36. package/src/formatters/openapi.js +146 -0
  37. package/src/formatters/status.js +48 -0
  38. package/src/formatters/table.js +87 -0
  39. package/src/help.js +312 -0
  40. package/src/hooks/init.js +9 -0
  41. package/src/hooks/postrun.js +18 -0
  42. package/src/index.js +1 -0
  43. package/src/services/auth.js +83 -0
  44. package/src/services/aws-costs.js +80 -0
  45. package/src/services/clickup.js +288 -0
  46. package/src/services/config.js +59 -0
  47. package/src/services/docs.js +210 -0
  48. package/src/services/github.js +377 -0
  49. package/src/services/platform.js +48 -0
  50. package/src/services/shell.js +42 -0
  51. package/src/services/version-check.js +58 -0
  52. package/src/types.js +228 -0
  53. package/src/utils/banner.js +48 -0
  54. package/src/utils/errors.js +61 -0
  55. package/src/utils/gradient.js +130 -0
  56. package/src/utils/open-browser.js +29 -0
  57. package/src/utils/typewriter.js +48 -0
  58. package/src/validators/repo-name.js +42 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Devvami Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,255 @@
1
+ <p align="center">
2
+ <img src="docs/banner.jpg" alt="Devvami" width="100%" />
3
+ </p>
4
+
5
+ # 🧰 Devvami
6
+
7
+ <p align="center">
8
+ <strong>DevEx CLI for developers and teams — manage repos, PRs, pipelines, and costs from the terminal.</strong><br/>
9
+ Built for teams that move fast.
10
+ </p>
11
+
12
+ <p align="center">
13
+ <a href="https://www.npmjs.com/package/devvami"><img alt="npm" src="https://img.shields.io/npm/v/devvami?color=CB3837" /></a>
14
+ <a href="https://github.com/savez/devvami/actions"><img alt="ci" src="https://img.shields.io/github/actions/workflow/status/savez/devvami/release.yml?label=CI" /></a>
15
+ <a href="LICENSE"><img alt="license" src="https://img.shields.io/badge/license-MIT-lightgrey" /></a>
16
+ <a href="https://node.green/#ESMM"><img alt="node" src="https://img.shields.io/badge/node-%3E%3D24-green" /></a>
17
+ </p>
18
+
19
+ ---
20
+
21
+ ## ✨ What It Does
22
+
23
+ Devvami gives you a unified CLI to manage your entire development workflow:
24
+
25
+ | Feature | What You Can Do |
26
+ |---|---|
27
+ | 🔀 **Pull Requests** | Create, review, and track PRs with presets |
28
+ | 🚀 **Pipelines** | Monitor CI/CD runs, view logs, rerun failures |
29
+ | 📁 **Repositories** | List and manage GitHub repos |
30
+ | 💸 **Costs** | Analyze AWS costs by service |
31
+ | ✅ **Tasks** | View and manage tasks without leaving the terminal |
32
+ | 📖 **Docs** | Search and read repository documentation |
33
+ | 🔍 **Search** | Search code across repositories |
34
+ | 🩺 **Health Check** | Diagnose your development environment |
35
+
36
+ All from your terminal. No context switching.
37
+
38
+ ---
39
+
40
+ ## 🚀 Quick Start
41
+
42
+ ### Installation
43
+
44
+ ```bash
45
+ npm install -g devvami
46
+ ```
47
+
48
+ ### First Time Setup
49
+
50
+ ```bash
51
+ dvmi init
52
+ ```
53
+
54
+ This wizard will:
55
+ - Check your development prerequisites
56
+ - Ask about GitHub organization (optional)
57
+ - Configure AWS profile and region
58
+ - Set up integrations (GitHub, AWS, task management)
59
+
60
+ ### Verify Installation
61
+
62
+ ```bash
63
+ dvmi --version
64
+ dvmi --help
65
+ dvmi doctor
66
+ ```
67
+
68
+ ---
69
+
70
+ ## 📖 Commands
71
+
72
+ ### Organization
73
+
74
+ ```bash
75
+ dvmi init # Setup: configure auth, org, AWS, integrations
76
+ dvmi doctor # Health check: verify your environment
77
+ dvmi upgrade # Update to latest version
78
+ dvmi whoami # Show current identity (GitHub, AWS, etc.)
79
+ ```
80
+
81
+ ### Pull Requests
82
+
83
+ ```bash
84
+ dvmi pr create # Create a PR with presets
85
+ dvmi pr status # Show PR status for current branch
86
+ dvmi pr detail # View detailed PR information
87
+ dvmi pr review # Review a PR
88
+ ```
89
+
90
+ ### Repositories
91
+
92
+ ```bash
93
+ dvmi repo list # List all repos in your org
94
+ dvmi create repo # Create a new repo from template
95
+ ```
96
+
97
+ ### CI/CD Pipelines
98
+
99
+ ```bash
100
+ dvmi pipeline status # Show workflow status
101
+ dvmi pipeline logs # View workflow logs
102
+ dvmi pipeline rerun # Rerun a failed workflow
103
+ ```
104
+
105
+ ### Tasks & Work
106
+
107
+ ```bash
108
+ dvmi tasks list # List all tasks
109
+ dvmi tasks today # Show today's tasks
110
+ dvmi tasks assigned # Show tasks assigned to you
111
+ ```
112
+
113
+ ### Costs
114
+
115
+ ```bash
116
+ dvmi costs get # Analyze AWS costs
117
+ ```
118
+
119
+ ### Documentation
120
+
121
+ ```bash
122
+ dvmi docs list # List docs in repositories
123
+ dvmi docs read # Read documentation
124
+ dvmi docs search # Search docs
125
+ dvmi docs projects # List documented projects
126
+ ```
127
+
128
+ ### Other
129
+
130
+ ```bash
131
+ dvmi auth login # Login to GitHub/AWS
132
+ dvmi search # Search code across repos
133
+ dvmi changelog # Generate changelog from commits
134
+ dvmi open # Open resources in browser
135
+ ```
136
+
137
+ ---
138
+
139
+ ## ⚙️ Configuration
140
+
141
+ Devvami stores config at `~/.config/dvmi/config.json`:
142
+
143
+ ```json
144
+ {
145
+ "org": "myorg",
146
+ "awsProfile": "default",
147
+ "awsRegion": "eu-west-1",
148
+ "shell": "osxkeychain",
149
+ "clickup": {
150
+ "teamId": "...",
151
+ "teamName": "My Team",
152
+ "authMethod": "personal_token"
153
+ }
154
+ }
155
+ ```
156
+
157
+ Run `dvmi init` to update settings anytime.
158
+
159
+ ---
160
+
161
+ ## 🔐 Credentials
162
+
163
+ Devvami uses your system's **secure credential storage**:
164
+
165
+ - **macOS**: Keychain
166
+ - **Linux**: Secret Service / pass
167
+ - **Windows**: Credential Manager
168
+
169
+ Tokens are **never stored in plain text**. They're stored securely via `@keytar/keytar`.
170
+
171
+ ---
172
+
173
+ ## 📚 Documentation
174
+
175
+ - **Setup**: See [Quick Start](#-quick-start) above
176
+ - **Commands**: Run `dvmi --help` or `dvmi <command> --help`
177
+ - **Contributing**: See [CONTRIBUTING.md](CONTRIBUTING.md)
178
+ - **Security**: See [SECURITY.md](SECURITY.md)
179
+ - **Code of Conduct**: See [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)
180
+
181
+ ---
182
+
183
+ ## 🤝 Contributing
184
+
185
+ We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for:
186
+
187
+ - **Development setup**
188
+ - **Code style** (JavaScript ESM + JSDoc)
189
+ - **Testing & linting**
190
+ - **Commit conventions**
191
+ - **PR process**
192
+
193
+ Quick start:
194
+
195
+ ```bash
196
+ git clone https://github.com/savez/devvami
197
+ cd devvami
198
+ nvm use
199
+ pnpm install
200
+ pnpm test
201
+ pnpm lint
202
+ pnpm commit # Use interactive commit
203
+ ```
204
+
205
+ ---
206
+
207
+ ## 📋 Requirements
208
+
209
+ - **Node.js >= 24** (managed with [nvm](https://github.com/nvm-sh/nvm))
210
+ - **pnpm >= 10** or npm/yarn
211
+ - **Git**
212
+ - **GitHub CLI** (`gh`) — recommended
213
+ - **AWS CLI** — optional, for cost analysis
214
+
215
+ ---
216
+
217
+ ## 🐛 Found a Bug?
218
+
219
+ Please open an [issue](https://github.com/savez/devvami/issues/new?template=bug_report.md) with:
220
+
221
+ - Clear description of the problem
222
+ - Steps to reproduce
223
+ - Your environment (OS, Node.js version, etc.)
224
+ - Expected vs. actual behavior
225
+
226
+ For security issues, see [SECURITY.md](SECURITY.md).
227
+
228
+ ---
229
+
230
+ ## 💡 Have an Idea?
231
+
232
+ Open a [feature request](https://github.com/savez/devvami/issues/new?template=feature_request.md)
233
+
234
+ ---
235
+
236
+ ## 📄 License
237
+
238
+ MIT License — See [LICENSE](LICENSE) for details.
239
+
240
+ ---
241
+
242
+ ## 🙏 Credits
243
+
244
+ Built with:
245
+
246
+ - [oclif](https://oclif.io/) — CLI framework
247
+ - [octokit](https://github.com/octokit/rest.js) — GitHub API
248
+ - [chalk](https://github.com/chalk/chalk) — Colored output
249
+ - [ora](https://github.com/sindresorhus/ora) — Spinners
250
+ - [keytar](https://github.com/atom/node-keytar) — Secure credentials
251
+ - [@inquirer/prompts](https://github.com/SBoudrias/Inquirer.js) — Interactive prompts
252
+
253
+ ---
254
+
255
+ **Made with ❤️ by [Devvami Contributors](https://github.com/savez/devvami/graphs/contributors)**
package/bin/dev.cmd ADDED
@@ -0,0 +1,3 @@
1
+ @echo off
2
+
3
+ node --loader ts-node/esm --no-warnings=ExperimentalWarning "%~dp0\dev" %*
package/bin/dev.js ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env -S node --loader ts-node/esm --disable-warning=ExperimentalWarning
2
+
3
+ import {execute} from '@oclif/core'
4
+
5
+ await execute({development: true, dir: import.meta.url})
package/bin/run.cmd ADDED
@@ -0,0 +1,3 @@
1
+ @echo off
2
+
3
+ node "%~dp0\run" %*
package/bin/run.js ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+
3
+ import {execute} from '@oclif/core'
4
+
5
+ await execute({dir: import.meta.url})