Commit Graph

24 Commits

Author SHA1 Message Date
aweiker 49a006dd18 docs: add table of contents to all Ecto pattern files 2026-05-01 20:55:15 -07:00
aweiker d28b9c8844 fix: use Repo.transaction instead of non-existent Repo.transact 2026-05-01 20:41:06 -07:00
aweiker 7b38ac9b2a feat: add Ecto patterns extracted from elixir-ecto/ecto source
Adds 5 new pattern files covering the core Ecto APIs, each with real
source citations at commit fd2ec52b, before/after examples, anti-patterns,
and decision trees.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-01 19:22:39 -07:00
Rodin 4bc7f3b357 chore: remove leftover scripts and tooling artifacts
Remove Python enhancement scripts (enhance_macros3.py,
enhance_modules.py, enhance_modules2.py), watermark file,
and changelog directory. These were scaffolding from the
initial extraction pass.
2026-04-30 15:49:05 -07:00
Rodin 5f62dd0bf1 feat: add source hyperlinks + remove thin from-source.md
Every source reference now links to elixir-lang/elixir at commit f4e1b34.
122 hyperlinks across 11 topic files. Added PATTERN_COMPLETE sentinels.
Removed from-source.md (326 lines, shallow) — covered by existing files.
2026-04-30 14:43:56 -07:00
Rodin 9ff22d2eed fix: add 'When to use' to every pattern (was missing) 2026-04-30 13:29:27 -07:00
Rodin e6fbfced96 docs: add patterns extracted from elixir-lang/elixir source
Using codebase-analysis skill (patterns mode) on the language source.
Real examples from the repo, not invented. Each pattern has:
- Rule, Example, Why, When NOT to use, Source file.

Topics: module org, protocol design, error handling, testing,
documentation, naming, process design, smells.
2026-04-30 13:26:23 -07:00
Rodin e51f491b6e chore: remove project conventions from sources/
These have been promoted to standalone repos:
- rodin/ecto-conventions
- rodin/oban-conventions
2026-04-30 11:45:46 -07:00
Rodin 46fe9c23c9 chore: move cross-ecosystem analysis to patterns-vs-guidelines 2026-04-30 10:50:37 -07:00
Rodin 7bca84f906 docs: testing philosophy + API evolution (cross-referenced) 2026-04-30 10:33:55 -07:00
Rodin be7eeb0d63 docs: cross-cutting concerns analysis (cross-referenced) 2026-04-30 10:31:19 -07:00
Rodin f5007e22e9 docs: ecosystem-level analysis (cross-referenced) 2026-04-30 10:02:08 -07:00
Rodin e2b5ba487c docs: architectural analysis (same doc, cross-referenced) 2026-04-30 09:28:08 -07:00
Rodin 44c61840df docs: add patterns extracted from ecto and oban
Ecto: 6 patterns (protocol dispatch, changeset separation, Multi pipelines)
Oban: 9 patterns (plugin behaviour, telemetry spans, engine abstraction)
2026-04-30 09:03:17 -07:00
Rodin 9a94765ea2 changelog: 2026-04-30 digest (initial) 2026-04-30 07:05:38 -07:00
Aaron Weiker 8f606d40d7 docs: add when/when-not to error-handling 2026-04-30 05:40:11 -07:00
Aaron Weiker cb94a157a1 docs: add when/when-not to data-transforms 2026-04-30 05:38:33 -07:00
Aaron Weiker f23623250e docs: add when/when-not to process-design 2026-04-30 05:31:32 -07:00
Aaron Weiker 29b91bead6 docs: add when/exceptions to smells 2026-04-30 05:26:03 -07:00
Aaron Weiker 1a934eb2e3 docs: add when/when-not to typespecs + documentation + behaviours 2026-04-30 05:23:28 -07:00
rodin e81439e686 add MIT license 2026-04-30 11:58:35 +00:00
Aaron Weiker a1eebb48a5 refactor: remove Phoenix content (moved to rodin/phoenix-patterns) 2026-04-29 23:10:14 -07:00
Aaron Weiker 2e7a822b6b docs: idiomatic Elixir and Phoenix patterns with verified source citations
Extracted patterns from Elixir core and Phoenix source code with specific
file:line citations, then verified all citations against the actual source
in a second pass.

Structure:
- patterns/ — Elixir core patterns (GenServer, errors, data, types, etc.)
- phoenix/ — Phoenix-specific patterns and deviations
- comparison/ — Elixir vs Phoenix side-by-side
- smells/ — Anti-patterns and common mistakes
- changelog/ — Daily Elixir/Phoenix PR digest (auto-updated)
2026-04-29 22:59:17 -07:00
Aaron Weiker 4ea9a884aa docs: idiomatic Elixir and Phoenix patterns with source citations
Extracted patterns, conventions, and code smells directly from the
Elixir and Phoenix source code with file path and line number citations.

Covers: GenServer, error handling, data transforms, process design,
testing, documentation, typespecs, macros, behaviours, module organization,
Phoenix-specific patterns, framework deviations, and anti-patterns.
2026-04-29 22:50:12 -07:00