iArt.ai
AI 모션 그래픽 소프트웨어, 누구나 사용할 수 있는 After Effects 대안, 텍스트 프롬프트로 몇 분 안에 애니메이션·설명 영상 제작
AudioBook Boss™ — Batch audiobook processing and metadata management for personal libraries
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Personal audiobook management for power users.
Convert, tag, and organize your audiobook library with metadata that works everywhere — Audiobookshelf, Plex, and Apple Books.README 전문 보기 ↗Personal audiobook management for power users.
Convert, tag, and organize your audiobook library with metadata that works everywhere — Audiobookshelf, Plex, and Apple Books.
# JS/TS dependencies
bun install
# First run publishes the AAXClean sidecar (.NET 10 SDK required)
# then starts Tauri with bundled FFmpeg and reusable logs.
bun run app:dev:log
Requires: macOS (Apple Silicon) or x86_64 Ubuntu 22.04 or newer (glibc 2.27+, OpenSSL, WebKitGTK 4.1), Bun 1.4 or newer, Rust (rustup), and a .NET 10 SDK for the sidecar. macOS also needs Homebrew. App, test, and release builds use bundled FFmpeg — Homebrew ffmpeg is not required to run the app. Install it only for the real-media test lane (fixture/readback). After clone, bash scripts/setup.sh installs everything except rustup and Homebrew.
AAC runtime contract: output encoder and input decoder are separate. Auto
selects Native NMR; Apple AAC and bundled FAAC are explicit choices.
Native AAC uses the bundled NMR coder with a numeric target and speed control.
Apple AAC uses a numeric target. Bundled FAAC offers Auto, AAC-LC, and HE-AAC v1
profiles with ABR or VBR. FAAC defaults to profile Auto and ABR; the shared
target defaults to 65 kbps, and sample rate/channels retain their Auto behavior.
FAAC chooses Auto’s profile from the requested output settings when encoding
opens. VBR offers Smaller (50), Standard (100), and Higher (200); size varies
with the audio, so use ABR for a bitrate target. Explicit HE supports 32, 44.1,
and 48 kHz; Auto and LC also support the other available output rates. Saved
HE/ABR preferences retain that intent. All processing runs in the in-process
Audio engine; on macOS it uses aac_at to decode AAC sources the default
decoder cannot handle. Bundled source revisions and wrapper changes are
recorded under vendor/. ABB-produced FAAC HE files retain Apple-compatible
gapless timing; ABB accounts for native decoder priming when reading them back.
FAAC's LGPL license and source provenance ship with the app; its corresponding
source and build configuration live in vendor/faac-sys/. Each public release
provides the corresponding ABB source, including the selected FAAC source and
build scripts. To rebuild with a modified FAAC library, extract the matching
release source archive, edit vendor/faac-sys/upstream/, run
bun install --frozen-lockfile, then bun run app:build:dmg on an Apple Silicon
Mac with the prerequisites above. The build compiles and links that local FAAC
source; no proprietary relinking tool is required.
Settings → Power enables Keep computer awake while working by default. It prevents macOS idle sleep during encoding, Audible acquisition, Indexer handoff, and metadata saves, while allowing display sleep. Turning it off takes effect during active work. Leaving ABB open and idle does not prevent sleep; manual sleep, lid closure, and low-battery sleep remain controlled by macOS.
devDependency updated with the other packages;
bash scripts/locked-bun-version.sh prints the version CI uses..agents/skills/release
for packaging and GitHub Release work.After clone, bash scripts/setup.sh then bash scripts/verify.sh. Setup
prints the line that puts its tools on PATH, installs this repo's pre-commit
hook, and never edits shell profiles. Lanes and owner mapping: root
AGENTS.md Environment and scripts/AGENTS.md.
Linux (tested target): x86_64 Ubuntu 22.04 or newer, glibc 2.27+, OpenSSL, and
WebKitGTK 4.1. linux-arm64 publishes but is not proven on real hardware.
A saved Audible sign-in and indexer key go to the desktop secret service when
one is running, so they survive a reboot. With no secret service, they last
until the next restart, and the account view says sign-in will not be
remembered
(#557).
Windows through WSL is not a supported launch yet. A real Windows machine still has to run the checks in #557. Until that run is recorded, the notes below are untested:
WEBKIT_DISABLE_DMABUF_RENDERER=1, then
WEBKIT_DISABLE_COMPOSITING_MODE=1. That is a known WebKitGTK and WSLg
issue. Do not set either one until a real machine shows it is needed.target/, and outputs may need to stay on the Linux filesystem
(~/…), not /mnt/c. Windows drives are slower over WSL, chmod mostly does
not apply, and they are case-insensitive. This has not been measured.Build the current branch and replace /Applications/AudioBook Boss.app in
place. macOS (Apple Silicon) only; the replace is silent and unprompted.
bun run app:install-local # local build, verify, install, prune artifacts
bun run app:install-local:existing # install an already-built bundle (--skip-build)
On a supported Apple Silicon Mac, bundled-ffmpeg always uses the portable
Apple Silicon baseline (ffmpeg-sys-next/build-portable). bun run app:build
builds the repo-local app; bun run app:build:dmg and bun run app:build:all
package a DMG that may run on an unknown recipient Mac.
Index of common commands; package.json holds the shortcuts.
bun run app:dev:log (bundled FFmpeg). bun run build is the
frontend production bundle only.bun run typecheck,
bun run test -- <test files>, plus bun run fmt:check / bun run lint:check
when formatting or lint is in scope.bash scripts/verify.sh <lane>; lanes and their owners are
in scripts/AGENTS.md.bash scripts/abb-dev.sh <file-or-folder>... [--set field=value] [--save] [--out folder --export] [--json] imports files
into an engine session and can edit and save tags, choose audio and naming,
export or preview with progress, cancel a title, and read back the exported
tags. --help lists every option. It keeps its own state and never touches
the app's settings.bun run bindings:check and
bun run bindings:check:runtime-boundary. Verification leaves the checked
files untouched.bun run audit..github/workflows/ci.yml): scripts/check-pr-workflow-policy.ts
enforces its rules (docs/DECISIONS.md). Each job runs scripts/setup.sh
and the scripts/verify.sh lanes that the changed paths select
(scripts/lane-paths.yml). GitHub also runs Pages for site/**.bun run bindings:generate, bun run bindings:check.--timings report shows where compile time goes..agents/skills/release.
bun scripts/bump-version.ts <version> updates version surfaces;
bun run app:install-local is the developer-install lane and silently
replaces /Applications/AudioBook Boss.app; bun run app:build builds a
repo-local .app; bun run app:build:dmg builds a portable,
noninteractive public DMG and rebuilds the AAXClean helper from current source.
bun scripts/resolve-release-dmg.ts --version <version> resolves the artifact;
download the uploaded asset and compare its shasum -a 256 with the local DMG.Tag @claude with a request in an issue or pull request comment, an inline
review comment, a submitted review, or a new issue's title/body. The
Claude mentions workflow handles the request. The triggering person must
have write access; the action rejects bot actors and users without it.
Both Claude workflows use a subscription token stored as the repository secret
CLAUDE_CODE_OAUTH_TOKEN. To replace a rejected or expired token, run these
commands locally, then paste the token printed by the first command into the
second command's hidden prompt:
claude setup-token
gh secret set CLAUDE_CODE_OAUTH_TOKEN --repo Allmight97/audiobook-boss
Paste only the token, without quotes or the surrounding instructions. Keep it
out of comments, logs, and committed files. A 401 Invalid bearer token error
means Anthropic rejected the stored credential; rerunning with the same secret
does not repair it.
In GitHub Actions, select Claude mentions → Run workflow to check
authentication without posting comments or changing files. The run must pass
before testing @claude on a real request. From the CLI:
gh workflow run claude.yml --repo Allmight97/audiobook-boss --ref main
Automatic review (claude-review.yml) runs once when a PR opens ready,
reopens, or leaves draft, never per push (docs/DECISIONS.md). In a draft,
ask with an @claude comment. Turn automatic review off or on with:
gh workflow disable claude-review.yml --repo Allmight97/audiobook-boss
gh workflow enable claude-review.yml --repo Allmight97/audiobook-boss
The workflow files must be on the default branch before comment triggers, the manual authentication check, and automatic review run.
AGENTS.md; agent operating guidance lives there, not in this README.