diff --git a/internal/protobuf/examples/basic/basic.proto b/internal/protobuf/examples/basic/basic.proto
new file mode 100644
index 0000000..d66aab9
--- /dev/null
+++ b/internal/protobuf/examples/basic/basic.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+// Package basic is just that: basic.
+package cuelang.examples.basic;
+
+import "cue/cue.proto";
+
+option go_package = "cuelang.org/encoding/protobuf/examples/basic";
+
+// This is my type.
+message MyType {
+    string string_value = 1; // just any 'ole string
+
+    // A method must start with a capital letter.
+    repeated string method = 2 [(cue.val) = '[...=~"^[A-Z]"]'];
+}
\ No newline at end of file
diff --git a/internal/protobuf/examples_test.go b/internal/protobuf/examples_test.go
new file mode 100644
index 0000000..1ee23fa
--- /dev/null
+++ b/internal/protobuf/examples_test.go
@@ -0,0 +1,54 @@
+// Copyright 2019 CUE Authors
+//
+// 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.
+
+package protobuf_test
+
+import (
+	"log"
+	"os"
+	"path/filepath"
+
+	"cuelang.org/go/cue/format"
+	"cuelang.org/go/internal/protobuf"
+)
+
+func ExampleParse() {
+	cwd, _ := os.Getwd()
+	var paths = []string{}
+	paths = append(paths, cwd)
+	paths = append(paths, filepath.Join(cwd, "testdata"))
+
+	f, err := protobuf.Parse("examples/basic/basic.proto", nil, &protobuf.Config{
+		Paths: paths,
+	})
+
+	if err != nil {
+		log.Fatal(err, "")
+	}
+
+	format.Node(os.Stdout, f)
+
+	// Output:
+	// //  Package basic is just that: basic.
+	// package basic
+	//
+	// //  This is my type.
+	// MyType: {
+	// 	stringValue?: string @protobuf(1,name=string_value) //  just any 'ole string
+	//
+	// 	//  A method must start with a capital letter.
+	// 	method?: [...string] @protobuf(2)
+	// 	method?: [...=~"^[A-Z]"]
+	// }
+}
