Skip to content

Commit

Permalink
README: simplify a bit, add new website links, add Discord invite
Browse files Browse the repository at this point in the history
A few sections had extra text which didn't really add much information.

The "learning CUE" section can now leverage the new website
to give a nice overview of the new content that is available.

Finally, include a Discord invite link next to Slack.
Discord has been a thing for a few weeks now, and we're up to 50 users
compared to Slack's 200 active members. Add a permanent invite link.

Signed-off-by: Daniel Martí <[email protected]>
Change-Id: I8e9a0f76d175d6d389e62c683d434771be2241e5
Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1196383
Unity-Result: CUE porcuepine <[email protected]>
Reviewed-by: Paul Jolly <[email protected]>
TryBot-Result: CUEcueckoo <[email protected]>
  • Loading branch information
mvdan committed Jun 24, 2024
1 parent dec1786 commit fecf80d
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 79 deletions.
55 changes: 5 additions & 50 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,59 +1,14 @@

# Contribution Guide

There are many ways to contribute to CUE without writing code!

The CUE project welcomes all contributors, and there are many ways that you can
contribute that don't involve writing code!

This document guides you through the process of contributing to the CUE project.


### How can I contribute to the CUE project?

There are many ways that you can contribute to the CUE project
that don't involve writing code.

* Using CUE is a form of contributing! Especially when combined with raising
issues, providing feedback, tell us what works well and what doesn't, pointing
out gaps etc.
* Adding your CUE-based project to [Unity](https://cuelabs.dev/unity/)
helps ensure that we don't create releases that unintentionally break
configurations, but also gives a wide variety of scenarios in which to test bug
fixes, performance improvements and the like.
* Asking questions via GitHub discussions/Slack. This might seem somewhat
counterintuitive, but asking questions helps to identify gaps in
documentation, or poor signposting from the CUE homepage.
* Raising issues with bug reports and feature requests helps us to raise the
quality of future CUE releases. In the case of bug reports not least because
it provides us with real-world test cases.
* Helping to manage issues and answer discussions. Sometimes referred to as
"issue gardening", this helps to share the load of triaging new issues and
feature requests. Having issues presented in a familiar "shape", format and
voice is a _massive_ time saver when it comes to one of the core contributors
fixing a bug, or considering a new feature.
* Code contributions, the main focus of this guide. The CUE project is a little
different from that used by other open source projects so we cover this
process in more detail below.
* Ask or answer questions via GitHub discussions, Slack, and Discord
* Raise issues such as bug reports or feature requests on GitHub
* Contributing thoughts and use cases to proposals. CUE can be and is
being used in many varied different ways. Sharing experience reports helps
to shape proposals and designs.
* Creating content. Whether it be writing blog posts, live streaming,
tweeting... creating content is a great way of growing the CUE community.
Different people have different ways of explaining things, and very often these
different styles appeal to different people. That said, if you think there is
core documentation or guides missing from the https://cuelang.org website
[please raise an issue to let us
know](https://github.com/cue-lang/cue/issues/new/choose): there is not
substitute for good core content, and it means others are then free to write
about more interesting use cases and applications for CUE.
* Holding community events. Whether they be virtual online events or
(COVID-allowing) in-person meetups, sharing experiences about using CUE is a
very valuable way of learning for many.

Thank you to everyone who contributes to the CUE community in whatever form!
Whilst GitHub doesn't have a good means of tracking contributions outside of
code contributions, your contributions are greatly valued!

* Create content: share blog posts, tutorials, videos, meetup talks, etc
* Add your project to [Unity](https://cuelabs.dev/unity/) to help us test changes to CUE

## Before contributing code

Expand Down
42 changes: 13 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,49 +97,37 @@ Some aspects of this are:

#### Run with Docker

The release binaries are published as a Docker image described by our [Dockerfile](Dockerfile):

docker run cuelang/cue version

#### Install using Homebrew

Using [Homebrew](https://brew.sh), you can install using the CUE Homebrew tap:

brew install cue-lang/tap/cue

#### Install from Source

You need [Go 1.21 or later](https://go.dev/doc/install) to build CUE from source.

To download and install the `cue` command line tool, run:
You need [Go 1.21 or later](https://go.dev/doc/install) to install CUE from source:

go install cuelang.org/go/cmd/cue@latest

You can also build the tool locally from source via `go install ./cmd/cue`.
Note that local release builds [lack version information](https://go.dev/issue/50603),
so they should inject the version string, such as:
You can also clone the repository and build it directly via `go install ./cmd/cue`.
Note that local builds [lack version information](https://go.dev/issue/50603),
so you should inject the version string when building a release, such as:

git switch -d v0.9.0
go install -ldflags='-X cuelang.org/go/cmd/cue/cmd.version=v0.9.0' ./cmd/cue

### Learning CUE

The fastest way to learn the basics is to follow the
[tutorial on basic language constructs](https://cuelang.org/docs/tour/).
The fastest way to learn the basics is to follow the [tour on the website](https://cuelang.org/docs/tour/).

A more elaborate tutorial demonstrating how to convert and restructure
an existing set of Kubernetes configurations is available in
[written form](https://github.com/cue-labs/cue-by-example/tree/main/003_kubernetes_tutorial).
More documentation including various tutorials can be found [on the website](https://cuelang.org/docs/).

### References

- [Language Specification](./doc/ref/spec.md): official CUE Language specification.

- [API](https://pkg.go.dev/cuelang.org/go/cue): the API on pkg.go.dev

- [Builtin packages](https://pkg.go.dev/cuelang.org/go/pkg): builtins available from CUE programs

- [`cue` Command line reference](./doc/cmd/cue.md): the `cue` command
- [Language Specification](https://cuelang.org/docs/reference/spec/): the official CUE Language specification
- [Go API](https://pkg.go.dev/cuelang.org/go/cue): the Go API on pkg.go.dev
- [Builtin packages](https://pkg.go.dev/cuelang.org/go/pkg): builtin functions available from CUE programs
- [`cue` CLI](https://cuelang.org/docs/reference/cli/): the `cue` command line interface

### Go release support policy

Expand All @@ -155,19 +143,15 @@ To contribute, please read the [Contribution Guide](CONTRIBUTING.md).
## Code of Conduct

Guidelines for participating in CUE community spaces and a reporting process for
handling issues can be found in the [Code of
Conduct](https://cuelang.org/docs/contribution_guidelines/conduct).
handling issues can be found in the [Code of Conduct](https://cuelang.org/docs/contribution_guidelines/conduct).

## Contact

You can get in touch with the cuelang community in the following ways:

- Ask questions via [GitHub Discussions](https://github.com/cue-lang/cue/discussions)
- Chat with us on our [Slack workspace](https://join.slack.com/t/cuelang/shared_invite/enQtNzQwODc3NzYzNTA0LTAxNWQwZGU2YWFiOWFiOWQ4MjVjNGQ2ZTNlMmIxODc4MDVjMDg5YmIyOTMyMjQ2MTkzMTU5ZjA1OGE0OGE1NmE).
- Subscribe to our [Community Calendar](https://cuelang.org/s/community-calendar) for community calls, demos, office hours, etc
- Chat with us on [Slack](https://join.slack.com/t/cuelang/shared_invite/enQtNzQwODc3NzYzNTA0LTAxNWQwZGU2YWFiOWFiOWQ4MjVjNGQ2ZTNlMmIxODc4MDVjMDg5YmIyOTMyMjQ2MTkzMTU5ZjA1OGE0OGE1NmE) and [Discord](https://discord.gg/Tnf2CdzRjr)
- Subscribe to our [Community Calendar](https://cuelang.org/s/community-calendar) for community updates, demos, office hours, etc

---

Unless otherwise noted, the CUE source files are distributed
under the Apache 2.0 license found in the LICENSE file.

0 comments on commit fecf80d

Please sign in to comment.