Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 15 additions & 19 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
module.exports = {
root: true,
env: { browser: true, es2020: true },
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:react-hooks/recommended',
],
ignorePatterns: ['dist', '.eslintrc.cjs'],
parser: '@typescript-eslint/parser',
plugins: ['react-refresh'],
rules: {
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
],
},
}

module.exports = {
root: true,
env: { browser: true, es2020: true },
extends: [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:react-hooks/recommended",
],
ignorePatterns: ["dist", ".eslintrc.cjs"],
parser: "@typescript-eslint/parser",
plugins: ["react-refresh"],
rules: {
"react-refresh/only-export-components": ["warn", { allowConstantExport: true }],
},
};
20 changes: 9 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Recordly is a desktop app for recording and editing screen captures with motion-

Recordly runs on:

- **macOS** 13.0+
- **macOS** 14.0+
- **Windows** 10 Build 19041+
- **Linux** on modern distros

Expand Down Expand Up @@ -61,6 +61,12 @@ Use drag-and-drop timeline tools for zooms, trims, speed regions, annotations, e
<img src="./feature3.png" width="450" alt="Recordly timeline editor screenshot">
</p>

## Extensions & Marketplace

Recordly has a community-driven extension system. Anyone can build and publish extensions that add new capabilities to Recordly — cursor click sounds, device frames, browser mockups, wallpapers, render hooks, settings panels, and more.

Browse and install community extensions from the [Recordly Marketplace](https://marketplace.recordly.dev/extensions).

---

## All Features
Expand Down Expand Up @@ -233,7 +239,7 @@ xattr -rd com.apple.quarantine /Applications/Recordly.app

| Platform | Minimum version | Notes |
|---|---|---|
| **macOS** | macOS 13.0 (Ventura) | Required for ScreenCaptureKit audio capture. |
| **macOS** | macOS 14.0 (Sonoma) | Required for ScreenCaptureKit audio and microphone capture. |
| **Windows** | Windows 10 20H1 (Build 19041, May 2020) | Required for the native Windows Graphics Capture (WGC) helper and best cursor-hiding behavior. |
| **Linux** | Any modern distro | Recording works through Electron capture. System audio generally requires PipeWire. |

Expand Down Expand Up @@ -304,7 +310,7 @@ System audio support varies by platform.
- Usually requires PipeWire

**macOS**
- Requires macOS 13.0+ and the ScreenCaptureKit-based workflow
- Requires macOS 14.0+ and the ScreenCaptureKit-based workflow

---

Expand Down Expand Up @@ -382,14 +388,6 @@ Recordly is licensed under the **AGPL 3.0**.

---

## Extensions

Recordly has an extension system for adding device frames, click effects, render hooks, sounds, and settings panels. Built-in extensions ship under `public/builtin-extensions/`.

See [EXTENSIONS.md](./EXTENSIONS.md) for the full API reference and examples.

---

# Credits

## Acknowledgements
Expand Down
20 changes: 10 additions & 10 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Recordly 是一款桌面应用,用于录制并编辑屏幕内容,内置面

Recordly 运行于:

- **macOS** 13.0+
- **macOS** 14.0+
- **Windows** 10 Build 19041+
- **Linux** 现代发行版

Expand Down Expand Up @@ -61,6 +61,12 @@ Recordly 可以根据操作自动强调重点区域,平滑光标运动,添
<img src="./feature3.png" width="450" alt="Recordly timeline editor screenshot">
</p>

## 扩展与市场

Recordly 拥有一个社区驱动的扩展系统。任何人都可以构建和发布扩展来为 Recordly 添加新功能——光标点击音效、设备边框、浏览器模拟外壳、壁纸、渲染钩子、设置面板等等。

浏览并安装社区扩展:[Recordly 扩展市场](https://marketplace.recordly.dev/extensions)。

---

## 全部功能
Expand Down Expand Up @@ -234,8 +240,8 @@ xattr -rd com.apple.quarantine /Applications/Recordly.app

| 平台 | 最低版本 | 说明 |
|---|---|---|
| **macOS** | macOS 13.0 (Ventura) | 使用 ScreenCaptureKit 音频捕获所必需。 |
| **Windows** | Windows 10 20H1(Build 19041,2020 年 5 月) | 原生 Windows Graphics Capture(WGC)辅助程序以及最佳光标隐藏行为所必需。 |
| **macOS** | macOS 14.0 (Sonoma) | 使用 ScreenCaptureKit 捕获音频和麦克风所必需。 |
| **Windows** | Windows 10 20H1(Build 19041,2020 年 5 月) | 原生 Windows Graphics Capture(WGC)辅助程序及最佳光标隐藏行为所必需。 |
| **Linux** | 任意现代发行版 | 通过 Electron 捕获录制。系统音频通常需要 PipeWire。 |

> [!IMPORTANT]
Expand Down Expand Up @@ -305,7 +311,7 @@ Recordly 会在录制画面上渲染一个经过美化的光标叠加层,但
- 通常需要 PipeWire

**macOS**
- 需要 macOS 13.0+ 以及基于 ScreenCaptureKit 的工作流
- 需要 macOS 14.0+ 和基于 ScreenCaptureKit 的工作流

---

Expand Down Expand Up @@ -383,12 +389,6 @@ Recordly 基于 **AGPL 3.0** 发布。

---

## 扩展系统

Recordly 提供扩展系统,可用于添加设备边框、点击特效、渲染钩子、声音和设置面板。内置扩展位于 `public/builtin-extensions/`。

完整 API 参考和示例请见 [EXTENSIONS.md](./EXTENSIONS.md)。

---

# 致谢
Expand Down
47 changes: 46 additions & 1 deletion biome.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
"noNamespace": "error",
"useArrayLiterals": "error",
"useAsConstAssertion": "error",
"useComponentExportOnlyModules": "warn"
"useComponentExportOnlyModules": "off"
},
"suspicious": {
"noAssignInExpressions": "error",
Expand Down Expand Up @@ -96,6 +96,7 @@
"includes": ["**", "**/dist", "**/.eslintrc.cjs", "**", "**/dist", "**/.eslintrc.cjs"]
},
"javascript": { "formatter": { "quoteStyle": "double" } },
"css": { "parser": { "tailwindDirectives": true } },
"overrides": [
{
"includes": ["*.ts", "*.tsx", "*.mts", "*.cts"],
Expand Down Expand Up @@ -156,6 +157,50 @@
}
}
}
},
{
"includes": ["electron/electron-env.d.ts"],
"linter": {
"rules": {
"style": {
"noNamespace": "off"
},
"suspicious": {
"noExplicitAny": "off"
}
}
}
},
{
"includes": ["**/*.test.ts", "**/*.test.tsx"],
"linter": {
"rules": {
"correctness": {
"noEmptyPattern": "off"
},
"suspicious": {
"noEmptyBlockStatements": "off"
}
}
}
},
{
"includes": [
"src/components/video-editor/audio.test.ts",
"src/lib/exporter/frameRenderer.test.ts",
"src/lib/exporter/localMediaSource.test.ts",
"src/lib/exporter/modernFrameRenderer.test.ts"
],
"linter": {
"rules": {
"correctness": {
"noUnusedVariables": "off"
},
"suspicious": {
"noExplicitAny": "off"
}
}
}
}
],
"assist": {
Expand Down
Loading