From 9fc7dfaabcc71c1f6f65ca07df829ab6b797c3c6 Mon Sep 17 00:00:00 2001 From: Soares Chen Date: Mon, 21 Sep 2026 03:07:58 +0000 Subject: [PATCH] Set the crate metadata that crates.io and lib.rs surface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The workspace declared one keyword and no homepage or categories, so neither crates.io nor lib.rs linked contextgeneric.dev at all — on pages with 103,133 downloads behind them — and the crates appeared in no browse or recommendation surface. Sets homepage to the project site, expands keywords to the five crates.io permits, and adds the rust-patterns and no-std categories, which the facade crate qualifies for since it is #![no_std]. All three are declared on [workspace.package] and inherited by the 27 crates that already inherit keywords and description. The keywords and both category slugs were checked against crates.io: dependency-injection has 164 crates behind it, traits 238, macros 1,236, and both categories exist. A sixth keyword would have been rejected at publish time, since crates.io accepts five. Co-Authored-By: Claude Opus 5 --- Cargo.toml | 4 +++- crates/core/cgp-base-types/Cargo.toml | 2 ++ crates/core/cgp-component/Cargo.toml | 2 ++ crates/core/cgp-error/Cargo.toml | 2 ++ crates/core/cgp-field/Cargo.toml | 2 ++ crates/core/cgp-type/Cargo.toml | 2 ++ crates/extra/cgp-dispatch/Cargo.toml | 2 ++ crates/extra/cgp-error-extra/Cargo.toml | 2 ++ crates/extra/cgp-field-extra/Cargo.toml | 2 ++ crates/extra/cgp-handler/Cargo.toml | 2 ++ crates/extra/cgp-monad/Cargo.toml | 2 ++ crates/extra/cgp-run/Cargo.toml | 2 ++ crates/extra/cgp-runtime/Cargo.toml | 2 ++ crates/macros/cgp-async-macro/Cargo.toml | 2 ++ crates/macros/cgp-extra-macro-lib/Cargo.toml | 2 ++ crates/macros/cgp-extra-macro/Cargo.toml | 2 ++ crates/macros/cgp-macro-core/Cargo.toml | 2 ++ crates/macros/cgp-macro-lib/Cargo.toml | 2 ++ crates/macros/cgp-macro-test-util-lib/Cargo.toml | 2 ++ crates/macros/cgp-macro-test-util/Cargo.toml | 2 ++ crates/macros/cgp-macro/Cargo.toml | 2 ++ crates/main/cgp-base-extra/Cargo.toml | 2 ++ crates/main/cgp-base/Cargo.toml | 2 ++ crates/main/cgp-core/Cargo.toml | 2 ++ crates/main/cgp-extra/Cargo.toml | 2 ++ crates/main/cgp/Cargo.toml | 2 ++ crates/tests/cgp-macro-tests/Cargo.toml | 2 ++ crates/tests/cgp-tests/Cargo.toml | 2 ++ 28 files changed, 57 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 17833a1b..828076b2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -46,7 +46,9 @@ edition = "2024" license = "Apache-2.0" repository = "https://github.com/contextgeneric/cgp" authors = ["Soares Chen "] -keywords = ["cgp"] +homepage = "https://contextgeneric.dev" +keywords = ["cgp", "traits", "dsl", "dependency-injection", "macros"] +categories = ["rust-patterns", "no-std"] description = "A language extension for Rust, with pluggable trait implementations at compile-time." [workspace.dependencies] diff --git a/crates/core/cgp-base-types/Cargo.toml b/crates/core/cgp-base-types/Cargo.toml index 25a5e53f..8d8428e0 100644 --- a/crates/core/cgp-base-types/Cargo.toml +++ b/crates/core/cgp-base-types/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/core/cgp-component/Cargo.toml b/crates/core/cgp-component/Cargo.toml index 32098b3f..ac6546a6 100644 --- a/crates/core/cgp-component/Cargo.toml +++ b/crates/core/cgp-component/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/core/cgp-error/Cargo.toml b/crates/core/cgp-error/Cargo.toml index e35d091f..d35418b4 100644 --- a/crates/core/cgp-error/Cargo.toml +++ b/crates/core/cgp-error/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/core/cgp-field/Cargo.toml b/crates/core/cgp-field/Cargo.toml index 295e2e48..c7b6782e 100644 --- a/crates/core/cgp-field/Cargo.toml +++ b/crates/core/cgp-field/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/core/cgp-type/Cargo.toml b/crates/core/cgp-type/Cargo.toml index 952455eb..1debbc20 100644 --- a/crates/core/cgp-type/Cargo.toml +++ b/crates/core/cgp-type/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/extra/cgp-dispatch/Cargo.toml b/crates/extra/cgp-dispatch/Cargo.toml index 7b62513c..890f3be3 100644 --- a/crates/extra/cgp-dispatch/Cargo.toml +++ b/crates/extra/cgp-dispatch/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/extra/cgp-error-extra/Cargo.toml b/crates/extra/cgp-error-extra/Cargo.toml index 3b3f75d8..0a7dd947 100644 --- a/crates/extra/cgp-error-extra/Cargo.toml +++ b/crates/extra/cgp-error-extra/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [features] diff --git a/crates/extra/cgp-field-extra/Cargo.toml b/crates/extra/cgp-field-extra/Cargo.toml index 0523a868..63d3ab11 100644 --- a/crates/extra/cgp-field-extra/Cargo.toml +++ b/crates/extra/cgp-field-extra/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/extra/cgp-handler/Cargo.toml b/crates/extra/cgp-handler/Cargo.toml index 3bcd9305..996aac6a 100644 --- a/crates/extra/cgp-handler/Cargo.toml +++ b/crates/extra/cgp-handler/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/extra/cgp-monad/Cargo.toml b/crates/extra/cgp-monad/Cargo.toml index 28de24b3..6bc246af 100644 --- a/crates/extra/cgp-monad/Cargo.toml +++ b/crates/extra/cgp-monad/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/extra/cgp-run/Cargo.toml b/crates/extra/cgp-run/Cargo.toml index 497e1627..599ded25 100644 --- a/crates/extra/cgp-run/Cargo.toml +++ b/crates/extra/cgp-run/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/extra/cgp-runtime/Cargo.toml b/crates/extra/cgp-runtime/Cargo.toml index cf884b2f..1af1a45f 100644 --- a/crates/extra/cgp-runtime/Cargo.toml +++ b/crates/extra/cgp-runtime/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/macros/cgp-async-macro/Cargo.toml b/crates/macros/cgp-async-macro/Cargo.toml index c538ab16..20331cdb 100644 --- a/crates/macros/cgp-async-macro/Cargo.toml +++ b/crates/macros/cgp-async-macro/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [lib] diff --git a/crates/macros/cgp-extra-macro-lib/Cargo.toml b/crates/macros/cgp-extra-macro-lib/Cargo.toml index 14c3b75e..412857a2 100644 --- a/crates/macros/cgp-extra-macro-lib/Cargo.toml +++ b/crates/macros/cgp-extra-macro-lib/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [features] diff --git a/crates/macros/cgp-extra-macro/Cargo.toml b/crates/macros/cgp-extra-macro/Cargo.toml index 3f3cdda2..d72ee9e6 100644 --- a/crates/macros/cgp-extra-macro/Cargo.toml +++ b/crates/macros/cgp-extra-macro/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [lib] diff --git a/crates/macros/cgp-macro-core/Cargo.toml b/crates/macros/cgp-macro-core/Cargo.toml index d610e00f..0a993aa3 100644 --- a/crates/macros/cgp-macro-core/Cargo.toml +++ b/crates/macros/cgp-macro-core/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/macros/cgp-macro-lib/Cargo.toml b/crates/macros/cgp-macro-lib/Cargo.toml index 1d3cde3a..7bd7a4aa 100644 --- a/crates/macros/cgp-macro-lib/Cargo.toml +++ b/crates/macros/cgp-macro-lib/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/macros/cgp-macro-test-util-lib/Cargo.toml b/crates/macros/cgp-macro-test-util-lib/Cargo.toml index 7510738d..ded4573b 100644 --- a/crates/macros/cgp-macro-test-util-lib/Cargo.toml +++ b/crates/macros/cgp-macro-test-util-lib/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/macros/cgp-macro-test-util/Cargo.toml b/crates/macros/cgp-macro-test-util/Cargo.toml index 1b845299..d17deae3 100644 --- a/crates/macros/cgp-macro-test-util/Cargo.toml +++ b/crates/macros/cgp-macro-test-util/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [lib] diff --git a/crates/macros/cgp-macro/Cargo.toml b/crates/macros/cgp-macro/Cargo.toml index 6591ae01..414b52f3 100644 --- a/crates/macros/cgp-macro/Cargo.toml +++ b/crates/macros/cgp-macro/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [lib] diff --git a/crates/main/cgp-base-extra/Cargo.toml b/crates/main/cgp-base-extra/Cargo.toml index 665635ed..3dbdd797 100644 --- a/crates/main/cgp-base-extra/Cargo.toml +++ b/crates/main/cgp-base-extra/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/main/cgp-base/Cargo.toml b/crates/main/cgp-base/Cargo.toml index ba06d9ff..1ecf3dba 100644 --- a/crates/main/cgp-base/Cargo.toml +++ b/crates/main/cgp-base/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/main/cgp-core/Cargo.toml b/crates/main/cgp-core/Cargo.toml index 781befd4..a4ba1e8f 100644 --- a/crates/main/cgp-core/Cargo.toml +++ b/crates/main/cgp-core/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/main/cgp-extra/Cargo.toml b/crates/main/cgp-extra/Cargo.toml index 6c944a85..91152039 100644 --- a/crates/main/cgp-extra/Cargo.toml +++ b/crates/main/cgp-extra/Cargo.toml @@ -6,7 +6,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [features] diff --git a/crates/main/cgp/Cargo.toml b/crates/main/cgp/Cargo.toml index d5951418..9372a726 100644 --- a/crates/main/cgp/Cargo.toml +++ b/crates/main/cgp/Cargo.toml @@ -7,7 +7,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/tests/cgp-macro-tests/Cargo.toml b/crates/tests/cgp-macro-tests/Cargo.toml index 3e067545..5b95bbc9 100644 --- a/crates/tests/cgp-macro-tests/Cargo.toml +++ b/crates/tests/cgp-macro-tests/Cargo.toml @@ -7,7 +7,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies] diff --git a/crates/tests/cgp-tests/Cargo.toml b/crates/tests/cgp-tests/Cargo.toml index 2523341e..d1fe9fe4 100644 --- a/crates/tests/cgp-tests/Cargo.toml +++ b/crates/tests/cgp-tests/Cargo.toml @@ -7,7 +7,9 @@ license = { workspace = true } repository = { workspace = true } authors = { workspace = true } rust-version = { workspace = true } +homepage = { workspace = true } keywords = { workspace = true } +categories = { workspace = true } description = { workspace = true } [dependencies]