Alien Bunny is a content management framework, written in Go.
Quick install (without server side JavaScript support):
go get -d -u github.com/alien-bunny/ab
cd $GOPATH/src/github.com/alien-bunny/ab/cmd/abt
go install
To install the frontend:
npm install --save abjs
Alternatively, if you want to work on the development version, use npm link:
cd $GOPATH/github.com/alien-bunny/ab/js
npm link
cd $YOUR_PROJECT
npm link abjs
See examples and more information at the project website.
- Go 1.11
- PostgreSQL 10 or newer.
- Frontend components and the scaffolded application base require NPM 3+.
The uuid
extension must be installed on the database.
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
The abt
command is a helper tool for the development. Subcommands:
watch
: starts a proxy that builds and reruns your application when you save a file.gensecret
: generates a secret key. Useful for generating cookie secrets.decrypt
: decrypts a string with the util package
An evironment variable called AB_TEST_DB
must be defined with the connection string to the PostgreSQL database.
Feel free to open an issue / pull request for discussion, feature request or bug report. If you plan to make a bigger pull request, open an issue before you start implementing it.
- No critical issues
- High test coverage: 90% is a good target, but the point is to cover all non-trivial code paths
- Clean go vet
- All exported functions/types have documentation
- No IDEA/Goland inspection problems
- No TODOs
Major releases only:
- No major issues
- Migration guide
What is a breaking change:
- Public Go API
- Configuration format
What isn't a breaking change:
- Go, PostgreSQL, NPM minimum version
- Dependency versions
- TLS-related requirements (curves, ciphers etc)
- Default crypto hash algorithm (e.g. password hash)
- Default HMAC algorithm (e.g. session signature)
- Default encryption algorithm (e.g. authentication data)
- Internal list additions (e.g. list of decoders, list of disabled account names)