RuleStack

Configs

Stacks

Compare

Diff

RuleStack

Configs

Stacks

Compare

Diff

Read API

RuleStack

Configs

Stacks

Compare

Diff

Read API

Configs/CLAUDE.md/AudioKit/AudioKit

CLAUDE.md

CLAUDE.md
CLAUDE.mdroot

Quality

84/100

Scores the file, not the repository.

Length

439 words

11 headings · 1 code blocks

Repository

11k

— · pushed 9 days ago

Last changed

2 days ago

First indexed 2 days ago.
AudioKit/AudioKit/CLAUDE.mdRawGitHub
1# CLAUDE.md
2 
3This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4 
5## Build & Test Commands
6 
7AudioKit uses Swift Package Manager. The CI builds target iOS Simulator:
8 
9```bash
10# Build
11xcodebuild -scheme AudioKit -destination "platform=iOS Simulator,name=iPhone 17 Pro"
12 
13# Run all tests
14xcodebuild -scheme AudioKit -destination "platform=iOS Simulator,name=iPhone 17 Pro" test
15 
16# Run a single test
17xcodebuild -scheme AudioKit -destination "platform=iOS Simulator,name=iPhone 17 Pro" test -only-testing:AudioKitTests/DistortionTests/testDefault
18```
19 
20You can also open the package in Xcode (drag the folder onto Xcode's dock icon) and run tests with Cmd-U.
21 
22## Architecture
23 
24**AudioKit** is a Swift-only audio framework wrapping AVFoundation. It targets macOS 11+, iOS 13+, tvOS 13+, and visionOS 1+. It has zero external dependencies.
25 
26### Core Abstractions
27 
28- **Node** (`Internals/Engine/Node.swift`) — Protocol wrapping `AVAudioNode`. All audio graph elements (effects, generators, players, mixers) conform to Node. Nodes connect to each other to form the signal chain.
29- **AudioEngine** (`Internals/Engine/AudioEngine.swift`) — Wraps `AVAudioEngine`. Set `engine.output` to a Node to drive connections. Provides `startTest()`/`render()` methods for headless test rendering.
30- **@Parameter** — Property wrapper for audio parameters on nodes.
31- **Settings** (`Internals/Settings/`) — Platform-specific audio session and format configuration.
32 
33### Source Layout (Sources/AudioKit/)
34 
35- `Nodes/` — Audio graph nodes organized by category:
36 - `Effects/` (Distortion, Dynamics, Filters)
37 - `Generators/` (PlaygroundOscillator, PlaygroundNoiseGenerator)
38 - `Mixing/` (Mixer, MatrixMixer, Mixer3D, EnvironmentalNode)
39 - `Playback/` (AudioPlayer, MultiSegmentAudioPlayer, AppleSampler, VariSpeed, TimePitch)
40- `MIDI/` — CoreMIDI wrapper with listener/transformer pattern, file parsing, virtual ports
41- `Taps/` — Non-intrusive audio stream analysis (AmplitudeTap, FFTTap, RawDataTap, NodeRecorder)
42- `Internals/` — Engine, hardware devices, settings, tables, utilities, error handling
43- `Audio Files/` — FormatConverter, AVAudioFile/AVAudioPCMBuffer extensions
44- `Sequencing/` — AppleSequencer (CoreAudio/MIDI-based)
45 
46### Extension Ecosystem
47 
48This repo is the **base layer only** (Swift wrapping AVFoundation). C++/DSP functionality lives in separate packages: AudioKitEX/CAudioKitEX provide the DSP layer, and packages like SoundpipeAudioKit, DunneAudioKit, STKAudioKit extend it with additional nodes.
49 
50## Testing Approach
51 
52Tests use **MD5 hash comparison** of rendered audio buffers for deterministic validation. The workflow:
53 
541. Create an `AudioEngine`, attach nodes, call `engine.startTest(totalDuration:)`
552. Render audio with `engine.render(duration:)`
563. Validate with `testMD5(audio)` which checks against hashes in `ValidatedMD5s.swift`
57 
58During test development, use `audio.audition()` to listen to output, then capture the MD5 hash and add it to the validated dictionary. Remove `audition()` before committing.
59 
60## Style Conventions
61 
62- camelCase variables (lowercase first), uppercase Classes. No Hungarian notation.
63- Descriptors before nouns: `leftOutput` not `outputLeft`
64- Omit units from names: `frequency` not `frequencyInHz`
65- Only collections are pluralized: `channelCount` not `numberOfChannels`
66- Acronyms all CAPS or all lowercase: `enableMIDI` not `enableMidi`
67- Booleans: `is` prefix with `ed`/`ing` suffix: `isLooping`, `isFilterEnabled`
68- Time intervals are called "Durations" (to distinguish from moments in time)
69 

Commands it names

  • xcodebuild -scheme AudioKit -destination "platform=iOS Simulator,name=iPhone 17 Pro"
  • xcodebuild -scheme AudioKit -destination "platform=iOS Simulator,name=iPhone 17 Pro" test
  • xcodebuild -scheme AudioKit -destination "platform=iOS Simulator,name=iPhone 17 Pro" test -only-testing:AudioKitTests/DistortionTests/testDefault

Sections

  • CLAUDE.md
  • Build & Test Commands
  • Build
  • Run all tests
  • Run a single test
  • Architecture
  • Core Abstractions
  • Source Layout (Sources/AudioKit/)
  • Extension Ecosystem
  • Testing Approach
  • Style Conventions

What it covers

buildtestcode-stylearchitectureagent-behaviour

Stack — with the evidence

swift

(1.00)

github-actions

(0.60)

Format

CLAUDE.md

Claude Code's memory file. Shaped like AGENTS.md but with two things it lacks: @path imports, so shared rules live in one place, and a user-scope layer that follows the developer across repos rather than shipping with the code.

What the corpus says about it

Repository

Owner
AudioKit
Language
—
License
—
Archived
no

All configs in this repo

Similar configs

Same format, overlapping stack, ranked by quality.

Same format, overlapping stack, ranked by quality
RepositoryFormatStackCoversScoreChanged
livewire/livewireCLAUDE.md · 24kCLAUDE.mdphpvitest+4setupbuildteststyle+4100/1003 days ago
filamentphp/filamentCLAUDE.md · 32kCLAUDE.mdphplaravel+5buildtestlint-formatstyle+7100/1003 days ago
stacklok/toolhiveCLAUDE.md · 2.0kCLAUDE.mdgogithub-actionsbuildteststylearch+4100/1003 days ago
dotCMS/corecore-web/CLAUDE.md · 949CLAUDE.mdjavanode+13teststylearchtesting-strategy+3100/1003 days ago
Adit-Jain-srm/NightmareNetCLAUDE.md · 45CLAUDE.mdtypescriptpython+18buildtestlint-formatstyle+6100/1003 days ago
microsoft/playwrightCLAUDE.md · 94kCLAUDE.mdtypescriptjavascript+10buildtestlint-formatstyle+7100/1003 days ago
nimbalyst/nimbalystpackages/android/CLAUDE.md · 1.4kCLAUDE.mdtypescriptnode+16setupbuildstylearch+2100/1003 days ago
bagisto/bagistoCLAUDE.md · 28kCLAUDE.mdphplaravel+8setupbuildteststyle+5100/1003 days ago
RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack