cue/load: make cue.mod the default desitination

This effects generation, for instance.

- also update Kubernetes tutorial to use `cue mod init`

Change-Id: I9ff9f023f6771057e86f9f51f6c9c35c095939ce

Closes #168
https://github.com/cuelang/cue/pull/168

GitOrigin-RevId: ff720b273509a86b189e703bdcede1d224b0011b
Change-Id: I978632c1697e053c12f51729d6abe9f778b771aa
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/3867
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
diff --git a/cue/load/loader_test.go b/cue/load/loader_test.go
index 6771222..94485ab 100644
--- a/cue/load/loader_test.go
+++ b/cue/load/loader_test.go
@@ -89,7 +89,7 @@
 path:   ""
 module: example.org/test
 root:   $CWD/testdata
-dir:    $CWD/testdata/pkg
+dir:    $CWD/testdata/cue.mod/gen
 display:`,
 	}, {
 		cfg:  dirCfg,
@@ -192,7 +192,7 @@
 path:   non-existing
 module: example.org/test
 root:   $CWD/testdata
-dir:    $CWD/testdata/pkg/non-existing
+dir:    $CWD/testdata/cue.mod/gen/non-existing
 display:non-existing`,
 	}, {
 		cfg:  dirCfg,
@@ -216,8 +216,8 @@
 files:
 	$CWD/testdata/imports/imports.cue
 imports:
-	acme.com/catch: $CWD/testdata/pkg/acme.com/catch/catch.cue
-	acme.com/helper:helper1: $CWD/testdata/pkg/acme.com/helper/helper1.cue`,
+	acme.com/catch: $CWD/testdata/cue.mod/pkg/acme.com/catch/catch.cue
+	acme.com/helper:helper1: $CWD/testdata/cue.mod/pkg/acme.com/helper/helper1.cue`,
 	}, {
 		cfg:  dirCfg,
 		args: args("./toolonly"),
diff --git a/cue/load/testdata/cue.mod b/cue/load/testdata/cue.mod/module.cue
similarity index 100%
rename from cue/load/testdata/cue.mod
rename to cue/load/testdata/cue.mod/module.cue
diff --git a/cue/load/testdata/pkg/acme.com/catch/catch.cue b/cue/load/testdata/cue.mod/pkg/acme.com/catch/catch.cue
similarity index 100%
rename from cue/load/testdata/pkg/acme.com/catch/catch.cue
rename to cue/load/testdata/cue.mod/pkg/acme.com/catch/catch.cue
diff --git a/cue/load/testdata/pkg/acme.com/helper/helper.cue b/cue/load/testdata/cue.mod/pkg/acme.com/helper/helper.cue
similarity index 100%
rename from cue/load/testdata/pkg/acme.com/helper/helper.cue
rename to cue/load/testdata/cue.mod/pkg/acme.com/helper/helper.cue
diff --git a/cue/load/testdata/pkg/acme.com/helper/helper1.cue b/cue/load/testdata/cue.mod/pkg/acme.com/helper/helper1.cue
similarity index 100%
rename from cue/load/testdata/pkg/acme.com/helper/helper1.cue
rename to cue/load/testdata/cue.mod/pkg/acme.com/helper/helper1.cue
diff --git a/cue/load/testdata/pkg/acme.com/helper/helper2.cue b/cue/load/testdata/cue.mod/pkg/acme.com/helper/helper2.cue
similarity index 100%
rename from cue/load/testdata/pkg/acme.com/helper/helper2.cue
rename to cue/load/testdata/cue.mod/pkg/acme.com/helper/helper2.cue
diff --git a/doc/tutorial/kubernetes/README.md b/doc/tutorial/kubernetes/README.md
index 551d3cd..a42b44e 100644
--- a/doc/tutorial/kubernetes/README.md
+++ b/doc/tutorial/kubernetes/README.md
@@ -66,23 +66,24 @@
 
 ```
 $ cp -a original tmp
-$ cd tmp/services
+$ cd tmp
 ```
 
-<!-- TODO
-Although not strictly necessary, we mark the root of the configuration tree
-for good measure.
+We initialize a module so that we can treat all our configuration files
+in the subdirectories as part of one package.
+We do that later by giving all the same package name.
 
 ```
-$ touch ../cue.mod
-cue mod init
+$ cue mod init
 ```
--->
+
+Creating a module also allows our packages import external packages.
 
 Let's try to use the `cue import` command to convert the given YAML files
 into CUE.
 
 ```
+$ cd services
 $ cue import ./...
 Import failed: must specify package name with the -p flag
 ```
@@ -1051,7 +1052,7 @@
 
 ```
 
-Now that we have the Kubernetes definitions in `pkg`, we can import and use them:
+Now that we have the Kubernetes definitions in our module, we can import and use them:
 
 ```
 $ cat <<EOF > k8s_defs.cue
diff --git a/doc/tutorial/kubernetes/quick/cue.mod b/doc/tutorial/kubernetes/quick/cue.mod
deleted file mode 100644
index e69de29..0000000
--- a/doc/tutorial/kubernetes/quick/cue.mod
+++ /dev/null
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/apps/v1beta1/generated.pb_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/apps/v1beta1/generated.pb_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/api/apps/v1beta1/generated.pb_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/apps/v1beta1/generated.pb_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/apps/v1beta1/register_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/apps/v1beta1/register_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/api/apps/v1beta1/register_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/apps/v1beta1/register_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/apps/v1beta1/types_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/apps/v1beta1/types_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/api/apps/v1beta1/types_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/apps/v1beta1/types_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/annotation_key_constants_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/core/v1/annotation_key_constants_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/annotation_key_constants_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/core/v1/annotation_key_constants_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/doc_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/core/v1/doc_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/doc_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/core/v1/doc_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/generated.pb_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/core/v1/generated.pb_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/generated.pb_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/core/v1/generated.pb_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/register_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/core/v1/register_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/register_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/core/v1/register_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/types_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/core/v1/types_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/types_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/core/v1/types_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/well_known_labels_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/core/v1/well_known_labels_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/well_known_labels_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/core/v1/well_known_labels_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/extensions/v1beta1/generated.pb_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/extensions/v1beta1/generated.pb_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/api/extensions/v1beta1/generated.pb_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/extensions/v1beta1/generated.pb_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/extensions/v1beta1/register_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/extensions/v1beta1/register_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/api/extensions/v1beta1/register_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/extensions/v1beta1/register_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/extensions/v1beta1/types_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/extensions/v1beta1/types_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/api/extensions/v1beta1/types_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/api/extensions/v1beta1/types_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/api/resource/amount_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/api/resource/amount_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/api/resource/amount_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/api/resource/amount_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/api/resource/generated.pb_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/api/resource/generated.pb_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/api/resource/generated.pb_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/api/resource/generated.pb_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/api/resource/quantity_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/api/resource/quantity_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/api/resource/quantity_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/api/resource/quantity_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/duration_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/duration_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/duration_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/duration_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/group_version_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/group_version_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/group_version_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/group_version_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/meta_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/meta_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/meta_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/meta_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/micro_time_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/micro_time_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/micro_time_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/micro_time_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/register_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/register_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/register_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/register_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/time_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/time_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/time_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/time_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/time_proto_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/time_proto_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/time_proto_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/time_proto_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/types_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/types_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/types_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/types_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/watch_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/watch_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/watch_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/apis/meta/v1/watch_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/codec_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/codec_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/codec_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/codec_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/conversion_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/conversion_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/conversion_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/conversion_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/converter_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/converter_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/converter_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/converter_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/doc_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/doc_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/doc_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/doc_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/generated.pb_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/generated.pb_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/generated.pb_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/generated.pb_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/helper_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/helper_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/helper_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/helper_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/interfaces_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/interfaces_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/interfaces_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/interfaces_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/swagger_doc_generator_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/swagger_doc_generator_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/swagger_doc_generator_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/swagger_doc_generator_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/types_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/types_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/types_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/types_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/types_proto_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/types_proto_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/types_proto_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/runtime/types_proto_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/types/doc_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/types/doc_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/types/doc_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/types/doc_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/types/namespacedname_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/types/namespacedname_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/types/namespacedname_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/types/namespacedname_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/types/nodename_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/types/nodename_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/types/nodename_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/types/nodename_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/types/patch_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/types/patch_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/types/patch_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/types/patch_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/types/uid_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/types/uid_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/types/uid_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/types/uid_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/util/intstr/generated.pb_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/util/intstr/generated.pb_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/util/intstr/generated.pb_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/util/intstr/generated.pb_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/util/intstr/intstr_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/util/intstr/intstr_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/util/intstr/intstr_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/util/intstr/intstr_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/watch/doc_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/watch/doc_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/watch/doc_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/watch/doc_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/watch/filter_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/watch/filter_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/watch/filter_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/watch/filter_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/watch/mux_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/watch/mux_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/watch/mux_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/watch/mux_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/watch/streamwatcher_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/watch/streamwatcher_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/watch/streamwatcher_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/watch/streamwatcher_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/watch/watch_go_gen.cue b/doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/watch/watch_go_gen.cue
similarity index 100%
rename from doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/watch/watch_go_gen.cue
rename to doc/tutorial/kubernetes/quick/cue.mod/gen/k8s.io/apimachinery/pkg/watch/watch_go_gen.cue
diff --git a/doc/tutorial/kubernetes/quick/cue.mod/module.cue b/doc/tutorial/kubernetes/quick/cue.mod/module.cue
new file mode 100644
index 0000000..f8af9ce
--- /dev/null
+++ b/doc/tutorial/kubernetes/quick/cue.mod/module.cue
@@ -0,0 +1 @@
+module: ""
diff --git a/doc/tutorial/kubernetes/tut_test.go b/doc/tutorial/kubernetes/tut_test.go
index 4509fd3..c230d54 100644
--- a/doc/tutorial/kubernetes/tut_test.go
+++ b/doc/tutorial/kubernetes/tut_test.go
@@ -71,6 +71,10 @@
 		t.Fatal(err)
 	}
 
+	cuetest.Run(t, dir, "cue mod init", &cuetest.Config{
+		// Stdin: strings.NewReader(input),
+	})
+
 	if *update {
 		// The test environment won't work in all environments. We create
 		// a fake go.mod so that Go will find the module root. By default
@@ -152,6 +156,11 @@
 					// Don't execute the kubernetes dry run.
 					break
 				}
+				if strings.HasPrefix(cmd, "cue mod init") {
+					// Already ran this at setup.
+					break
+				}
+
 				if !*update && strings.HasPrefix(cmd, "cue get") {
 					// Don't fetch stuff in normal mode.
 					break