Modularize rules_cc
diff --git a/MODULE.bazel b/MODULE.bazel
new file mode 100644
index 0000000..be5b13d
--- /dev/null
+++ b/MODULE.bazel
@@ -0,0 +1,12 @@
+module(
+    name = "rules_cc",
+    version = "0.0.1",
+    compatibility_level = 1,
+    toolchains_to_register = ["@local_config_cc_toolchains//:all"],
+)
+
+bazel_dep(name = "bazel_skylib", version = "1.0.3")
+bazel_dep(name = "platforms", version = "0.0.4")
+
+cc_configure = use_extension("@rules_cc//bzlmod:extensions.bzl", "cc_configure")
+use_repo(cc_configure, "local_config_cc_toolchains")
diff --git a/bzlmod/BUILD b/bzlmod/BUILD
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/bzlmod/BUILD
@@ -0,0 +1 @@
+
diff --git a/bzlmod/extensions.bzl b/bzlmod/extensions.bzl
new file mode 100644
index 0000000..3fdbe87
--- /dev/null
+++ b/bzlmod/extensions.bzl
@@ -0,0 +1,22 @@
+# Copyright 2018 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""Module extension for cc auto configuration."""
+
+load("//cc/private/toolchain:cc_configure.bzl", "cc_autoconf_toolchains", "cc_autoconf")
+
+def _cc_configure_impl(ctx):
+  cc_autoconf_toolchains(name = "local_config_cc_toolchains")
+  cc_autoconf(name = "local_config_cc")
+
+cc_configure = module_extension(implementation = _cc_configure_impl)