#Store All the Things *Noms* is a content-addressed, immutable, decentralized, strongly-typed database. In other words, Noms is Git for data. ## Setup 1. Install [Go 1.6+](https://golang.org/dl/) 2. Ensure your [$GOPATH](https://github.com/golang/go/wiki/GOPATH) is configured 3. Type type type: ``` git clone https://github.com/attic-labs/noms $GOPATH/src/github.com/attic-labs/noms go install github.com/attic-labs/noms/cmd/... noms log http://demo.noms.io/cli-tour:film-locations ``` [Samples](TODO) | [Command-Line Tour](doc/cli-tour.md) | [JavaScript SDK Tour](doc/js-tour.md) | [Intro to Noms](doc/intro.md) ## Features
| Versioning Each commit is retained and can be viewed or reverted | Type inference Each dataset has a precise schema that is automatically inferred | Atomic commits Immutability enables atomic commits of any size |
| Diff Compare structured datasets of any size efficiently | Schema versioning Narrow or widen schemas instantly, without rewriting data | Sorted indexes Fast range queries, on a single or a combination of attributes |
| Fork Create your own isolated branch of a dataset to work in | Schema validation (soon) Optionally constrain commit types on a per-dataset basis | Insanely easy import Continuous import from anywhere with automatic deduplication |
| Sync Sync disconnected database instances efficiently and correctly | Structural typing Index, search, and match data by structure shape | Awesome export Continuously and efficiently export from Noms to anywhere |