You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- [Capabilities](doc/CAPABILITIES.md) – why capability keys exist and how to expose provider-specific APIs.
162
+
- [Migration Guides](doc/MIGRATION_GUIDES.md) – playbooks for moving Firebase manual strings, Amplitude events, and Mixpanel plans into YAML while keeping downstream dashboards stable.
163
+
- [Code Review checklist](doc/CODE_REVIEW.md) – what to inspect in YAML, generated code, docs, and provider adapters during PRs.
164
+
- [Scalability & Performance](doc/SCALABILITY.md) – benchmarks and limits for large enterprise plans (100+ domains / 1000+ events).
165
165
166
166
## CLI Commands
167
167
@@ -185,7 +185,7 @@ Pair these with the configuration you committed to `analytics_gen.yaml`. Add `--
185
185
- Naming strategy (`analytics_gen.naming`) enforces consistent identifiers—override per-field when legacy plans demand it.
186
186
- **Strict Event Naming**: Set `strict_event_names: true` in `analytics_gen.yaml` to forbid string interpolation in event names (e.g. `View ${page}`). This prevents high-cardinality events from polluting your analytics data.
187
187
- Docs/JSON/SQL outputs embed a fingerprint derived from the plan; unexpected diffs mean someone skipped regeneration.
188
-
- Full details live in [`docs/VALIDATION.md`](docs/VALIDATION.md).
188
+
- Full details live in [`doc/VALIDATION.md`](doc/VALIDATION.md).
189
189
190
190
## Analytics Providers & Capabilities
191
191
@@ -196,7 +196,7 @@ The generated mixins call `logger.logEvent(...)`. You are in control of the unde
196
196
197
197
- Implement `IAnalytics` for a single SDK.
198
198
- Use `MultiProviderAnalytics` to fan out events while isolating provider failures.
199
-
- Need provider-specific hooks (user properties, timed events, etc.)? Register typed capabilities via `CapabilityKey<T>` (the new `CapabilityProviderMixin` wires a registry automatically). Consumers request them when needed, keeping the base interface small. See [`docs/CAPABILITIES.md`](docs/CAPABILITIES.md) for a junior-friendly walkthrough.
199
+
- Need provider-specific hooks (user properties, timed events, etc.)? Register typed capabilities via `CapabilityKey<T>` (the new `CapabilityProviderMixin` wires a registry automatically). Consumers request them when needed, keeping the base interface small. See [`doc/CAPABILITIES.md`](doc/CAPABILITIES.md) for a junior-friendly walkthrough.
200
200
201
201
Mock + async adapters (`MockAnalyticsService`, `AsyncAnalyticsAdapter`) are included for tests and await-heavy flows.
1. Fork the repo and open a PR with focused changes.
308
308
2. Add unit tests for new features/validations.
309
309
3. Run `dart analyze`, `dart test`, and the generator before submitting.
310
-
4. Document user-facing changes in the README or the relevant doc under `docs/`.
310
+
4. Document user-facing changes in the README or the relevant doc under `doc/`.
311
311
312
-
Every PR description flows through `.github/pull_request_template.md`, which links directly to [`docs/CODE_REVIEW.md`](docs/CODE_REVIEW.md). Walk through that checklist (YAML, generated Dart, docs/exports, providers, and security) before requesting a review so reviewers only need to validate, not rediscover, regressions.
312
+
Every PR description flows through `.github/pull_request_template.md`, which links directly to [`doc/CODE_REVIEW.md`](doc/CODE_REVIEW.md). Walk through that checklist (YAML, generated Dart, doc/exports, providers, and security) before requesting a review so reviewers only need to validate, not rediscover, regressions.
313
313
314
314
## FAQ
315
315
@@ -323,7 +323,7 @@ Every PR description flows through `.github/pull_request_template.md`, which lin
323
323
No. Implement or combine multiple providers. Capabilities expose provider-specific features without bloating the global interface.
324
324
325
325
- **Is it safe to commit generated files?**
326
-
Committing generated files is supported. Outputs are deterministic and intended to be reviewed in PRs (see [`docs/CODE_REVIEW.md`](docs/CODE_REVIEW.md)).
326
+
Committing generated files is supported. Outputs are deterministic and intended to be reviewed in PRs (see [`doc/CODE_REVIEW.md`](doc/CODE_REVIEW.md)).
0 commit comments