aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorMike Crute <mike@crute.us>2021-11-15 23:27:21 -0800
committerMike Crute <mike@crute.us>2021-11-15 23:27:21 -0800
commit22b90e9deb1f706a3e1e01c64b3fd256112a5ede (patch)
tree7006672c7ba4b27251242104414eb80665278157 /README.md
parent3d7f26e200d1edefe68eac3b761acde57e244e42 (diff)
downloadgolib-22b90e9deb1f706a3e1e01c64b3fd256112a5ede.tar.bz2
golib-22b90e9deb1f706a3e1e01c64b3fd256112a5ede.tar.xz
golib-22b90e9deb1f706a3e1e01c64b3fd256112a5ede.zip
Add license and readme
Diffstat (limited to 'README.md')
-rw-r--r--README.md50
1 files changed, 50 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..f32c1e7
--- /dev/null
+++ b/README.md
@@ -0,0 +1,50 @@
1# Go Extension Library
2
3This library contains extensions to the Go standard library that are
4occasionally useful and shared across multiple projects.
5
6## Versioning
7
8This project and the contained modules use semantic versioning. No effort is
9made to keep sub-module versions in sync.
10
11## Dependency Philosophy
12
13The root library is meant to be an extension of the Go standard library and
14therefore does not depend on anything but the standard library itself and
15golang.org/x repositories.
16
17Other modules within the repository may pull in other dependencies outside of
18the core standard library. For those cases go modules are used to isolate the
19dependency to the sub-module. Wherever possible the sub-modules are designed to
20reduce the dependency graph of that module to just the scope of dependencies
21needed for its proper function.
22
23## Modules
24
25- **core (no prefix)** provides some extensions to standard library and
26 golang.org/x functionality
27- **cli** provides some wrapper functionality for creating command line
28 interfaces with [cobra](https://github.com/spf13/cobra).
29- **db/mongodb** provides a wrapper around the lower level [mongodb driver
30 libraries](https://pkg.go.dev/go.mongodb.org/mongo-driver) to make it easier
31 to use them.
32- **echo** is a grab-bag of extensions around the [labstack echo web
33 framework](https://echo.labstack.com/guide/) designed to make it easier to
34 use. These extensions are starting to look like a fully fledged web framework
35 in their own right with echo as the foundation. The opinions in this module are
36 pretty heavy handed, use at your own risk.
37- **vault** provides some wrappers around the [Hashicorp
38 Vault](https://pkg.go.dev/github.com/hashicorp/vault/api) API.
39
40## Contributing
41
42If you find anything here useful and would like to submit patches please email
43the patch (in git format-patch format) or a repository location and branch name
44that the maintainers can pull and merge. We reserve the right to request
45changes to patches or reject them outright but are most likely to willing and
46thankfully merge them if they fit into the general theme here.
47
48## Contributors
49
50- [Mike Crute](https://mike.crute.us) email: mike-at-crute-dot-us