Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,10 @@ inward (core/macros) when changing fundamentals, outward (main) only to adjust t
**`cgp-macro-core`** — this is where the real parsing, AST types, and codegen live (see
`cgp-macro-core/src/{types,functions,visitors,macros}/`). When a macro misbehaves, the logic to
fix is almost always in `cgp-macro-core`, not the entrypoint crate. `cgp-async-macro` provides
`#[async_trait]`; `cgp-extra-macro{,-lib}` host the extra-feature macros.
`#[async_trait]`. The extra-feature macros (`#[cgp_computer]`, `#[cgp_producer]`,
`#[cgp_auto_dispatch]`) mirror the same split: `cgp-macro-extra` forwards to
`cgp-macro-extra-lib`, which builds on **`cgp-macro-extra-core`**, which in turn builds on
`cgp-macro-core`, lowering through its AST types.

- **`crates/core/`** — the foundational runtime traits the macros expand into:
- `cgp-component` — the wiring machinery: `DelegateComponent`, `IsProviderFor`,
Expand Down
52 changes: 32 additions & 20 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 6 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,11 @@ members = [
"crates/macros/cgp-macro",
"crates/macros/cgp-macro-core",
"crates/macros/cgp-macro-lib",
"crates/macros/cgp-macro-extra",
"crates/macros/cgp-macro-extra-core",
"crates/macros/cgp-macro-extra-lib",
"crates/macros/cgp-macro-test-util",
"crates/macros/cgp-macro-test-util-lib",
"crates/macros/cgp-extra-macro",
"crates/macros/cgp-extra-macro-lib",

"crates/standalone/error/cgp-error-anyhow",
"crates/standalone/error/cgp-error-eyre",
Expand Down Expand Up @@ -80,8 +81,9 @@ cgp-async-macro = { version = "0.8.0-alpha", path = "./crates/macros
cgp-macro = { version = "0.8.0-alpha", path = "./crates/macros/cgp-macro" }
cgp-macro-core = { version = "0.8.0-alpha", path = "./crates/macros/cgp-macro-core" }
cgp-macro-lib = { version = "0.8.0-alpha", path = "./crates/macros/cgp-macro-lib" }
cgp-macro-extra = { version = "0.8.0-alpha", path = "./crates/macros/cgp-macro-extra" }
cgp-macro-extra-core = { version = "0.8.0-alpha", path = "./crates/macros/cgp-macro-extra-core" }
cgp-macro-extra-lib = { version = "0.8.0-alpha", path = "./crates/macros/cgp-macro-extra-lib" }
cgp-macro-test-util = { version = "0.8.0-alpha", path = "./crates/macros/cgp-macro-test-util" }

cgp-macro-test-util-lib = { version = "0.8.0-alpha", path = "./crates/macros/cgp-macro-test-util-lib" }
cgp-extra-macro = { version = "0.8.0-alpha", path = "./crates/macros/cgp-extra-macro" }
cgp-extra-macro-lib = { version = "0.8.0-alpha", path = "./crates/macros/cgp-extra-macro-lib" }
Loading
Loading