# ocean In-memory key value store that saves your data to plain old JSON files. If you like, you can operate on your entire data with classic UNIX tools. ## Installation ```go go get git.akyoto.dev/go/ocean ``` ## Examples ```go // User data type User struct { Name string } // Data saved to ~/.ocean/User/ users := ocean.New[User]("User") // Store key and value in memory and write ~/.ocean/User/1.json users.Set("1", &User{Name: "User 1"}) ``` In a real project you would usually prefix your collections with a project or company name: ```go // Data saved to ~/.ocean/google/User/ users := ocean.New[User]("google", "User") ``` ## Recommended structure You can add as many directory hierarchies as you need but I recommend using a simple `/namespace/collection/` structure. Collections should use the singular instead of the plural form (`User` instead of `Users`) because it's better for automation. Ocean does not enforce these standards but they are heavily recommended.