Skip to content

Latest commit

 

History

History
81 lines (67 loc) · 3.04 KB

File metadata and controls

81 lines (67 loc) · 3.04 KB

Tidefall

ETS-based partitioned buffer for high-throughput data processing in Elixir: continuous accumulation, periodic batch release, per-partition double-buffering, configurable processor.

Rules

When rules conflict, resolve top-down. Items 1–3 are local to this repository; item 4 is imported via the :usage_rules dependency (the auto-generated section at the bottom of this file).

  1. usage-rules/architecture.md — design decisions and non-negotiables. Read before structural changes or any hot-path "optimization".
  2. usage-rules/tidefall.md — code-level patterns and pitfalls. Read before touching a buffer impl, processor, option, match spec, telemetry, or their tests.
  3. usage-rules/elixir-style.md — style guidelines (complements mix format + credo --strict).
  4. usage_rules:elixir / usage_rules:otp — generic Elixir/OTP rules (imported below).

Validation

The canonical gate is mix test.ci: deps.unlock --check-unused, compile --warnings-as-errors, format --check-formatted, credo --strict, coveralls.html, dialyzer --format short. Run it before pushing; green CI is a requirement, not a courtesy check. For fast iteration use targeted mix test, mix format --check-formatted, and mix credo --strict directly.

Commits and PRs

  • Conventional Commits: type(scope): summary — imperative, lowercase, no trailing period, ≤72 chars. Scopes when useful: queue, map, partition, options, telemetry, workflow.
  • Branch from main. Do NOT edit CHANGELOG.md — put release-note context in the PR body for the maintainer.
  • PR body: ## Summary, ## Behavior changes (omit if internal-only), ## Test plan, Closes #<issue> when applicable. Keep it short — the diff carries the detail, the description carries the why.
  • Reviewing: verify against usage-rules/ (non-negotiables first); findings ordered by severity with file:line refs, open questions next, summary last.

Public Documentation

  • README.md — public usage and configuration examples.
  • Hexdocs (rendered from module @moduledoc / @doc): https://hexdocs.pm/tidefall — canonical API reference, including the telemetry event list.

Sync

The section below is generated by mix usage_rules.sync (alias mix ur.sync). Re-run mix deps.get && mix ur.sync after upgrading :usage_rules or changing its config in mix.exs. The @deps/... references resolve only after mix deps.get — on a fresh checkout, fetch deps before relying on them.

usage_rules usage

A config-driven dev tool for Elixir projects to manage AGENTS.md files and agent skills from dependencies

@deps/usage_rules/usage-rules.md

usage_rules:elixir usage

@deps/usage_rules/usage-rules/elixir.md

usage_rules:otp usage

@deps/usage_rules/usage-rules/otp.md