@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.
Files changed (75) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +40 -0
  2. package/.github/ISSUE_TEMPLATE/feature_request.md +31 -0
  3. package/.github/pull_request_template.md +48 -0
  4. package/.github/workflows/deploy-docs.yml +59 -0
  5. package/.github/workflows/npm-publish.yml +48 -0
  6. package/.github/workflows/test.yml +48 -0
  7. package/CHANGELOG.md +92 -0
  8. package/CONTRIBUTING.md +438 -0
  9. package/LICENSE +190 -0
  10. package/PROJECT_SUMMARY.md +318 -0
  11. package/README.md +444 -0
  12. package/RELEASE_CHECKLIST.md +182 -0
  13. package/dist/application.js +166 -0
  14. package/dist/application.js.map +1 -0
  15. package/dist/commands/release.js +326 -0
  16. package/dist/commands/release.js.map +1 -0
  17. package/dist/constants.js +122 -0
  18. package/dist/constants.js.map +1 -0
  19. package/dist/logging.js +176 -0
  20. package/dist/logging.js.map +1 -0
  21. package/dist/main.js +24 -0
  22. package/dist/main.js.map +1 -0
  23. package/dist/mcp-server.js +17467 -0
  24. package/dist/mcp-server.js.map +7 -0
  25. package/dist/utils/config.js +89 -0
  26. package/dist/utils/config.js.map +1 -0
  27. package/docs/AI_GUIDE.md +618 -0
  28. package/eslint.config.mjs +85 -0
  29. package/guide/architecture.md +776 -0
  30. package/guide/commands.md +580 -0
  31. package/guide/configuration.md +779 -0
  32. package/guide/mcp-integration.md +708 -0
  33. package/guide/overview.md +225 -0
  34. package/package.json +91 -0
  35. package/scripts/build-mcp.js +115 -0
  36. package/scripts/test-mcp-compliance.js +254 -0
  37. package/src/application.ts +246 -0
  38. package/src/commands/release.ts +450 -0
  39. package/src/constants.ts +162 -0
  40. package/src/logging.ts +210 -0
  41. package/src/main.ts +25 -0
  42. package/src/mcp/prompts/index.ts +98 -0
  43. package/src/mcp/resources.ts +121 -0
  44. package/src/mcp/server.ts +195 -0
  45. package/src/mcp/tools.ts +219 -0
  46. package/src/types.ts +131 -0
  47. package/src/utils/config.ts +181 -0
  48. package/tests/application.test.ts +114 -0
  49. package/tests/commands/commit.test.ts +248 -0
  50. package/tests/commands/release.test.ts +325 -0
  51. package/tests/constants.test.ts +118 -0
  52. package/tests/logging.test.ts +142 -0
  53. package/tests/mcp/prompts/index.test.ts +202 -0
  54. package/tests/mcp/resources.test.ts +166 -0
  55. package/tests/mcp/tools.test.ts +211 -0
  56. package/tests/utils/config.test.ts +212 -0
  57. package/tsconfig.json +32 -0
  58. package/vite.config.ts +107 -0
  59. package/vitest.config.ts +40 -0
  60. package/website/index.html +14 -0
  61. package/website/src/App.css +142 -0
  62. package/website/src/App.tsx +34 -0
  63. package/website/src/components/Commands.tsx +182 -0
  64. package/website/src/components/Configuration.tsx +214 -0
  65. package/website/src/components/Examples.tsx +234 -0
  66. package/website/src/components/Footer.css +99 -0
  67. package/website/src/components/Footer.tsx +93 -0
  68. package/website/src/components/GettingStarted.tsx +94 -0
  69. package/website/src/components/Hero.css +95 -0
  70. package/website/src/components/Hero.tsx +50 -0
  71. package/website/src/components/Navigation.css +102 -0
  72. package/website/src/components/Navigation.tsx +57 -0
  73. package/website/src/index.css +36 -0
  74. package/website/src/main.tsx +10 -0
  75. 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