@eldrforge/kodrdriv 1.2.132 → 1.2.134
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/AI-GUIDE.md +837 -0
- package/LICENSE +1 -1
- package/README.md +35 -6
- package/dist/application.js +2 -0
- package/dist/application.js.map +1 -1
- package/dist/arguments.js +54 -21
- package/dist/arguments.js.map +1 -1
- package/dist/commands/audio-commit.js +2 -1
- package/dist/commands/audio-commit.js.map +1 -1
- package/dist/commands/audio-review.js +4 -2
- package/dist/commands/audio-review.js.map +1 -1
- package/dist/commands/commit.js +91 -133
- package/dist/commands/commit.js.map +1 -1
- package/dist/commands/publish.js +3 -6
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/release.js +62 -139
- package/dist/commands/release.js.map +1 -1
- package/dist/commands/review.js +1 -1
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/tree.js +29 -33
- package/dist/commands/tree.js.map +1 -1
- package/dist/constants.js +3 -1
- package/dist/constants.js.map +1 -1
- package/dist/types.js +282 -0
- package/dist/types.js.map +1 -0
- package/dist/util/storageAdapter.js +9 -2
- package/dist/util/storageAdapter.js.map +1 -1
- package/guide/ai-system.md +522 -0
- package/guide/architecture.md +349 -0
- package/guide/commands.md +383 -0
- package/guide/configuration.md +516 -0
- package/guide/debugging.md +587 -0
- package/guide/development.md +632 -0
- package/guide/index.md +215 -0
- package/guide/integration.md +510 -0
- package/guide/monorepo.md +533 -0
- package/guide/quickstart.md +226 -0
- package/guide/testing.md +463 -0
- package/guide/tree-operations.md +621 -0
- package/guide/usage.md +578 -0
- package/package.json +10 -10
- package/DUPLICATION-CLEANUP.md +0 -104
- package/agentic-reflection-commit-2025-12-27T22-56-06-143Z.md +0 -50
- package/agentic-reflection-commit-2025-12-27T23-01-57-294Z.md +0 -50
- package/agentic-reflection-commit-2025-12-27T23-11-57-811Z.md +0 -50
- package/agentic-reflection-commit-2025-12-27T23-12-50-645Z.md +0 -50
- package/agentic-reflection-commit-2025-12-27T23-13-59-347Z.md +0 -52
- package/agentic-reflection-commit-2025-12-27T23-14-36-001Z.md +0 -50
- package/agentic-reflection-commit-2025-12-27T23-18-59-832Z.md +0 -50
- package/agentic-reflection-commit-2025-12-27T23-25-20-667Z.md +0 -62
package/guide/index.md
ADDED
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
# KodrDriv AI Guide
|
|
2
|
+
|
|
3
|
+
This directory contains comprehensive documentation designed to help developers and AI assistants understand, integrate, debug, and extend kodrdriv - an AI-powered Git workflow automation tool.
|
|
4
|
+
|
|
5
|
+
## What is KodrDriv?
|
|
6
|
+
|
|
7
|
+
KodrDriv automates Git workflows by using AI to generate intelligent commit messages and release notes. It analyzes your code changes, Git history, and project context to create meaningful documentation while automating the entire release process.
|
|
8
|
+
|
|
9
|
+
**Core Value**: Solves the "context switch" problem - when you're deep in code and Git asks you to summarize what you've done, kodrdriv analyzes your changes and writes documentation that reflects your actual work.
|
|
10
|
+
|
|
11
|
+
## Guide Contents
|
|
12
|
+
|
|
13
|
+
### Getting Started
|
|
14
|
+
- [**Quick Start**](./quickstart.md): Get kodrdriv working in 5 minutes
|
|
15
|
+
- [**Usage**](./usage.md): Common workflows and command examples
|
|
16
|
+
- [**Integration**](./integration.md): How to integrate kodrdriv into your project
|
|
17
|
+
|
|
18
|
+
### Understanding KodrDriv
|
|
19
|
+
- [**Architecture**](./architecture.md): System design, packages, and data flow
|
|
20
|
+
- [**Commands**](./commands.md): Complete command reference with examples
|
|
21
|
+
- [**Configuration**](./configuration.md): All configuration options and patterns
|
|
22
|
+
|
|
23
|
+
### Development & Debugging
|
|
24
|
+
- [**Development**](./development.md): Building, testing, and extending kodrdriv
|
|
25
|
+
- [**Debugging**](./debugging.md): Common issues and troubleshooting strategies
|
|
26
|
+
- [**Testing**](./testing.md): Test structure and how to run tests
|
|
27
|
+
|
|
28
|
+
### Advanced Topics
|
|
29
|
+
- [**AI System**](./ai-system.md): How AI analysis works (agentic mode, tools, prompts)
|
|
30
|
+
- [**Tree Operations**](./tree-operations.md): Multi-package workflow automation
|
|
31
|
+
- [**Monorepo Guide**](./monorepo.md): Using kodrdriv in monorepos
|
|
32
|
+
|
|
33
|
+
## Project Structure
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
kodrdriv/ - Main CLI tool
|
|
37
|
+
├── src/
|
|
38
|
+
│ ├── commands/ - Command implementations
|
|
39
|
+
│ ├── util/ - Utility functions
|
|
40
|
+
│ ├── content/ - Content generation (diffs, logs)
|
|
41
|
+
│ └── types.ts - TypeScript types
|
|
42
|
+
├── tests/ - Test suite
|
|
43
|
+
└── docs/ - Detailed documentation
|
|
44
|
+
|
|
45
|
+
ai-service/ - AI integration package
|
|
46
|
+
├── src/
|
|
47
|
+
│ ├── agentic/ - Tool-calling AI agents
|
|
48
|
+
│ ├── prompts/ - Prompt engineering
|
|
49
|
+
│ └── tools/ - AI tools for analysis
|
|
50
|
+
└── tests/ - AI service tests
|
|
51
|
+
|
|
52
|
+
tree-core/ - Dependency graph analysis
|
|
53
|
+
tree-execution/ - Parallel execution engine
|
|
54
|
+
shared/ - Shared utilities
|
|
55
|
+
git-tools/ - Git operations
|
|
56
|
+
github-tools/ - GitHub API integration
|
|
57
|
+
audio-tools/ - Audio recording & transcription
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Key Capabilities
|
|
61
|
+
|
|
62
|
+
### 1. Intelligent Commit Messages
|
|
63
|
+
Uses AI to analyze your code changes and generate meaningful commit messages:
|
|
64
|
+
- Investigates file relationships and dependencies
|
|
65
|
+
- Reviews recent commit history to avoid duplicates
|
|
66
|
+
- Checks related tests to understand behavior changes
|
|
67
|
+
- Suggests splitting unrelated changes into multiple commits
|
|
68
|
+
|
|
69
|
+
### 2. Comprehensive Release Notes
|
|
70
|
+
Generates detailed release notes from Git history:
|
|
71
|
+
- Analyzes commits and identifies patterns
|
|
72
|
+
- Detects breaking changes automatically
|
|
73
|
+
- Integrates with GitHub issues and milestones
|
|
74
|
+
- Provides context about how changes relate
|
|
75
|
+
|
|
76
|
+
### 3. Automated Publishing
|
|
77
|
+
Complete release workflow automation:
|
|
78
|
+
- Generates release notes
|
|
79
|
+
- Creates pull request
|
|
80
|
+
- Waits for CI checks
|
|
81
|
+
- Merges to main
|
|
82
|
+
- Creates GitHub release
|
|
83
|
+
- Bumps to next dev version
|
|
84
|
+
|
|
85
|
+
### 4. Multi-Package Support
|
|
86
|
+
Manages monorepos with complex dependencies:
|
|
87
|
+
- Analyzes dependency graphs
|
|
88
|
+
- Executes commands in correct order
|
|
89
|
+
- Parallel execution where possible
|
|
90
|
+
- Recovery from failures
|
|
91
|
+
|
|
92
|
+
### 5. Audio-Driven Workflows
|
|
93
|
+
Voice-powered development:
|
|
94
|
+
- Record audio for commit context
|
|
95
|
+
- Transcribe review notes
|
|
96
|
+
- Voice-driven issue creation
|
|
97
|
+
|
|
98
|
+
## Quick Reference
|
|
99
|
+
|
|
100
|
+
### Essential Commands
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Generate commit message
|
|
104
|
+
kodrdriv commit --sendit
|
|
105
|
+
|
|
106
|
+
# Generate release notes
|
|
107
|
+
kodrdriv release
|
|
108
|
+
|
|
109
|
+
# Publish a release
|
|
110
|
+
kodrdriv publish
|
|
111
|
+
|
|
112
|
+
# Multi-package operations
|
|
113
|
+
kodrdriv tree publish --parallel
|
|
114
|
+
|
|
115
|
+
# With context files
|
|
116
|
+
kodrdriv release --context-files IMPLEMENTATION.md
|
|
117
|
+
|
|
118
|
+
# With self-reflection
|
|
119
|
+
kodrdriv commit --self-reflection
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Essential Configuration
|
|
123
|
+
|
|
124
|
+
```json
|
|
125
|
+
{
|
|
126
|
+
"model": "gpt-4o",
|
|
127
|
+
"outputDirectory": "output",
|
|
128
|
+
"commit": {
|
|
129
|
+
"selfReflection": true,
|
|
130
|
+
"maxAgenticIterations": 10
|
|
131
|
+
},
|
|
132
|
+
"release": {
|
|
133
|
+
"selfReflection": true,
|
|
134
|
+
"maxAgenticIterations": 30
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Environment Variables
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
export OPENAI_API_KEY="your-key" # Required
|
|
143
|
+
export GITHUB_TOKEN="your-token" # For publish
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Key Features
|
|
147
|
+
|
|
148
|
+
- **AI Analysis (Always On)**: Uses tool-calling to investigate changes before generating content
|
|
149
|
+
- **Context Files**: Pass documentation files as context (`--context-files`)
|
|
150
|
+
- **Self-Reflection**: Generate reports showing tool effectiveness and analysis quality
|
|
151
|
+
- **GitHub Integration**: Issues, milestones, pull requests, releases
|
|
152
|
+
- **Flexible Configuration**: Hierarchical config with command-line overrides
|
|
153
|
+
- **Stop-Context Filtering**: Automatically remove sensitive information
|
|
154
|
+
- **Dry Run Mode**: Preview everything before execution
|
|
155
|
+
|
|
156
|
+
## Implementation Guides in Root Directory
|
|
157
|
+
|
|
158
|
+
The `/Users/tobrien/gitw/grunnverk/` directory contains extensive implementation documentation:
|
|
159
|
+
|
|
160
|
+
### Recent Improvements
|
|
161
|
+
- `SELF-REFLECTION-IMPROVEMENTS.md` - File location and prompt improvements
|
|
162
|
+
- `CONTEXT-FILES-AND-HUMAN-PROMPTS.md` - Context files and anti-slop prompts
|
|
163
|
+
- `AGENTIC-ONLY-SIMPLIFICATION.md` - Simplified to always use AI analysis
|
|
164
|
+
- `SESSION-SUMMARY-DEC-31.md` - Complete overview of recent changes
|
|
165
|
+
|
|
166
|
+
### AI System
|
|
167
|
+
- `AI-SERVICE-INTEGRATION-COMPLETE.md` - AI service extraction and integration
|
|
168
|
+
- `AGENTIC-RELEASE-NOTES-COMPLETE.md` - Agentic release notes implementation
|
|
169
|
+
- `AGENTIC-COMMIT-IMPROVEMENTS.md` - Commit generation improvements
|
|
170
|
+
- `AI-FRIENDLY-LOGGING-GUIDE.md` - Logging best practices
|
|
171
|
+
|
|
172
|
+
### Architecture & Features
|
|
173
|
+
- `TREE-TOOLKIT-COMPLETE.md` - Tree operations extraction
|
|
174
|
+
- `PARALLEL-PUBLISH-QUICK-REFERENCE.md` - Parallel execution guide
|
|
175
|
+
- `RIOTPROMPT-COMPLETE-SUMMARY.md` - Prompt engineering system
|
|
176
|
+
- `MONOREPO-PUBLISH-IMPROVEMENTS.md` - Monorepo workflows
|
|
177
|
+
|
|
178
|
+
### Debugging & Fixes
|
|
179
|
+
- `PARALLEL-PUBLISH-DEBUGGING-GUIDE.md` - Troubleshooting parallel execution
|
|
180
|
+
- `RECOVERY-FIXES.md` - Error recovery mechanisms
|
|
181
|
+
- `CHECKPOINT-RECOVERY-FIX.md` - Checkpoint system details
|
|
182
|
+
|
|
183
|
+
## For AI Assistants
|
|
184
|
+
|
|
185
|
+
If you're an AI helping someone use kodrdriv:
|
|
186
|
+
|
|
187
|
+
1. **Start with** [`quickstart.md`](./quickstart.md) to get the basics
|
|
188
|
+
2. **Read** [`integration.md`](./integration.md) to understand how to integrate into projects
|
|
189
|
+
3. **Reference** [`commands.md`](./commands.md) for specific command details
|
|
190
|
+
4. **Check** [`debugging.md`](./debugging.md) when troubleshooting
|
|
191
|
+
5. **Review** root directory `.md` files for implementation details
|
|
192
|
+
|
|
193
|
+
## For Developers
|
|
194
|
+
|
|
195
|
+
If you're integrating kodrdriv:
|
|
196
|
+
|
|
197
|
+
1. **Install**: `npm install -g @eldrforge/kodrdriv`
|
|
198
|
+
2. **Configure**: `kodrdriv --init-config`
|
|
199
|
+
3. **Try it**: `kodrdriv commit --dry-run`
|
|
200
|
+
4. **Customize**: Edit `.kodrdriv/config.yaml`
|
|
201
|
+
5. **Automate**: Add to your CI/CD pipeline
|
|
202
|
+
|
|
203
|
+
## Next Steps
|
|
204
|
+
|
|
205
|
+
- 🚀 [Get started in 5 minutes](./quickstart.md)
|
|
206
|
+
- 📖 [Learn common workflows](./usage.md)
|
|
207
|
+
- 🔧 [Integrate into your project](./integration.md)
|
|
208
|
+
- 🐛 [Troubleshoot issues](./debugging.md)
|
|
209
|
+
- 🧠 [Understand the AI system](./ai-system.md)
|
|
210
|
+
|
|
211
|
+
**Need help?** Start with the guide that matches your goal, and refer to the implementation documents in the root directory for detailed technical information.
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
|
|
@@ -0,0 +1,510 @@
|
|
|
1
|
+
# Integration Guide
|
|
2
|
+
|
|
3
|
+
How to integrate kodrdriv into your project.
|
|
4
|
+
|
|
5
|
+
## Integration Patterns
|
|
6
|
+
|
|
7
|
+
### 1. Basic Git Workflow Integration
|
|
8
|
+
|
|
9
|
+
Replace manual commit messages with AI-generated ones:
|
|
10
|
+
|
|
11
|
+
**Before**:
|
|
12
|
+
```bash
|
|
13
|
+
git add .
|
|
14
|
+
git commit -m "fix: update user auth"
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**After**:
|
|
18
|
+
```bash
|
|
19
|
+
git add .
|
|
20
|
+
kodrdriv commit --sendit
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### 2. CI/CD Integration
|
|
24
|
+
|
|
25
|
+
#### GitHub Actions Example
|
|
26
|
+
|
|
27
|
+
```yaml
|
|
28
|
+
name: Release
|
|
29
|
+
on:
|
|
30
|
+
push:
|
|
31
|
+
branches: [main]
|
|
32
|
+
|
|
33
|
+
jobs:
|
|
34
|
+
release:
|
|
35
|
+
runs-on: ubuntu-latest
|
|
36
|
+
steps:
|
|
37
|
+
- uses: actions/checkout@v4
|
|
38
|
+
- uses: actions/setup-node@v4
|
|
39
|
+
with:
|
|
40
|
+
node-version: '20'
|
|
41
|
+
|
|
42
|
+
- name: Install kodrdriv
|
|
43
|
+
run: npm install -g @eldrforge/kodrdriv
|
|
44
|
+
|
|
45
|
+
- name: Generate Release Notes
|
|
46
|
+
env:
|
|
47
|
+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
48
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
49
|
+
run: |
|
|
50
|
+
kodrdriv release --context-files CHANGELOG.md
|
|
51
|
+
|
|
52
|
+
- name: Create Release
|
|
53
|
+
env:
|
|
54
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
55
|
+
run: |
|
|
56
|
+
# Release notes are in output/RELEASE_NOTES.md
|
|
57
|
+
gh release create v$(node -p "require('./package.json').version") \
|
|
58
|
+
--notes-file output/RELEASE_NOTES.md
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
#### GitLab CI Example
|
|
62
|
+
|
|
63
|
+
```yaml
|
|
64
|
+
release:
|
|
65
|
+
stage: deploy
|
|
66
|
+
script:
|
|
67
|
+
- npm install -g @eldrforge/kodrdriv
|
|
68
|
+
- kodrdriv release
|
|
69
|
+
- # Use generated notes in output/RELEASE_NOTES.md
|
|
70
|
+
only:
|
|
71
|
+
- main
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 3. Pre-Commit Hook Integration
|
|
75
|
+
|
|
76
|
+
Automatically generate commit messages:
|
|
77
|
+
|
|
78
|
+
**.git/hooks/prepare-commit-msg**:
|
|
79
|
+
```bash
|
|
80
|
+
#!/bin/bash
|
|
81
|
+
# Generate commit message with kodrdriv
|
|
82
|
+
if [ -z "$2" ]; then
|
|
83
|
+
# Only for new commits (not amend)
|
|
84
|
+
kodrdriv commit --cached > "$1"
|
|
85
|
+
fi
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Make it executable:
|
|
89
|
+
```bash
|
|
90
|
+
chmod +x .git/hooks/prepare-commit-msg
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 4. npm Scripts Integration
|
|
94
|
+
|
|
95
|
+
Add to `package.json`:
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"scripts": {
|
|
100
|
+
"commit": "kodrdriv commit --sendit",
|
|
101
|
+
"release:notes": "kodrdriv release",
|
|
102
|
+
"release:publish": "kodrdriv publish",
|
|
103
|
+
"precommit": "kodrdriv precommit"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Usage:
|
|
109
|
+
```bash
|
|
110
|
+
npm run commit
|
|
111
|
+
npm run release:publish
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Project Setup
|
|
115
|
+
|
|
116
|
+
### For Single Package Projects
|
|
117
|
+
|
|
118
|
+
1. **Install kodrdriv**:
|
|
119
|
+
```bash
|
|
120
|
+
npm install --save-dev @eldrforge/kodrdriv
|
|
121
|
+
# or globally
|
|
122
|
+
npm install -g @eldrforge/kodrdriv
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
2. **Initialize configuration**:
|
|
126
|
+
```bash
|
|
127
|
+
kodrdriv --init-config
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
3. **Configure for your project**:
|
|
131
|
+
```yaml
|
|
132
|
+
# .kodrdriv/config.yaml
|
|
133
|
+
model: gpt-4o
|
|
134
|
+
outputDirectory: output
|
|
135
|
+
|
|
136
|
+
commit:
|
|
137
|
+
sendit: false # Require manual confirmation
|
|
138
|
+
selfReflection: true # Generate analysis reports
|
|
139
|
+
|
|
140
|
+
release:
|
|
141
|
+
focus: "user-facing changes and breaking changes"
|
|
142
|
+
maxAgenticIterations: 30
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
4. **Test it**:
|
|
146
|
+
```bash
|
|
147
|
+
kodrdriv commit --dry-run
|
|
148
|
+
kodrdriv release --dry-run
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### For Monorepo Projects
|
|
152
|
+
|
|
153
|
+
1. **Install in root**:
|
|
154
|
+
```bash
|
|
155
|
+
cd /path/to/monorepo
|
|
156
|
+
npm install -g @eldrforge/kodrdriv
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
2. **Configure tree operations**:
|
|
160
|
+
```yaml
|
|
161
|
+
# .kodrdriv/config.yaml
|
|
162
|
+
tree:
|
|
163
|
+
directories:
|
|
164
|
+
- packages/core
|
|
165
|
+
- packages/ui
|
|
166
|
+
- packages/utils
|
|
167
|
+
parallel: true
|
|
168
|
+
maxConcurrency: 4
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
3. **Use tree commands**:
|
|
172
|
+
```bash
|
|
173
|
+
# Commit across all packages
|
|
174
|
+
kodrdriv tree commit
|
|
175
|
+
|
|
176
|
+
# Publish all in correct order
|
|
177
|
+
kodrdriv tree publish --parallel
|
|
178
|
+
|
|
179
|
+
# Link packages for development
|
|
180
|
+
kodrdriv tree link
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Integration with Existing Tools
|
|
184
|
+
|
|
185
|
+
### With Conventional Commits
|
|
186
|
+
|
|
187
|
+
Kodrdriv generates conventional commit format by default:
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
# Output follows conventional format
|
|
191
|
+
kodrdriv commit
|
|
192
|
+
# → feat: add user authentication
|
|
193
|
+
# → fix: resolve memory leak in cache
|
|
194
|
+
# → chore: update dependencies
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### With Semantic Release
|
|
198
|
+
|
|
199
|
+
Use kodrdriv to generate release notes, then use semantic-release for publishing:
|
|
200
|
+
|
|
201
|
+
```json
|
|
202
|
+
{
|
|
203
|
+
"scripts": {
|
|
204
|
+
"release:notes": "kodrdriv release",
|
|
205
|
+
"release:semantic": "semantic-release"
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### With Changesets
|
|
211
|
+
|
|
212
|
+
Generate release notes that complement changesets:
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
# Generate comprehensive notes
|
|
216
|
+
kodrdriv release --context-files .changeset/*.md
|
|
217
|
+
|
|
218
|
+
# Use alongside changesets
|
|
219
|
+
npx changeset version
|
|
220
|
+
kodrdriv release
|
|
221
|
+
npx changeset publish
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### With Lerna/nx
|
|
225
|
+
|
|
226
|
+
Use kodrdriv's tree operations:
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
# Instead of lerna run
|
|
230
|
+
kodrdriv tree --cmd "npm test"
|
|
231
|
+
|
|
232
|
+
# Instead of lerna publish
|
|
233
|
+
kodrdriv tree publish --parallel
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
## Configuration Patterns
|
|
237
|
+
|
|
238
|
+
### Minimal Configuration
|
|
239
|
+
|
|
240
|
+
```yaml
|
|
241
|
+
model: gpt-4o-mini
|
|
242
|
+
outputDirectory: output
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Standard Configuration
|
|
246
|
+
|
|
247
|
+
```yaml
|
|
248
|
+
model: gpt-4o
|
|
249
|
+
outputDirectory: output
|
|
250
|
+
|
|
251
|
+
commit:
|
|
252
|
+
selfReflection: true
|
|
253
|
+
add: false
|
|
254
|
+
|
|
255
|
+
release:
|
|
256
|
+
focus: "breaking changes and new features"
|
|
257
|
+
selfReflection: true
|
|
258
|
+
|
|
259
|
+
publish:
|
|
260
|
+
sendit: false
|
|
261
|
+
targetBranch: main
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### Advanced Configuration
|
|
265
|
+
|
|
266
|
+
```yaml
|
|
267
|
+
model: gpt-4o
|
|
268
|
+
openaiReasoning: medium
|
|
269
|
+
outputDirectory: output
|
|
270
|
+
|
|
271
|
+
contextDirectories:
|
|
272
|
+
- docs
|
|
273
|
+
- .github
|
|
274
|
+
|
|
275
|
+
commit:
|
|
276
|
+
selfReflection: true
|
|
277
|
+
maxAgenticIterations: 15
|
|
278
|
+
allowCommitSplitting: true
|
|
279
|
+
contextFiles:
|
|
280
|
+
- docs/ARCHITECTURE.md
|
|
281
|
+
|
|
282
|
+
release:
|
|
283
|
+
selfReflection: true
|
|
284
|
+
maxAgenticIterations: 40
|
|
285
|
+
focus: |
|
|
286
|
+
Emphasize breaking changes and migration steps.
|
|
287
|
+
Target audience: developers using this library.
|
|
288
|
+
|
|
289
|
+
publish:
|
|
290
|
+
targetBranch: main
|
|
291
|
+
mergeMethod: squash
|
|
292
|
+
checksTimeout: 3600000
|
|
293
|
+
waitForReleaseWorkflows: true
|
|
294
|
+
|
|
295
|
+
tree:
|
|
296
|
+
parallel: true
|
|
297
|
+
maxConcurrency: 4
|
|
298
|
+
directories:
|
|
299
|
+
- packages/core
|
|
300
|
+
- packages/ui
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
## Team Workflows
|
|
304
|
+
|
|
305
|
+
### Small Team (1-5 developers)
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
# Each developer runs locally
|
|
309
|
+
kodrdriv commit --sendit
|
|
310
|
+
|
|
311
|
+
# Releases done by maintainer
|
|
312
|
+
kodrdriv publish --interactive
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
### Medium Team (5-20 developers)
|
|
316
|
+
|
|
317
|
+
```yaml
|
|
318
|
+
# .kodrdriv/config.yaml
|
|
319
|
+
commit:
|
|
320
|
+
sendit: false # Require review
|
|
321
|
+
interactive: true # Allow editing
|
|
322
|
+
|
|
323
|
+
release:
|
|
324
|
+
interactive: true # Team review before publish
|
|
325
|
+
noMilestones: false # Use GitHub milestones
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
### Large Team (20+ developers)
|
|
329
|
+
|
|
330
|
+
```yaml
|
|
331
|
+
# Stricter controls
|
|
332
|
+
commit:
|
|
333
|
+
sendit: false
|
|
334
|
+
skipFileCheck: false # Prevent accidental commits
|
|
335
|
+
|
|
336
|
+
publish:
|
|
337
|
+
sendit: false # Manual approval required
|
|
338
|
+
requireEnvVars:
|
|
339
|
+
- GITHUB_TOKEN
|
|
340
|
+
- OPENAI_API_KEY
|
|
341
|
+
- RELEASE_APPROVER # Custom check
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
## Environment-Specific Configuration
|
|
345
|
+
|
|
346
|
+
### Development
|
|
347
|
+
|
|
348
|
+
```yaml
|
|
349
|
+
# .kodrdriv/config.dev.yaml
|
|
350
|
+
dryRun: true
|
|
351
|
+
verbose: true
|
|
352
|
+
model: gpt-4o-mini
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### Production
|
|
356
|
+
|
|
357
|
+
```yaml
|
|
358
|
+
# .kodrdriv/config.prod.yaml
|
|
359
|
+
dryRun: false
|
|
360
|
+
model: gpt-4o
|
|
361
|
+
release:
|
|
362
|
+
selfReflection: true
|
|
363
|
+
publish:
|
|
364
|
+
sendit: true
|
|
365
|
+
skipUserConfirmation: true
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
Load with:
|
|
369
|
+
```bash
|
|
370
|
+
kodrdriv commit --config-dir .kodrdriv/config.prod.yaml
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
## Migration from Other Tools
|
|
374
|
+
|
|
375
|
+
### From semantic-release
|
|
376
|
+
|
|
377
|
+
**Before**:
|
|
378
|
+
```json
|
|
379
|
+
{
|
|
380
|
+
"release": {
|
|
381
|
+
"plugins": ["@semantic-release/commit-analyzer"]
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
**After**: Remove semantic-release config, use kodrdriv:
|
|
387
|
+
```bash
|
|
388
|
+
kodrdriv publish
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
### From conventional-changelog
|
|
392
|
+
|
|
393
|
+
**Before**:
|
|
394
|
+
```bash
|
|
395
|
+
conventional-changelog -p angular -i CHANGELOG.md -s
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
**After**:
|
|
399
|
+
```bash
|
|
400
|
+
kodrdriv release
|
|
401
|
+
# Notes in output/RELEASE_NOTES.md
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
### From manual process
|
|
405
|
+
|
|
406
|
+
**Before**:
|
|
407
|
+
```bash
|
|
408
|
+
git log --oneline > notes.txt
|
|
409
|
+
# Manually write release notes
|
|
410
|
+
gh release create v1.0.0 --notes "..."
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
**After**:
|
|
414
|
+
```bash
|
|
415
|
+
kodrdriv publish # Does everything
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
## Verification
|
|
419
|
+
|
|
420
|
+
### Test Your Integration
|
|
421
|
+
|
|
422
|
+
1. **Dry Run Test**:
|
|
423
|
+
```bash
|
|
424
|
+
kodrdriv commit --dry-run
|
|
425
|
+
kodrdriv release --dry-run
|
|
426
|
+
kodrdriv publish --dry-run
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
2. **Check Output**:
|
|
430
|
+
```bash
|
|
431
|
+
ls output/
|
|
432
|
+
# Should see timestamped files
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
3. **Verify Configuration**:
|
|
436
|
+
```bash
|
|
437
|
+
kodrdriv --check-config
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
4. **Test with Real Changes**:
|
|
441
|
+
```bash
|
|
442
|
+
echo "test" >> test.txt
|
|
443
|
+
git add test.txt
|
|
444
|
+
kodrdriv commit --verbose
|
|
445
|
+
git reset HEAD test.txt
|
|
446
|
+
rm test.txt
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
## Common Integration Patterns
|
|
450
|
+
|
|
451
|
+
### Pattern 1: Manual Commit, Auto Release
|
|
452
|
+
|
|
453
|
+
```yaml
|
|
454
|
+
commit:
|
|
455
|
+
sendit: false # Review commits manually
|
|
456
|
+
|
|
457
|
+
release:
|
|
458
|
+
interactive: false # Auto-generate notes
|
|
459
|
+
|
|
460
|
+
publish:
|
|
461
|
+
sendit: true # Fully automated
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
### Pattern 2: Auto Commit, Manual Release
|
|
465
|
+
|
|
466
|
+
```yaml
|
|
467
|
+
commit:
|
|
468
|
+
sendit: true # Auto-commit
|
|
469
|
+
|
|
470
|
+
release:
|
|
471
|
+
interactive: true # Review release notes
|
|
472
|
+
|
|
473
|
+
publish:
|
|
474
|
+
sendit: false # Manual approval
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
### Pattern 3: Full Automation
|
|
478
|
+
|
|
479
|
+
```yaml
|
|
480
|
+
commit:
|
|
481
|
+
sendit: true
|
|
482
|
+
|
|
483
|
+
release:
|
|
484
|
+
interactive: false
|
|
485
|
+
|
|
486
|
+
publish:
|
|
487
|
+
sendit: true
|
|
488
|
+
skipUserConfirmation: true
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
## Next Steps
|
|
492
|
+
|
|
493
|
+
- **[Usage Guide](./usage.md)** - Learn common workflows
|
|
494
|
+
- **[Commands Reference](./commands.md)** - All available commands
|
|
495
|
+
- **[Configuration Guide](./configuration.md)** - Advanced configuration options
|
|
496
|
+
- **[Debugging Guide](./debugging.md)** - Troubleshooting help
|
|
497
|
+
|
|
498
|
+
## Quick Tips
|
|
499
|
+
|
|
500
|
+
1. **Always start with --dry-run** to preview
|
|
501
|
+
2. **Use --verbose** to see what's happening
|
|
502
|
+
3. **Enable selfReflection** to improve quality
|
|
503
|
+
4. **Pass --context-files** for better context
|
|
504
|
+
5. **Check output/** directory for generated files
|
|
505
|
+
|
|
506
|
+
Your kodrdriv integration is complete! 🎉
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
|
|
510
|
+
|