setup-configlisted
Install: claude install-skill panbanda/omen
# Setup Config
Analyze the current repository and generate an `omen.toml` configuration tailored to the project's tech stack, test patterns, and feature flag usage.
## Workflow
### Step 1: Detect Primary Languages
Use Glob to count files by extension:
```
Glob: **/*.go
Glob: **/*.rb
Glob: **/*.py
Glob: **/*.ts
Glob: **/*.js
Glob: **/*.java
Glob: **/*.rs
```
Identify the primary language(s) based on file counts. This determines:
- Which exclude patterns to include (language-specific directories)
- Whether to enable cohesion scoring (OO-heavy languages)
### Step 2: Detect Feature Flag Providers
Use Grep to search for SDK imports and usage patterns. Add detected providers to `feature_flags.providers` in the config.
| Provider | Config Value | Search Patterns |
|----------|-------------|-----------------|
| LaunchDarkly | `launchdarkly` | `launchdarkly`, `ld-client`, `LDClient`, `boolVariation`, `stringVariation` |
| Split | `split` | `@splitsoftware`, `splitio`, `SplitClient`, `getTreatment` |
| Flipper | `flipper` | `Flipper.enabled?`, `Flipper[`, `flipper` (in Gemfile) |
| Unleash | `unleash` | `unleash-client`, `unleashclient`, `isEnabled` with unleash import |
| Generic | `generic` | `feature_flag`, `featureFlag`, `is_feature_enabled`, `isFeatureEnabled` |
| ENV-based | `env` | `ENV["FEATURE_`, `process.env.FEATURE_`, `os.environ["FEATURE_` |
Also check package manifests:
- `package.json`: `launchdarkly-*`, `@splitsoftware/*`, `unleash-*`
- `Gemfile`: `launchdarkly