@thunderkiller/video-clipper 1.3.1 → 1.5.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/CHANGELOG.md +12 -0
- package/CONTRIBUTING.md +100 -0
- package/commitlint.config.js +25 -0
- package/package.json +7 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
# [1.5.0](https://github.com/AmreetKumarkhuntia/video-clipper/compare/v1.4.0...v1.5.0) (2026-03-20)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
- **release:** publish to GitHub Packages alongside npm ([dee2e57](https://github.com/AmreetKumarkhuntia/video-clipper/commit/dee2e574eceb83a43be47155ad87060d74658713))
|
|
6
|
+
|
|
7
|
+
# [1.4.0](https://github.com/AmreetKumarkhuntia/video-clipper/compare/v1.3.1...v1.4.0) (2026-03-20)
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
- **commitlint:** enforce conventional commit message format ([9d99882](https://github.com/AmreetKumarkhuntia/video-clipper/commit/9d998828617be72a81fbe4e72caa15eb28e88b82))
|
|
12
|
+
|
|
1
13
|
## [1.3.1](https://github.com/AmreetKumarkhuntia/video-clipper/compare/v1.3.0...v1.3.1) (2026-03-20)
|
|
2
14
|
|
|
3
15
|
### Bug Fixes
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
## Getting Started
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
pnpm install
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
This will install all dependencies and set up git hooks via Husky.
|
|
10
|
+
|
|
11
|
+
## Commit Message Format
|
|
12
|
+
|
|
13
|
+
This project uses [Conventional Commits](https://www.conventionalcommits.org/) enforced by [commitlint](https://commitlint.js.org/).
|
|
14
|
+
|
|
15
|
+
### Format
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
<type>(<scope>): <short description>
|
|
19
|
+
|
|
20
|
+
- <detail 1>
|
|
21
|
+
- <detail 2>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Types
|
|
25
|
+
|
|
26
|
+
| Type | Description | Version Bump |
|
|
27
|
+
| ---------- | ------------------------------------------------------- | ---------------------- |
|
|
28
|
+
| `feat` | New feature | minor (1.0.0 -> 1.1.0) |
|
|
29
|
+
| `fix` | Bug fix | patch (1.0.0 -> 1.0.1) |
|
|
30
|
+
| `docs` | Documentation only | none |
|
|
31
|
+
| `refactor` | Code change that neither fixes a bug nor adds a feature | none |
|
|
32
|
+
| `test` | Adding or updating tests | none |
|
|
33
|
+
| `chore` | Maintenance tasks (deps, config, etc.) | none |
|
|
34
|
+
| `style` | Formatting, missing semicolons, etc. (no code change) | none |
|
|
35
|
+
| `perf` | Performance improvement | none |
|
|
36
|
+
| `ci` | CI/CD configuration changes | none |
|
|
37
|
+
| `build` | Build system or external dependency changes | none |
|
|
38
|
+
| `revert` | Reverts a previous commit | none |
|
|
39
|
+
|
|
40
|
+
### Rules
|
|
41
|
+
|
|
42
|
+
- **type** (required): one from the table above
|
|
43
|
+
- **scope** (recommended): kebab-case name of the feature area, e.g. `release`, `transcript-fetcher`, `llm-analyzer`
|
|
44
|
+
- **short description** (required): lowercase, imperative mood, max 100 chars, no period at end
|
|
45
|
+
- **body** (optional): pointwise with `-`, max 500 chars total
|
|
46
|
+
|
|
47
|
+
### Examples
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
feat(clip-refiner): add overlap detection for adjacent segments
|
|
51
|
+
|
|
52
|
+
- detect when refined segments overlap by more than 2s
|
|
53
|
+
- merge overlapping segments and keep the higher-scored one
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
fix(release): add @semantic-release/npm to update package.json version
|
|
58
|
+
|
|
59
|
+
- add @semantic-release/npm with npmPublish: false
|
|
60
|
+
- npm publish remains a separate workflow step
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
docs(readme): add advanced examples section
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Breaking Changes
|
|
68
|
+
|
|
69
|
+
Add `BREAKING CHANGE:` in the commit body or `!` after the type to trigger a major version bump:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
feat(config)!: rename ENV_VAR to NEW_ENV_VAR
|
|
73
|
+
|
|
74
|
+
BREAKING CHANGE: ENV_VAR is no longer supported, use NEW_ENV_VAR instead
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Git Hooks
|
|
78
|
+
|
|
79
|
+
The following hooks run automatically on every commit:
|
|
80
|
+
|
|
81
|
+
| Hook | What it runs |
|
|
82
|
+
| ------------ | ------------------------------------------------------------- |
|
|
83
|
+
| `pre-commit` | `lint-staged` (Prettier), `type-check` (tsc), `test` (vitest) |
|
|
84
|
+
| `commit-msg` | `commitlint` (validates commit message format) |
|
|
85
|
+
|
|
86
|
+
If your commit is rejected, check the error output — it will tell you exactly which rule was violated.
|
|
87
|
+
|
|
88
|
+
## Code Style
|
|
89
|
+
|
|
90
|
+
- TypeScript only — no plain `.js` files
|
|
91
|
+
- Prettier handles formatting automatically via `lint-staged`
|
|
92
|
+
- Run `pnpm format` to format all files manually
|
|
93
|
+
- Run `pnpm type-check` to check for type errors
|
|
94
|
+
|
|
95
|
+
## Testing
|
|
96
|
+
|
|
97
|
+
- Write unit tests for pure functions
|
|
98
|
+
- Test files live in `tests/` at the project root
|
|
99
|
+
- Run `pnpm test` to run all tests
|
|
100
|
+
- Run `pnpm test:watch` for watch mode
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
extends: ['@commitlint/config-conventional'],
|
|
3
|
+
rules: {
|
|
4
|
+
'type-enum': [
|
|
5
|
+
2,
|
|
6
|
+
'always',
|
|
7
|
+
[
|
|
8
|
+
'feat',
|
|
9
|
+
'fix',
|
|
10
|
+
'docs',
|
|
11
|
+
'refactor',
|
|
12
|
+
'test',
|
|
13
|
+
'chore',
|
|
14
|
+
'style',
|
|
15
|
+
'perf',
|
|
16
|
+
'ci',
|
|
17
|
+
'build',
|
|
18
|
+
'revert',
|
|
19
|
+
],
|
|
20
|
+
],
|
|
21
|
+
'scope-case': [2, 'always', 'kebab-case'],
|
|
22
|
+
'subject-max-length': [2, 'always', 100],
|
|
23
|
+
'body-max-line-length': [2, 'always', 500],
|
|
24
|
+
},
|
|
25
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thunderkiller/video-clipper",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "CLI that analyzes YouTube transcripts with an LLM to find interesting moments and cut clips",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "",
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
"publishConfig": {
|
|
12
12
|
"access": "public"
|
|
13
13
|
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "https://github.com/AmreetKumarkhuntia/video-clipper.git"
|
|
17
|
+
},
|
|
14
18
|
"scripts": {
|
|
15
19
|
"start": "tsx src/index.ts",
|
|
16
20
|
"build": "tsc",
|
|
@@ -49,6 +53,8 @@
|
|
|
49
53
|
"zod": "^4.3.6"
|
|
50
54
|
},
|
|
51
55
|
"devDependencies": {
|
|
56
|
+
"@commitlint/cli": "^20.5.0",
|
|
57
|
+
"@commitlint/config-conventional": "^20.5.0",
|
|
52
58
|
"@semantic-release/changelog": "^6.0.3",
|
|
53
59
|
"@semantic-release/git": "^10.0.1",
|
|
54
60
|
"@semantic-release/github": "^12.0.6",
|