kodu 1.1.14 → 1.1.15
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.
- package/AGENTS.md +184 -199
- package/README.md +32 -3
- package/dist/src/app.module.js +2 -0
- package/dist/src/app.module.js.map +1 -1
- package/dist/src/commands/init/init.command.js +16 -0
- package/dist/src/commands/init/init.command.js.map +1 -1
- package/dist/src/commands/ops/ops.command.d.ts +4 -0
- package/dist/src/commands/ops/ops.command.js +39 -0
- package/dist/src/commands/ops/ops.command.js.map +1 -0
- package/dist/src/commands/ops/ops.module.d.ts +2 -0
- package/dist/src/commands/ops/ops.module.js +33 -0
- package/dist/src/commands/ops/ops.module.js.map +1 -0
- package/dist/src/commands/ops/ops.types.d.ts +13 -0
- package/dist/src/commands/ops/ops.types.js +12 -0
- package/dist/src/commands/ops/ops.types.js.map +1 -0
- package/dist/src/commands/ops/ops.utils.d.ts +13 -0
- package/dist/src/commands/ops/ops.utils.js +117 -0
- package/dist/src/commands/ops/ops.utils.js.map +1 -0
- package/dist/src/commands/ops/subcommands/ops-env.command.d.ts +17 -0
- package/dist/src/commands/ops/subcommands/ops-env.command.js +109 -0
- package/dist/src/commands/ops/subcommands/ops-env.command.js.map +1 -0
- package/dist/src/commands/ops/subcommands/ops-routes.command.d.ts +18 -0
- package/dist/src/commands/ops/subcommands/ops-routes.command.js +166 -0
- package/dist/src/commands/ops/subcommands/ops-routes.command.js.map +1 -0
- package/dist/src/commands/ops/subcommands/ops-service.command.d.ts +16 -0
- package/dist/src/commands/ops/subcommands/ops-service.command.js +128 -0
- package/dist/src/commands/ops/subcommands/ops-service.command.js.map +1 -0
- package/dist/src/commands/ops/subcommands/ops-sysinfo.command.d.ts +9 -0
- package/dist/src/commands/ops/subcommands/ops-sysinfo.command.js +60 -0
- package/dist/src/commands/ops/subcommands/ops-sysinfo.command.js.map +1 -0
- package/dist/src/core/config/config.schema.d.ts +28 -0
- package/dist/src/core/config/config.schema.js +19 -0
- package/dist/src/core/config/config.schema.js.map +1 -1
- package/dist/src/shared/ssh/ssh.module.d.ts +2 -0
- package/dist/src/shared/ssh/ssh.module.js +21 -0
- package/dist/src/shared/ssh/ssh.module.js.map +1 -0
- package/dist/src/shared/ssh/ssh.service.d.ts +11 -0
- package/dist/src/shared/ssh/ssh.service.js +53 -0
- package/dist/src/shared/ssh/ssh.service.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/docs/plans/2026-03-01-agentops-design.md +194 -0
- package/docs/plans/2026-03-01-agentops-implementation.md +358 -0
- package/kodu.json +15 -0
- package/kodu.schema.json +59 -0
- package/package.json +1 -1
- package/src/app.module.ts +2 -0
- package/src/commands/init/init.command.ts +16 -0
- package/src/commands/ops/ops.command.ts +30 -0
- package/src/commands/ops/ops.module.ts +20 -0
- package/src/commands/ops/ops.types.ts +24 -0
- package/src/commands/ops/ops.utils.ts +156 -0
- package/src/commands/ops/subcommands/ops-env.command.ts +121 -0
- package/src/commands/ops/subcommands/ops-routes.command.ts +185 -0
- package/src/commands/ops/subcommands/ops-service.command.ts +154 -0
- package/src/commands/ops/subcommands/ops-sysinfo.command.ts +53 -0
- package/src/core/config/config.schema.ts +23 -0
- package/src/shared/ssh/ssh.module.ts +8 -0
- package/src/shared/ssh/ssh.service.ts +61 -0
- package/.cursor/commands/openspec-apply.md +0 -23
- package/.cursor/commands/openspec-archive.md +0 -27
- package/.cursor/commands/openspec-proposal.md +0 -28
- package/.windsurf/workflows/openspec-apply.md +0 -21
- package/.windsurf/workflows/openspec-archive.md +0 -25
- package/.windsurf/workflows/openspec-proposal.md +0 -26
- package/openspec/AGENTS.md +0 -456
- package/openspec/changes/archive/2026-01-26-translate-project-to-english/design.md +0 -30
- package/openspec/changes/archive/2026-01-26-translate-project-to-english/proposal.md +0 -17
- package/openspec/changes/archive/2026-01-26-translate-project-to-english/specs/ai/spec.md +0 -26
- package/openspec/changes/archive/2026-01-26-translate-project-to-english/specs/cleaner/spec.md +0 -26
- package/openspec/changes/archive/2026-01-26-translate-project-to-english/specs/config/spec.md +0 -22
- package/openspec/changes/archive/2026-01-26-translate-project-to-english/specs/ui/spec.md +0 -33
- package/openspec/changes/archive/2026-01-26-translate-project-to-english/tasks.md +0 -33
- package/openspec/project.md +0 -72
- package/openspec/specs/cleaner/spec.md +0 -31
package/AGENTS.md
CHANGED
|
@@ -1,119 +1,139 @@
|
|
|
1
|
-
|
|
2
|
-
# OpenSpec Instructions
|
|
1
|
+
# AGENTS.md
|
|
3
2
|
|
|
4
|
-
|
|
3
|
+
This file provides guidelines and instructions for AI assistants working on the Kodu project.
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
- Mentions planning or proposals (words like proposal, spec, change, plan)
|
|
8
|
-
- Introduces new capabilities, breaking changes, architecture shifts, or big performance/security work
|
|
9
|
-
- Sounds ambiguous and you need the authoritative spec before coding
|
|
5
|
+
## 1. Project Overview
|
|
10
6
|
|
|
11
|
-
|
|
12
|
-
- How to create and apply change proposals
|
|
13
|
-
- Spec format and conventions
|
|
14
|
-
- Project structure and guidelines
|
|
7
|
+
**Kodu** is a high-performance CLI utility that bridges local development environments with LLMs. It automates context preparation, code cleaning, reviews, and commit drafting.
|
|
15
8
|
|
|
16
|
-
|
|
9
|
+
- **Key Goals:** Speed (<0.5s startup), Determinism (no AI for critical file ops), DX (Developer Experience)
|
|
10
|
+
- **Current Phase:** Phase 4 - AI Integration with Mastra/Git
|
|
11
|
+
- **Available Commands:** `init`, `pack`, `clean`, `review`, `commit`, `ops`
|
|
17
12
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
# AGENTS
|
|
13
|
+
## 2. Technology Stack (Enforced)
|
|
21
14
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
15
|
+
| Category | USE | DO NOT USE |
|
|
16
|
+
|----------|-----|------------|
|
|
17
|
+
| Framework | NestJS + nest-commander | Pure Node.js, Oclif |
|
|
18
|
+
| File System | node:fs/promises + tinyglobby | fs-extra, glob, rimraf |
|
|
19
|
+
| Config | lilconfig | cosmiconfig, rc |
|
|
20
|
+
| Validation | zod | class-validator, joi |
|
|
21
|
+
| Process/Git | execa | child_process, shelljs |
|
|
22
|
+
| CLI UI | @inquirer/prompts + picocolors | inquirer (legacy), chalk |
|
|
23
|
+
| Spinners | yocto-spinner | ora, cli-spinners |
|
|
24
|
+
| AI Agent | mastra | Direct openai SDK |
|
|
25
|
+
| AST/Parsing | ts-morph | Regex, babel |
|
|
26
|
+
| Tokens | js-tiktoken | gpt-3-encoder |
|
|
27
|
+
| Clipboard | clipboardy | Native APIs |
|
|
28
|
+
|
|
29
|
+
## 3. Architecture
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
We strictly follow the "Fresh & Modern" stack strategy. Do not install legacy libraries.
|
|
33
|
-
|
|
34
|
-
| Category | **USE THIS** ✅ | **DO NOT USE** ❌ |
|
|
35
|
-
| :--- | :--- | :--- |
|
|
36
|
-
| **Framework** | `NestJS` + `nest-commander` | Pure Node.js scripts, Oclif |
|
|
37
|
-
| **File System** | `node:fs/promises` + `tinyglobby` | `fs-extra`, `glob`, `fast-glob`, `rimraf` |
|
|
38
|
-
| **Config Loading** | `lilconfig` | `cosmiconfig`, `rc` |
|
|
39
|
-
| **Validation** | `zod` | `class-validator`, `joi` |
|
|
40
|
-
| **Process/Git** | `execa` | `child_process`, `shelljs` |
|
|
41
|
-
| **CLI UI** | `@inquirer/prompts` + `picocolors` | `inquirer` (legacy), `chalk`, `colors` |
|
|
42
|
-
| **Spinners** | `yocto-spinner` | `ora`, `cli-spinners` |
|
|
43
|
-
| **AI Agent** | `mastra` | Direct `openai` SDK calls (unless inside Mastra) |
|
|
44
|
-
| **AST/Parsing** | `ts-morph` | Regex for code parsing, `babel` |
|
|
45
|
-
| **Tokens** | `js-tiktoken` | `gpt-3-encoder` |
|
|
46
|
-
| **Git** | `git` via `execa` | `child_process`, `shelljs` |
|
|
47
|
-
| **Clipboard** | `clipboardy` | Native clipboard APIs |
|
|
48
|
-
|
|
49
|
-
## 3. Architecture & Module Map
|
|
50
|
-
The project is NOT a flat structure. Use the following Module Map as a guide for where to place files.
|
|
51
|
-
|
|
52
|
-
```text
|
|
31
|
+
```
|
|
53
32
|
src/
|
|
54
|
-
├── app.module.ts
|
|
55
|
-
├── main.ts
|
|
56
|
-
|
|
57
|
-
├──
|
|
58
|
-
│ ├──
|
|
59
|
-
│
|
|
60
|
-
|
|
61
|
-
│
|
|
62
|
-
├──
|
|
63
|
-
│ ├──
|
|
64
|
-
│
|
|
65
|
-
│
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
├──
|
|
70
|
-
├──
|
|
71
|
-
├──
|
|
72
|
-
|
|
73
|
-
└── commit/ # CommitModule (kodu commit)
|
|
33
|
+
├── app.module.ts # Root Orchestrator
|
|
34
|
+
├── main.ts # Entry Point
|
|
35
|
+
├── core/ # Global Infrastructure
|
|
36
|
+
│ ├── config/ # ConfigModule (Zod + lilconfig)
|
|
37
|
+
│ ├── file-system/ # FsModule (tinyglobby)
|
|
38
|
+
│ └── ui/ # UiModule (spinners, loggers)
|
|
39
|
+
├── shared/ # Shared Business Logic
|
|
40
|
+
│ ├── tokenizer/ # TokenizerModule
|
|
41
|
+
│ ├── git/ # GitModule
|
|
42
|
+
│ ├── ai/ # AiModule (Mastra)
|
|
43
|
+
│ └── cleaner/ # CleanerService (AST)
|
|
44
|
+
│ └── ssh/ # SshModule (remote ops via SSH)
|
|
45
|
+
└── commands/ # Feature Commands
|
|
46
|
+
├── init/ # kodu init
|
|
47
|
+
├── pack/ # kodu pack
|
|
48
|
+
├── clean/ # kodu clean
|
|
49
|
+
├── review/ # kodu review
|
|
50
|
+
├── commit/ # kodu commit
|
|
51
|
+
└── ops/ # kodu ops <subcommand>
|
|
74
52
|
```
|
|
75
53
|
|
|
76
|
-
|
|
54
|
+
## 4. Build, Lint & Test Commands
|
|
77
55
|
|
|
78
|
-
|
|
56
|
+
### Essential Commands
|
|
57
|
+
```bash
|
|
58
|
+
# Build the project
|
|
59
|
+
npm run build # Full build (Nest build) + make executable
|
|
79
60
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
- **Strictness:** `strictNullChecks` is ON. No `any` allowed unless absolutely necessary (use `unknown` and refine).
|
|
83
|
-
- **Async/Await:** Prefer `node:fs/promises` over sync methods where possible, but for CLI startup (Config loading), sync operations are acceptable if they improve perceived performance.
|
|
61
|
+
# Run the built artifact
|
|
62
|
+
npm run start:prod # Run from dist/
|
|
84
63
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
64
|
+
# Type check
|
|
65
|
+
npm run ts:check # TypeScript compilation check
|
|
66
|
+
|
|
67
|
+
# Lint and format
|
|
68
|
+
npm run lint # Run Biome linter
|
|
69
|
+
npm run lint:fix # Biome with auto-fix
|
|
70
|
+
|
|
71
|
+
# Full check (required before commit)
|
|
72
|
+
npm run check # TypeCheck + Biome + Knip
|
|
73
|
+
|
|
74
|
+
# Run tests (if configured)
|
|
75
|
+
npm test # Run all tests
|
|
76
|
+
npm test -- <pattern> # Run tests matching pattern
|
|
77
|
+
npm test -- --testPathPattern=<pattern> # Alternative
|
|
78
|
+
```
|
|
90
79
|
|
|
91
|
-
###
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
- **Run Check:** Always run `npm run lint` before finishing a task.
|
|
80
|
+
### Running a Single Test
|
|
81
|
+
```bash
|
|
82
|
+
# By file name
|
|
83
|
+
npm test -- filename
|
|
96
84
|
|
|
97
|
-
|
|
85
|
+
# By pattern
|
|
86
|
+
npm test -- --testNamePattern="test name"
|
|
98
87
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
2. Create `<name>.command.ts` and `<name>.module.ts`.
|
|
102
|
-
3. Implement `run()` method extending `CommandRunner`.
|
|
103
|
-
4. Decorate the class with `@Command()` from `nest-commander`.
|
|
104
|
-
5. Register the module in `src/app.module.ts`.
|
|
105
|
-
6. **Test:** Run `npm run build && node dist/main.js <name>` to verify.
|
|
88
|
+
# Watch mode
|
|
89
|
+
npm test -- --watch
|
|
106
90
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
- `npm run check`: Run TypeCheck + Biome + Knip (Dead code detection).
|
|
111
|
-
- `npm run lint`: Run Biome linter.
|
|
112
|
-
- `npm run lint:fix`: Run Biome with auto-fix.
|
|
91
|
+
# With coverage
|
|
92
|
+
npm test -- --coverage
|
|
93
|
+
```
|
|
113
94
|
|
|
114
|
-
##
|
|
95
|
+
## 5. Code Style Guidelines
|
|
96
|
+
|
|
97
|
+
### General
|
|
98
|
+
- **ESM Only:** Use `import` statements (nodenext mode)
|
|
99
|
+
- **Strict Mode:** `strictNullChecks` is ON. Avoid `any`; use `unknown` with narrowing
|
|
100
|
+
- **Quotes:** Single quotes preferred
|
|
101
|
+
- **Indentation:** 2 spaces
|
|
102
|
+
- **No Comments:** Unless explicitly requested by user
|
|
103
|
+
|
|
104
|
+
### Imports
|
|
105
|
+
- Use explicit relative imports: `import { Foo } from './foo'`
|
|
106
|
+
- Avoid barrel exports (`index.ts`) unless necessary
|
|
107
|
+
- No circular dependencies (NestJS module structure enforces this)
|
|
108
|
+
|
|
109
|
+
### Types
|
|
110
|
+
- Prefer explicit types over `any`
|
|
111
|
+
- Use `unknown` and narrow with type guards or Zod validation
|
|
112
|
+
- Interface over type for object shapes
|
|
113
|
+
- Use readonly for immutable data
|
|
114
|
+
|
|
115
|
+
### Naming Conventions
|
|
116
|
+
- **Files:** kebab-case (`my-file.ts`)
|
|
117
|
+
- **Classes:** PascalCase (`MyClass`)
|
|
118
|
+
- **Functions:** camelCase (`myFunction`)
|
|
119
|
+
- **Constants:** UPPER_SNAKE_CASE for compile-time constants
|
|
120
|
+
- **Interfaces:** PascalCase, no `I` prefix (`User` not `IUser`)
|
|
121
|
+
|
|
122
|
+
### Error Handling
|
|
123
|
+
- Use custom error classes extending `Error`
|
|
124
|
+
- Never swallow errors silently
|
|
125
|
+
- Provide meaningful error messages
|
|
126
|
+
- Use try/catch with specific error types
|
|
127
|
+
- Validate inputs with Zod schemas
|
|
128
|
+
|
|
129
|
+
### NestJS Specifics
|
|
130
|
+
- All commands extend `CommandRunner` from `nest-commander`
|
|
131
|
+
- Use Dependency Injection - never import services directly
|
|
132
|
+
- Register modules in `app.module.ts`
|
|
133
|
+
- Use `@Injectable()` decorator for services
|
|
134
|
+
|
|
135
|
+
## 6. Configuration (kodu.json)
|
|
115
136
|
|
|
116
|
-
Configuration structure:
|
|
117
137
|
```json
|
|
118
138
|
{
|
|
119
139
|
"llm": {
|
|
@@ -123,117 +143,82 @@ Configuration structure:
|
|
|
123
143
|
"cleaner": {
|
|
124
144
|
"whitelist": ["//!"],
|
|
125
145
|
"keepJSDoc": true,
|
|
126
|
-
"useGitignore": true
|
|
127
|
-
"ignore": []
|
|
146
|
+
"useGitignore": true
|
|
128
147
|
},
|
|
129
148
|
"packer": {
|
|
130
|
-
"ignore": [
|
|
131
|
-
|
|
132
|
-
"yarn.lock",
|
|
133
|
-
"pnpm-lock.yaml",
|
|
134
|
-
".git",
|
|
135
|
-
".kodu",
|
|
136
|
-
"node_modules",
|
|
137
|
-
"dist",
|
|
138
|
-
"coverage"
|
|
139
|
-
],
|
|
140
|
-
"useGitignore": true,
|
|
141
|
-
"contentBasedBinaryDetection": false
|
|
149
|
+
"ignore": ["*.lock", "node_modules", "dist"],
|
|
150
|
+
"useGitignore": true
|
|
142
151
|
},
|
|
143
|
-
"
|
|
144
|
-
"
|
|
145
|
-
"
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
152
|
+
"ops": {
|
|
153
|
+
"servers": {
|
|
154
|
+
"dev": {
|
|
155
|
+
"host": "example.com",
|
|
156
|
+
"port": 22,
|
|
157
|
+
"user": "ubuntu",
|
|
158
|
+
"sshKeyPath": "~/.ssh/id_rsa",
|
|
159
|
+
"paths": {
|
|
160
|
+
"apps": "/var/agent-apps",
|
|
161
|
+
"caddy": "/var/agent-apps/caddy"
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
151
165
|
}
|
|
152
166
|
}
|
|
153
167
|
```
|
|
154
168
|
|
|
155
|
-
|
|
156
|
-
-
|
|
157
|
-
-
|
|
158
|
-
|
|
159
|
-
**Supported Providers:**
|
|
160
|
-
Kodu supports 72+ providers through Mastra's model router:
|
|
161
|
-
|
|
162
|
-
- **OpenAI**: `openai/gpt-4o`, `openai/gpt-4o-mini`, `openai/gpt-5`, etc.
|
|
163
|
-
- **Anthropic**: `anthropic/claude-4-5-sonnet`, `anthropic/claude-opus-4-1`, etc.
|
|
164
|
-
- **Google Gemini**: `google/gemini-2.5-flash`, `google/gemini-2.5-pro`, etc.
|
|
165
|
-
- **xAI**: `xai/grok-4`, etc.
|
|
166
|
-
- **OpenRouter**: `openrouter/anthropic/claude-haiku-4-5`, etc.
|
|
167
|
-
- **And 65+ more providers**
|
|
168
|
-
|
|
169
|
-
**API Key Environment Variables:**
|
|
170
|
-
- OpenAI: `OPENAI_API_KEY`
|
|
171
|
-
- Anthropic: `ANTHROPIC_API_KEY`
|
|
172
|
-
- Google: `GOOGLE_API_KEY`
|
|
173
|
-
- xAI: `XAI_API_KEY`
|
|
174
|
-
- OpenRouter: `OPENROUTER_API_KEY`
|
|
175
|
-
- Others: See provider documentation
|
|
176
|
-
|
|
177
|
-
**Cleaner Whitelist Behavior:**
|
|
178
|
-
- *System:* Automatically preserved: `@ts-ignore`, `@ts-expect-error`, `eslint-disable`, `prettier-ignore`, `biome-ignore`, `TODO`, `FIXME`.
|
|
179
|
-
- *Biome:* Special support for `// biome-ignore ...` comments.
|
|
180
|
-
- *User:* Custom list in `cleaner.whitelist` (e.g., `//!`).
|
|
181
|
-
|
|
182
|
-
**Config Loading:**
|
|
183
|
-
- Uses `lilconfig` to search for `kodu.json` in the current working directory.
|
|
184
|
-
- Validated via Zod schema on every app startup.
|
|
185
|
-
- App exits with error message if config is missing or invalid.
|
|
169
|
+
- Model format: `provider/model-name` (e.g., `openai/gpt-4o`, `anthropic/claude-4-5-sonnet`)
|
|
170
|
+
- API keys from env vars only (never store in config)
|
|
171
|
+
- Config validated via Zod on startup
|
|
186
172
|
|
|
187
173
|
## 7. Commands Reference
|
|
188
174
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
- `--template <name>`: Use prompt template from `.kodu/prompts/<name>.txt`.
|
|
198
|
-
- `--out <file>`: Write to file instead of stdout.
|
|
199
|
-
- Respects `.gitignore` and `packer.ignore` patterns.
|
|
200
|
-
- Always displays token count and estimated cost.
|
|
201
|
-
|
|
202
|
-
### 7.3. `kodu clean [options]`
|
|
203
|
-
- Removes comments from JS/TS files using AST parsing.
|
|
204
|
-
- Options:
|
|
205
|
-
- `--dry-run`: Show what would be removed without modifying files.
|
|
206
|
-
- Supports: `.ts`, `.js`, `.tsx`, `.jsx`.
|
|
207
|
-
- Deterministic (no AI) - uses `ts-morph` for safe parsing.
|
|
208
|
-
- Preserves system comments and user whitelist.
|
|
209
|
-
|
|
210
|
-
### 7.4. `kodu review [options]`
|
|
211
|
-
- Analyzes staged git diff via AI.
|
|
212
|
-
- Options:
|
|
213
|
-
- `--mode <mode>`: Review mode - `bug` (default), `style`, `security`, or custom mode from `prompts.review`. Standard modes (`bug`, `style`, `security`) are always available. Custom modes require configuration in `prompts.review` section of `kodu.json`.
|
|
214
|
-
- `--ci`: CI/CD mode (no spinners, no buffering).
|
|
215
|
-
- `--output <file>`: Save output to file.
|
|
216
|
-
- Requires: Git repository, staged changes, API key.
|
|
217
|
-
|
|
218
|
-
### 7.5. `kodu commit [options]`
|
|
219
|
-
- Generates Conventional Commit message from staged diff.
|
|
220
|
-
- Options:
|
|
221
|
-
- `--ci`: CI/CD mode (no spinners).
|
|
222
|
-
- `--output <file>`: Save message to file.
|
|
223
|
-
- Outputs to stdout (does NOT execute `git commit`).
|
|
224
|
-
- Requires: Git repository, staged changes, API key.
|
|
175
|
+
| Command | Description | Key Options |
|
|
176
|
+
|---------|-------------|-------------|
|
|
177
|
+
| `kodu init` | Interactive setup wizard | - |
|
|
178
|
+
| `kodu pack` | Bundle files for LLM | `--copy`, `--template`, `--out` |
|
|
179
|
+
| `kodu clean` | Remove comments (AST-based) | `--dry-run` |
|
|
180
|
+
| `kodu review` | AI code review | `--mode`, `--ci`, `--output` |
|
|
181
|
+
| `kodu commit` | Generate commit message | `--ci`, `--output` |
|
|
182
|
+
| `kodu ops` | Remote server operations over SSH (JSON-only) | `sysinfo`, `env`, `routes`, `service` |
|
|
225
183
|
|
|
226
184
|
## 8. Critical Constraints
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
## 9.
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
185
|
+
|
|
186
|
+
1. **No AI in Cleaner:** `clean` command is deterministic (AST-based), never AI-generated
|
|
187
|
+
2. **Validation First:** Invalid `kodu.json` causes graceful crash with Zod error
|
|
188
|
+
3. **Secrets:** Never commit secrets. API keys from env vars only
|
|
189
|
+
4. **Performance:** Mindful of import costs. Use lightweight libraries
|
|
190
|
+
5. **Git Preconditions:** AI commands require git repo with staged changes
|
|
191
|
+
6. **Config Location:** `kodu.json` must be in current working directory
|
|
192
|
+
7. **AgentOps Output Contract:** `kodu ops` commands must return strict JSON (no spinners/colors/prompts)
|
|
193
|
+
|
|
194
|
+
## 9. Development Workflow
|
|
195
|
+
|
|
196
|
+
### Adding a New Command
|
|
197
|
+
1. Create `src/commands/<name>/`
|
|
198
|
+
2. Create `<name>.command.ts` and `<name>.module.ts`
|
|
199
|
+
3. Implement `run()` extending `CommandRunner`
|
|
200
|
+
4. Decorate with `@Command()` from `nest-commander`
|
|
201
|
+
5. Register module in `app.module.ts`
|
|
202
|
+
6. Test: `npm run build && node dist/main.js <name>`
|
|
203
|
+
|
|
204
|
+
### Before Commit
|
|
205
|
+
Always run:
|
|
206
|
+
```bash
|
|
207
|
+
npm run check
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
This executes: TypeScript check + Biome lint + Knip dead code detection.
|
|
211
|
+
|
|
212
|
+
## 10. Testing Strategy
|
|
213
|
+
|
|
214
|
+
- **Primary Gate:** Static analysis (TypeScript + Biome + Knip)
|
|
215
|
+
- **No Legacy Tests:** Project relies on strict static typing
|
|
216
|
+
- If tests exist: place in `__tests__/` or `*.test.ts` files
|
|
217
|
+
- Use Vitest or Jest (check package.json for actual test runner)
|
|
218
|
+
|
|
219
|
+
## 11. Handling Uncertainties
|
|
220
|
+
|
|
221
|
+
- Unclear requirements? Ask the user first
|
|
222
|
+
- Library not in Tech Stack section? Prefer native Node.js APIs
|
|
223
|
+
- New dependency? Ensure it follows "Fresh & Modern" strategy
|
|
224
|
+
- Breaking changes? Create an OpenSpec proposal
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
**The AI-First CLI for Modern Developers**
|
|
6
6
|
|
|
7
|
-
Generate contexts, clean code, review PRs, and
|
|
7
|
+
Generate contexts, clean code, review PRs, draft commits, and run remote ops—instantly.
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/kodu)
|
|
10
10
|
[](LICENSE)
|
|
@@ -22,6 +22,7 @@ Generate contexts, clean code, review PRs, and draft commits—instantly.
|
|
|
22
22
|
| Hitting token limits with comments | **`kodu clean`** strips noise deterministically |
|
|
23
23
|
| Context switching for code reviews | **`kodu review`** checks logic inside your terminal |
|
|
24
24
|
| Writing boring commit messages | **`kodu commit`** generates semantic git messages |
|
|
25
|
+
| SSHing around servers manually | **`kodu ops`** runs machine-readable remote operations |
|
|
25
26
|
|
|
26
27
|
---
|
|
27
28
|
|
|
@@ -88,6 +89,20 @@ kodu review --mode bug
|
|
|
88
89
|
kodu review --mode security
|
|
89
90
|
```
|
|
90
91
|
|
|
92
|
+
### 4. "I need my agent to inspect a server"
|
|
93
|
+
Run remote diagnostics and operations via `kodu ops` with strict JSON output.
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# Server health snapshot
|
|
97
|
+
kodu ops sysinfo dev
|
|
98
|
+
|
|
99
|
+
# Manage app env vars remotely
|
|
100
|
+
kodu ops env dev set my-app --key NODE_ENV --val production
|
|
101
|
+
|
|
102
|
+
# Read Caddy routes (raw Caddyfile)
|
|
103
|
+
kodu ops routes dev list
|
|
104
|
+
```
|
|
105
|
+
|
|
91
106
|
---
|
|
92
107
|
|
|
93
108
|
## ⚙️ Configuration
|
|
@@ -108,17 +123,31 @@ Kodu creates a `kodu.json` in your root. It's pre-configured, but fully hackable
|
|
|
108
123
|
"whitelist": ["//!"]
|
|
109
124
|
},
|
|
110
125
|
"packer": {
|
|
111
|
-
// Files to strictly ignore
|
|
112
126
|
"ignore": ["package-lock.json", "dist", "coverage"]
|
|
113
127
|
},
|
|
128
|
+
"ops": {
|
|
129
|
+
"servers": {
|
|
130
|
+
"dev": {
|
|
131
|
+
"host": "example.com",
|
|
132
|
+
"port": 22,
|
|
133
|
+
"user": "ubuntu",
|
|
134
|
+
"sshKeyPath": "~/.ssh/id_rsa",
|
|
135
|
+
"paths": {
|
|
136
|
+
"apps": "/var/agent-apps",
|
|
137
|
+
"caddy": "/var/agent-apps/caddy"
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
},
|
|
114
142
|
"prompts": {
|
|
115
|
-
// Use your own prompts for reviews
|
|
116
143
|
"review": {
|
|
117
144
|
"bug": ".kodu/prompts/review-bug.md"
|
|
118
145
|
}
|
|
119
146
|
}
|
|
120
147
|
}
|
|
121
148
|
```
|
|
149
|
+
|
|
150
|
+
`kodu ops` is designed for agents: responses are strict JSON (including errors), with no spinner/colors/prompts.
|
|
122
151
|
</details>
|
|
123
152
|
|
|
124
153
|
---
|
package/dist/src/app.module.js
CHANGED
|
@@ -11,6 +11,7 @@ const common_1 = require("@nestjs/common");
|
|
|
11
11
|
const clean_module_1 = require("./commands/clean/clean.module");
|
|
12
12
|
const commit_module_1 = require("./commands/commit/commit.module");
|
|
13
13
|
const init_module_1 = require("./commands/init/init.module");
|
|
14
|
+
const ops_module_1 = require("./commands/ops/ops.module");
|
|
14
15
|
const pack_module_1 = require("./commands/pack/pack.module");
|
|
15
16
|
const review_module_1 = require("./commands/review/review.module");
|
|
16
17
|
const config_module_1 = require("./core/config/config.module");
|
|
@@ -36,6 +37,7 @@ exports.AppModule = AppModule = __decorate([
|
|
|
36
37
|
clean_module_1.CleanModule,
|
|
37
38
|
review_module_1.ReviewModule,
|
|
38
39
|
commit_module_1.CommitModule,
|
|
40
|
+
ops_module_1.OpsModule,
|
|
39
41
|
],
|
|
40
42
|
})
|
|
41
43
|
], AppModule);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,gEAA4D;AAC5D,mEAA+D;AAC/D,6DAAyD;AACzD,6DAAyD;AACzD,mEAA+D;AAC/D,+DAA2D;AAC3D,4DAAwD;AACxD,mDAA+C;AAC/C,qDAAiD;AACjD,wDAAoD;AACpD,0EAAsE;
|
|
1
|
+
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,gEAA4D;AAC5D,mEAA+D;AAC/D,6DAAyD;AACzD,0DAAsD;AACtD,6DAAyD;AACzD,mEAA+D;AAC/D,+DAA2D;AAC3D,4DAAwD;AACxD,mDAA+C;AAC/C,qDAAiD;AACjD,wDAAoD;AACpD,0EAAsE;AAkB/D,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IAhBrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,4BAAY;YACZ,oBAAQ;YACR,oBAAQ;YACR,sBAAS;YACT,oBAAQ;YACR,kCAAe;YACf,wBAAU;YACV,wBAAU;YACV,0BAAW;YACX,4BAAY;YACZ,4BAAY;YACZ,sBAAS;SACV;KACF,CAAC;GACW,SAAS,CAAG"}
|
|
@@ -38,6 +38,21 @@ let InitCommand = class InitCommand extends nest_commander_1.CommandRunner {
|
|
|
38
38
|
const defaultConfig = {
|
|
39
39
|
$schema: 'https://raw.githubusercontent.com/uxname/kodu/refs/heads/master/kodu.schema.json',
|
|
40
40
|
llm: defaultLlmConfig,
|
|
41
|
+
ops: {
|
|
42
|
+
servers: {
|
|
43
|
+
dev: {
|
|
44
|
+
host: 'example.com',
|
|
45
|
+
port: 22,
|
|
46
|
+
user: 'ubuntu',
|
|
47
|
+
sshKeyPath: '~/.ssh/id_rsa',
|
|
48
|
+
description: 'Example AgentOps server',
|
|
49
|
+
paths: {
|
|
50
|
+
apps: '/var/agent-apps',
|
|
51
|
+
caddy: '/var/agent-apps/caddy',
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
},
|
|
41
56
|
cleaner: {
|
|
42
57
|
whitelist: ['//!'],
|
|
43
58
|
keepJSDoc: true,
|
|
@@ -118,6 +133,7 @@ let InitCommand = class InitCommand extends nest_commander_1.CommandRunner {
|
|
|
118
133
|
useGitignore: defaultConfig.packer.useGitignore,
|
|
119
134
|
contentBasedBinaryDetection: defaultConfig.packer.contentBasedBinaryDetection,
|
|
120
135
|
},
|
|
136
|
+
ops: defaultConfig.ops,
|
|
121
137
|
prompts: {
|
|
122
138
|
review: {
|
|
123
139
|
bug: promptPaths.review.bug,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.command.js","sourceRoot":"","sources":["../../../../src/commands/init/init.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qCAAyC;AACzC,0DAA6B;AAC7B,mDAAwD;AAExD,uEAI2C;AAC3C,yDAAqD;AACrD,sDAIgC;AAEhC,MAAM,2BAA2B,GAAG,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,EAAE,EAAE,aAAa,EAAE,EAAE,eAAe,EAAE,iCAAqB,EAAE,EAAE;IACrE,MAAM,EAAE,EAAE,aAAa,EAAE,EAAE,eAAe,EAAE,iCAAqB,EAAE,EAAE;CACtE,CAAC,CAAC;AAGI,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,8BAAa;IACf;IAA7B,YAA6B,EAAa;QACxC,KAAK,EAAE,CAAC;QADmB,OAAE,GAAF,EAAE,CAAW;IAE1C,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QAEzD,MAAM,gBAAgB,GAAG;YACvB,KAAK,EAAE,UAAU,6BAAiB,EAAE;YACpC,SAAS,EAAE,gBAAgB;SAC5B,CAAC;QAEF,MAAM,aAAa,GAAe;YAChC,OAAO,EACL,kFAAkF;YACpF,GAAG,EAAE,gBAAgB;YACrB,OAAO,EAAE;gBACP,SAAS,EAAE,CAAC,KAAK,CAAC;gBAClB,SAAS,EAAE,IAAI;gBACf,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,EAAE;aACX;YACD,MAAM,EAAE;gBACN,MAAM,EAAE;oBACN,mBAAmB;oBACnB,WAAW;oBACX,gBAAgB;oBAChB,MAAM;oBACN,OAAO;oBACP,cAAc;oBACd,MAAM;oBACN,UAAU;iBACX;gBACD,YAAY,EAAE,IAAI;gBAClB,2BAA2B,EAAE,KAAK;aACnC;SACF,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;YACxC,OAAO,EAAE,4BAA4B;YACrC,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,IAAI,SAAwC,CAAC;QAC7C,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;gBACjD,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YAEH,IAAI,KAAa,CAAC;YAClB,IAAI,cAAc,EAAE,CAAC;gBACnB,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC;oBAChC,OAAO,EACL,kEAAkE;oBACpE,OAAO,EAAE,gBAAgB,CAAC,KAAK;oBAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;4BACzB,OAAO,6CAA6C,CAAC;wBACvD,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,CAChC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAChD,CAAC;YACJ,CAAC;YAED,SAAS,GAAG;gBACV,KAAK;gBACL,SAAS,EAAE,gBAAgB,CAAC,SAAS;gBACrC,QAAQ,EAAE,2BAA2B,EAAE;aACxC,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;YAC/C,OAAO,EAAE,8BAA8B;YACvC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,YAAY;YAC7B,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;YACvD,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;QAEhC,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC;YACpD,OAAO,EACL,wEAAwE;YAC1E,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CACnC,aAAa,CAAC,OAAO,CAAC,SAAS,EAC/B,mBAAmB,CACpB,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE5C,MAAM,YAAY,GAAe;YAC/B,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,GAAG,CAAC,SAAS,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;YACpC,OAAO,EAAE;gBACP,SAAS;gBACT,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,SAAS;gBAC1C,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,YAAY;gBAChD,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM;aACrC;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,UAAU;gBAClB,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,YAAY;gBAC/C,2BAA2B,EACzB,aAAa,CAAC,MAAM,CAAC,2BAA2B;aACnD;YACD,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG;oBAC3B,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK;oBAC/B,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ;iBACtC;gBACD,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,IAAI,EAAE,WAAW,CAAC,IAAI;aACvB;SACF,CAAC;QAEF,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7B,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QACnD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YAC1E,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CACd,oEAAoE,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,YAAoB;QAC7C,OAAO;YACL,OAAO,EAAE,iBAAiB;YAC1B,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,6BAA6B;oBACnC,KAAK,EAAE,UAAU,6BAAiB,EAAE;iBACrC;gBACD,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,EAAE;gBAC3D,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;gBACjD;oBACE,IAAI,EAAE,6BAA6B;oBACnC,KAAK,EAAE,sCAAsC;iBAC9C;gBACD,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,yBAAyB,EAAE;aACtE;YACD,OAAO,EAAE,YAAY;SACtB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,aAAuB;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC;YACvC,OAAO,EAAE,2CAA2C;YACpD,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QAEH,OAAO,MAAM;aACV,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,CAAC;IAEO,cAAc,CAAC,gBAA0B,EAAE,KAAa;QAC9D,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAClB,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,MAAM,SAAS,GAAG,KAAK;aACpB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,gBAAgB,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,UAAkB,EAClB,MAAkB;QAElB,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;gBAC5C,OAAO,EAAE,sCAAsC;gBAC/C,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CACd,0DAA0D,CAC3D,CAAC;gBACF,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,kBAAE,CAAC,SAAS,CAChB,UAAU,EACV,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EACtC,MAAM,CACP,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IAC7C,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,KAAkD;QAElD,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC/D,MAAM,kBAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/C,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACvC,MAAM,kBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,wCAAsB,CAAC,GAAG,CAAC;YACvE,IAAI,CAAC,oBAAoB,CACvB,KAAK,CAAC,MAAM,CAAC,KAAK,EAClB,wCAAsB,CAAC,KAAK,CAC7B;YACD,IAAI,CAAC,oBAAoB,CACvB,KAAK,CAAC,MAAM,CAAC,QAAQ,EACrB,wCAAsB,CAAC,QAAQ,CAChC;YACD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,uCAAqB,CAAC;YAC9D,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,qCAAmB,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB;QACtB,OAAO;YACL,MAAM,EAAE;gBACN,GAAG,EAAE,mBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC;gBACzD,KAAK,EAAE,mBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,iBAAiB,CAAC;gBAC7D,QAAQ,EAAE,mBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,oBAAoB,CAAC;aACpE;YACD,MAAM,EAAE,mBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC;YACxD,IAAI,EAAE,mBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;SAC5C,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,MAAc,EACd,OAAe;QAEf,MAAM,QAAQ,GAAG,mBAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACtC,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;QAErC,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,MAAM,kBAAE,CAAC,KAAK,CAAC,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,kBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,OAAO,IAAI,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,MAAM,aAAa,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACpD,CAAC,CAAC,MAAM,kBAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;gBACzC,OAAO,EAAE,iCAAiC;gBAC1C,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,IAAI,MAAM,EAAE,CAAC;gBACX,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,IAAI,GACR,OAAO,CAAC,MAAM,GAAG,CAAC;YAChB,CAAC,CAAC,GAAG,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACvC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,kBAAE,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,UAAkB;QACzC,IAAI,CAAC;YACH,MAAM,kBAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"init.command.js","sourceRoot":"","sources":["../../../../src/commands/init/init.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.OpsCommand = void 0;
|
|
10
|
+
const nest_commander_1 = require("nest-commander");
|
|
11
|
+
const ops_utils_1 = require("./ops.utils");
|
|
12
|
+
const ops_env_command_1 = require("./subcommands/ops-env.command");
|
|
13
|
+
const ops_routes_command_1 = require("./subcommands/ops-routes.command");
|
|
14
|
+
const ops_service_command_1 = require("./subcommands/ops-service.command");
|
|
15
|
+
const ops_sysinfo_command_1 = require("./subcommands/ops-sysinfo.command");
|
|
16
|
+
let OpsCommand = class OpsCommand extends nest_commander_1.CommandRunner {
|
|
17
|
+
async run() {
|
|
18
|
+
(0, ops_utils_1.printJson)({
|
|
19
|
+
status: 'error',
|
|
20
|
+
code: 'VALIDATION_ERROR',
|
|
21
|
+
error: 'Missing ops subcommand',
|
|
22
|
+
}, true);
|
|
23
|
+
process.exitCode = 1;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
exports.OpsCommand = OpsCommand;
|
|
27
|
+
exports.OpsCommand = OpsCommand = __decorate([
|
|
28
|
+
(0, nest_commander_1.Command)({
|
|
29
|
+
name: 'ops',
|
|
30
|
+
description: 'Remote server operations for agents',
|
|
31
|
+
subCommands: [
|
|
32
|
+
ops_sysinfo_command_1.OpsSysinfoCommand,
|
|
33
|
+
ops_env_command_1.OpsEnvCommand,
|
|
34
|
+
ops_routes_command_1.OpsRoutesCommand,
|
|
35
|
+
ops_service_command_1.OpsServiceCommand,
|
|
36
|
+
],
|
|
37
|
+
})
|
|
38
|
+
], OpsCommand);
|
|
39
|
+
//# sourceMappingURL=ops.command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ops.command.js","sourceRoot":"","sources":["../../../../src/commands/ops/ops.command.ts"],"names":[],"mappings":";;;;;;;;;AAAA,mDAAwD;AACxD,2CAAwC;AACxC,mEAA8D;AAC9D,yEAAoE;AACpE,2EAAsE;AACtE,2EAAsE;AAY/D,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,8BAAa;IAC3C,KAAK,CAAC,GAAG;QACP,IAAA,qBAAS,EACP;YACE,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,wBAAwB;SAChC,EACD,IAAI,CACL,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;CACF,CAAA;AAZY,gCAAU;qBAAV,UAAU;IAVtB,IAAA,wBAAO,EAAC;QACP,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,qCAAqC;QAClD,WAAW,EAAE;YACX,uCAAiB;YACjB,+BAAa;YACb,qCAAgB;YAChB,uCAAiB;SAClB;KACF,CAAC;GACW,UAAU,CAYtB"}
|