@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 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
@@ -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.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",