@grunnverk/kilde 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.
- package/.github/ISSUE_TEMPLATE/bug_report.md +40 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +31 -0
- package/.github/pull_request_template.md +48 -0
- package/.github/workflows/deploy-docs.yml +59 -0
- package/.github/workflows/npm-publish.yml +48 -0
- package/.github/workflows/test.yml +48 -0
- package/CHANGELOG.md +92 -0
- package/CONTRIBUTING.md +438 -0
- package/LICENSE +190 -0
- package/PROJECT_SUMMARY.md +318 -0
- package/README.md +444 -0
- package/RELEASE_CHECKLIST.md +182 -0
- package/dist/application.js +166 -0
- package/dist/application.js.map +1 -0
- package/dist/commands/release.js +326 -0
- package/dist/commands/release.js.map +1 -0
- package/dist/constants.js +122 -0
- package/dist/constants.js.map +1 -0
- package/dist/logging.js +176 -0
- package/dist/logging.js.map +1 -0
- package/dist/main.js +24 -0
- package/dist/main.js.map +1 -0
- package/dist/mcp-server.js +17467 -0
- package/dist/mcp-server.js.map +7 -0
- package/dist/utils/config.js +89 -0
- package/dist/utils/config.js.map +1 -0
- package/docs/AI_GUIDE.md +618 -0
- package/eslint.config.mjs +85 -0
- package/guide/architecture.md +776 -0
- package/guide/commands.md +580 -0
- package/guide/configuration.md +779 -0
- package/guide/mcp-integration.md +708 -0
- package/guide/overview.md +225 -0
- package/package.json +91 -0
- package/scripts/build-mcp.js +115 -0
- package/scripts/test-mcp-compliance.js +254 -0
- package/src/application.ts +246 -0
- package/src/commands/release.ts +450 -0
- package/src/constants.ts +162 -0
- package/src/logging.ts +210 -0
- package/src/main.ts +25 -0
- package/src/mcp/prompts/index.ts +98 -0
- package/src/mcp/resources.ts +121 -0
- package/src/mcp/server.ts +195 -0
- package/src/mcp/tools.ts +219 -0
- package/src/types.ts +131 -0
- package/src/utils/config.ts +181 -0
- package/tests/application.test.ts +114 -0
- package/tests/commands/commit.test.ts +248 -0
- package/tests/commands/release.test.ts +325 -0
- package/tests/constants.test.ts +118 -0
- package/tests/logging.test.ts +142 -0
- package/tests/mcp/prompts/index.test.ts +202 -0
- package/tests/mcp/resources.test.ts +166 -0
- package/tests/mcp/tools.test.ts +211 -0
- package/tests/utils/config.test.ts +212 -0
- package/tsconfig.json +32 -0
- package/vite.config.ts +107 -0
- package/vitest.config.ts +40 -0
- package/website/index.html +14 -0
- package/website/src/App.css +142 -0
- package/website/src/App.tsx +34 -0
- package/website/src/components/Commands.tsx +182 -0
- package/website/src/components/Configuration.tsx +214 -0
- package/website/src/components/Examples.tsx +234 -0
- package/website/src/components/Footer.css +99 -0
- package/website/src/components/Footer.tsx +93 -0
- package/website/src/components/GettingStarted.tsx +94 -0
- package/website/src/components/Hero.css +95 -0
- package/website/src/components/Hero.tsx +50 -0
- package/website/src/components/Navigation.css +102 -0
- package/website/src/components/Navigation.tsx +57 -0
- package/website/src/index.css +36 -0
- package/website/src/main.tsx +10 -0
- package/website/vite.config.ts +12 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug Report
|
|
3
|
+
about: Create a report to help us improve
|
|
4
|
+
title: '[BUG] '
|
|
5
|
+
labels: bug
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Bug Description
|
|
10
|
+
A clear and concise description of what the bug is.
|
|
11
|
+
|
|
12
|
+
## Steps to Reproduce
|
|
13
|
+
1. Go to '...'
|
|
14
|
+
2. Run command '....'
|
|
15
|
+
3. See error
|
|
16
|
+
|
|
17
|
+
## Expected Behavior
|
|
18
|
+
What you expected to happen.
|
|
19
|
+
|
|
20
|
+
## Actual Behavior
|
|
21
|
+
What actually happened.
|
|
22
|
+
|
|
23
|
+
## Environment
|
|
24
|
+
- OS: [e.g., macOS 14.0, Ubuntu 22.04, Windows 11]
|
|
25
|
+
- Node.js version: [e.g., 24.0.0]
|
|
26
|
+
- Kilde version: [e.g., 0.1.0]
|
|
27
|
+
- Installation method: [global, npx, local]
|
|
28
|
+
|
|
29
|
+
## Configuration
|
|
30
|
+
```yaml
|
|
31
|
+
# Paste your .kilde/config.yaml here (remove sensitive info)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Error Output
|
|
35
|
+
```
|
|
36
|
+
# Paste error messages or logs here
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Additional Context
|
|
40
|
+
Add any other context about the problem here.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature Request
|
|
3
|
+
about: Suggest an idea for this project
|
|
4
|
+
title: '[FEATURE] '
|
|
5
|
+
labels: enhancement
|
|
6
|
+
assignees: ''
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Feature Description
|
|
10
|
+
A clear and concise description of the feature you'd like to see.
|
|
11
|
+
|
|
12
|
+
## Problem Statement
|
|
13
|
+
What problem does this feature solve? Is your feature request related to a problem?
|
|
14
|
+
|
|
15
|
+
## Proposed Solution
|
|
16
|
+
Describe the solution you'd like to see implemented.
|
|
17
|
+
|
|
18
|
+
## Alternatives Considered
|
|
19
|
+
Have you considered any alternative solutions or features?
|
|
20
|
+
|
|
21
|
+
## Use Case
|
|
22
|
+
Describe a specific use case where this feature would be beneficial.
|
|
23
|
+
|
|
24
|
+
## Example Usage
|
|
25
|
+
```bash
|
|
26
|
+
# Show how the feature would be used
|
|
27
|
+
kilde example --new-feature
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Additional Context
|
|
31
|
+
Add any other context, screenshots, or examples about the feature request here.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Pull Request
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
Brief description of changes made in this PR.
|
|
5
|
+
|
|
6
|
+
## Type of Change
|
|
7
|
+
- [ ] Bug fix (non-breaking change that fixes an issue)
|
|
8
|
+
- [ ] New feature (non-breaking change that adds functionality)
|
|
9
|
+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
|
10
|
+
- [ ] Documentation update
|
|
11
|
+
- [ ] Performance improvement
|
|
12
|
+
- [ ] Code refactoring
|
|
13
|
+
- [ ] Test improvement
|
|
14
|
+
|
|
15
|
+
## Related Issues
|
|
16
|
+
Fixes #(issue number)
|
|
17
|
+
|
|
18
|
+
## Changes Made
|
|
19
|
+
- Change 1
|
|
20
|
+
- Change 2
|
|
21
|
+
- Change 3
|
|
22
|
+
|
|
23
|
+
## Testing
|
|
24
|
+
- [ ] Tests pass locally (`npm test`)
|
|
25
|
+
- [ ] New tests added for new functionality
|
|
26
|
+
- [ ] Test coverage maintained or improved
|
|
27
|
+
- [ ] Build succeeds (`npm run build`)
|
|
28
|
+
- [ ] Linting passes (`npm run lint`)
|
|
29
|
+
|
|
30
|
+
## Documentation
|
|
31
|
+
- [ ] README updated (if needed)
|
|
32
|
+
- [ ] API documentation updated (if needed)
|
|
33
|
+
- [ ] CONTRIBUTING guide updated (if needed)
|
|
34
|
+
- [ ] Comments added to complex code
|
|
35
|
+
|
|
36
|
+
## Checklist
|
|
37
|
+
- [ ] Code follows the project's style guidelines
|
|
38
|
+
- [ ] Self-review of code completed
|
|
39
|
+
- [ ] Comments added where needed
|
|
40
|
+
- [ ] No console.log or debug statements
|
|
41
|
+
- [ ] No breaking changes (or documented if necessary)
|
|
42
|
+
- [ ] Commit messages follow conventional commits format
|
|
43
|
+
|
|
44
|
+
## Screenshots (if applicable)
|
|
45
|
+
Add screenshots to help explain your changes.
|
|
46
|
+
|
|
47
|
+
## Additional Notes
|
|
48
|
+
Any additional information that reviewers should know.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
name: Deploy Documentation
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
paths:
|
|
8
|
+
- 'website/**'
|
|
9
|
+
- 'guide/**'
|
|
10
|
+
- 'README.md'
|
|
11
|
+
- 'docs/**'
|
|
12
|
+
- '.github/workflows/deploy-docs.yml'
|
|
13
|
+
workflow_dispatch:
|
|
14
|
+
|
|
15
|
+
permissions:
|
|
16
|
+
contents: read
|
|
17
|
+
pages: write
|
|
18
|
+
id-token: write
|
|
19
|
+
|
|
20
|
+
concurrency:
|
|
21
|
+
group: "pages"
|
|
22
|
+
cancel-in-progress: true
|
|
23
|
+
|
|
24
|
+
jobs:
|
|
25
|
+
build:
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
steps:
|
|
28
|
+
- name: Checkout
|
|
29
|
+
uses: actions/checkout@v4
|
|
30
|
+
|
|
31
|
+
- name: Setup Node.js
|
|
32
|
+
uses: actions/setup-node@v4
|
|
33
|
+
with:
|
|
34
|
+
node-version: '24'
|
|
35
|
+
|
|
36
|
+
- name: Install dependencies
|
|
37
|
+
run: npm install
|
|
38
|
+
|
|
39
|
+
- name: Build website
|
|
40
|
+
run: npm run docs:build
|
|
41
|
+
|
|
42
|
+
- name: Setup Pages
|
|
43
|
+
uses: actions/configure-pages@v5
|
|
44
|
+
|
|
45
|
+
- name: Upload artifact
|
|
46
|
+
uses: actions/upload-pages-artifact@v3
|
|
47
|
+
with:
|
|
48
|
+
path: './website/dist'
|
|
49
|
+
|
|
50
|
+
deploy:
|
|
51
|
+
environment:
|
|
52
|
+
name: github-pages
|
|
53
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
54
|
+
runs-on: ubuntu-latest
|
|
55
|
+
needs: build
|
|
56
|
+
steps:
|
|
57
|
+
- name: Deploy to GitHub Pages
|
|
58
|
+
id: deployment
|
|
59
|
+
uses: actions/deploy-pages@v4
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
name: Publish to NPM
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
publish:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
permissions:
|
|
12
|
+
contents: write
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- name: Checkout code
|
|
16
|
+
uses: actions/checkout@v4
|
|
17
|
+
|
|
18
|
+
- name: Setup Node.js
|
|
19
|
+
uses: actions/setup-node@v4
|
|
20
|
+
with:
|
|
21
|
+
node-version: '24.x'
|
|
22
|
+
registry-url: 'https://registry.npmjs.org'
|
|
23
|
+
|
|
24
|
+
- name: Install dependencies
|
|
25
|
+
run: npm install
|
|
26
|
+
|
|
27
|
+
- name: Run tests
|
|
28
|
+
run: npm test
|
|
29
|
+
env:
|
|
30
|
+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
31
|
+
|
|
32
|
+
- name: Build
|
|
33
|
+
run: npm run build
|
|
34
|
+
|
|
35
|
+
- name: Publish to NPM
|
|
36
|
+
run: npm publish --access public
|
|
37
|
+
env:
|
|
38
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
39
|
+
|
|
40
|
+
- name: Create GitHub Release
|
|
41
|
+
uses: actions/create-release@v1
|
|
42
|
+
env:
|
|
43
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
44
|
+
with:
|
|
45
|
+
tag_name: ${{ github.ref }}
|
|
46
|
+
release_name: Release ${{ github.ref }}
|
|
47
|
+
draft: false
|
|
48
|
+
prerelease: false
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
name: Test
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main, working]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main, working]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
|
|
15
|
+
strategy:
|
|
16
|
+
matrix:
|
|
17
|
+
node-version: [24.x]
|
|
18
|
+
|
|
19
|
+
steps:
|
|
20
|
+
- name: Checkout code
|
|
21
|
+
uses: actions/checkout@v4
|
|
22
|
+
|
|
23
|
+
- name: Setup Node.js ${{ matrix.node-version }}
|
|
24
|
+
uses: actions/setup-node@v4
|
|
25
|
+
with:
|
|
26
|
+
node-version: ${{ matrix.node-version }}
|
|
27
|
+
|
|
28
|
+
- name: Install dependencies
|
|
29
|
+
run: npm install
|
|
30
|
+
|
|
31
|
+
- name: Run linter
|
|
32
|
+
run: npm run lint
|
|
33
|
+
|
|
34
|
+
- name: Run tests with coverage
|
|
35
|
+
run: npm test
|
|
36
|
+
env:
|
|
37
|
+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
38
|
+
|
|
39
|
+
- name: Build
|
|
40
|
+
run: npm run build
|
|
41
|
+
|
|
42
|
+
- name: Upload coverage to Codecov
|
|
43
|
+
uses: codecov/codecov-action@v4
|
|
44
|
+
with:
|
|
45
|
+
file: ./coverage/lcov.info
|
|
46
|
+
flags: unittests
|
|
47
|
+
name: codecov-umbrella
|
|
48
|
+
fail_ci_if_error: false
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Initial release of Kilde
|
|
12
|
+
- AI-powered commit message generation
|
|
13
|
+
- Git-based release notes generation
|
|
14
|
+
- Model Context Protocol (MCP) server integration
|
|
15
|
+
- Interactive mode for reviewing messages
|
|
16
|
+
- YAML/JSON configuration support
|
|
17
|
+
- Comprehensive documentation (README, AI Guide, Contributing)
|
|
18
|
+
- 107 unit tests with 85%+ coverage
|
|
19
|
+
- GitHub Actions workflows for CI/CD
|
|
20
|
+
|
|
21
|
+
## [0.1.0-dev.0] - 2026-01-21
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
- Project foundation and build system
|
|
25
|
+
- Core commands: `commit` and `release`
|
|
26
|
+
- Pure git implementation (no GitHub API dependencies)
|
|
27
|
+
- Language-agnostic git automation
|
|
28
|
+
- Commander.js CLI interface
|
|
29
|
+
- Winston logging with debug mode
|
|
30
|
+
- Configuration file support (.kilde/config.yaml)
|
|
31
|
+
- Context files support for enhanced AI generation
|
|
32
|
+
- Dry-run mode for previewing changes
|
|
33
|
+
- MCP server with tools, resources, and prompts
|
|
34
|
+
- Test suite with vitest
|
|
35
|
+
- Comprehensive documentation
|
|
36
|
+
|
|
37
|
+
### Features
|
|
38
|
+
|
|
39
|
+
#### Commit Command
|
|
40
|
+
- Generate AI-powered commit messages from git diff
|
|
41
|
+
- Stage changes with `--add` flag
|
|
42
|
+
- Auto-commit with `--sendit` flag
|
|
43
|
+
- Interactive review mode
|
|
44
|
+
- Amend previous commits
|
|
45
|
+
- Push after committing
|
|
46
|
+
- Custom context and context files
|
|
47
|
+
- Dry-run preview mode
|
|
48
|
+
|
|
49
|
+
#### Release Command
|
|
50
|
+
- Generate release notes from git history
|
|
51
|
+
- Tag-based version comparison
|
|
52
|
+
- Customizable focus areas
|
|
53
|
+
- Output to file
|
|
54
|
+
- Interactive review mode
|
|
55
|
+
- Context-aware generation
|
|
56
|
+
|
|
57
|
+
#### MCP Integration
|
|
58
|
+
- `kilde_commit` tool for AI assistants
|
|
59
|
+
- `kilde_release` tool for AI assistants
|
|
60
|
+
- Configuration resource (`kilde://config`)
|
|
61
|
+
- Status resource (`kilde://status`)
|
|
62
|
+
- Workspace resource (`kilde://workspace`)
|
|
63
|
+
- Commit workflow prompt
|
|
64
|
+
- Release workflow prompt
|
|
65
|
+
|
|
66
|
+
### Technical
|
|
67
|
+
- Node.js 24+ requirement
|
|
68
|
+
- TypeScript strict mode
|
|
69
|
+
- Vite build system (<30s builds)
|
|
70
|
+
- ESLint + Prettier
|
|
71
|
+
- Vitest for testing
|
|
72
|
+
- Coverage reporting with v8
|
|
73
|
+
- Git metadata injection in builds
|
|
74
|
+
- Executable binaries (kilde, kilde-mcp)
|
|
75
|
+
|
|
76
|
+
### Documentation
|
|
77
|
+
- Comprehensive README with examples
|
|
78
|
+
- AI Integration Guide for Claude
|
|
79
|
+
- Contributing guidelines
|
|
80
|
+
- API documentation
|
|
81
|
+
- Issue and PR templates
|
|
82
|
+
- Code of conduct
|
|
83
|
+
|
|
84
|
+
### Infrastructure
|
|
85
|
+
- GitHub Actions CI/CD
|
|
86
|
+
- Automated testing on push/PR
|
|
87
|
+
- NPM publishing workflow
|
|
88
|
+
- CodeQL security analysis
|
|
89
|
+
- Codecov integration
|
|
90
|
+
|
|
91
|
+
[Unreleased]: https://github.com/grunnverk/kilde/compare/v0.1.0-dev.0...HEAD
|
|
92
|
+
[0.1.0-dev.0]: https://github.com/grunnverk/kilde/releases/tag/v0.1.0-dev.0
|