MCPcopy Index your code
hub / github.com/bitmaelum/bitmaelum-suite

github.com/bitmaelum/bitmaelum-suite @v0.1.1-3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.1-3 ↗ · + Follow
1,604 symbols 6,447 edges 355 files 945 documented · 59%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Go Report Card BitMaelum CI codecov License GitHub go.mod Go version
CII Best Practices Gitter Maintainability Rating


Image if we could redesign email without thinking about backward compatibility. What would it look like? Could we solve the problems we face nowadays like spam, email forgery, phishing emails and, maybe the most important one: privacy?

BitMaelum (old Anglo-Saxon for "bit-by-bit") is an attempt. Instead of trying to figure out how to fix email, we are building a new email system from the ground up. This way, we can design the system to solve mail problems at its core instead of trying to patch up an insecure foundation.

New to BitMaelum? Take a 5-minute tour to read what it is about.

Quickstart

To start with BitMaelum right away, check out Quickstart guide.

To build and test BitMaelum, check out build document.

Join us on our discourse forum: https://discourse.bitmaelum.com

Features

BitMaelum tries to be a system that:

  • Will be designed with privacy first
  • Deal with less to no spam at all
  • Nullifies mail address harvesting (it becomes a useless effort)
  • Host your mail wherever you like
  • Move your messages to another provider without losing your mail address
  • Allows that only you can subscribe and unsubscribe from mailing lists
  • Slow connection / mobile friendly

For more features, please take a look at our wiki

Development

BitMaelum is highly experimental and under heavy development. Do not use it yet in any production environment. We invite early-adopters to try out the system and contribute by testing.


https://bitmaelum.com/logo_and_name.svg.

Extension points exported contracts — how you extend this code

StorageBackend (Interface)
StorageBackend is the main backend interface which can stores undefined structures. This can be api keys or auth key or [9 …
internal/key/repository.go
Storage (Interface)
Storage is the main interface for fetching and storing webhook data [9 implementers]
internal/webhook/repository.go
ConfigRepository (Interface)
ConfigRepository is the interface to fetch resolver configurations [5 implementers]
internal/resolver/repository.go
KeyType (Interface)
KeyType is an interface that each key type should implement. [3 implementers]
pkg/bmcrypto/keytype.go
Authenticator (Interface)
Authenticator allows you to use the struct in the multi-auth middleware [3 implementers]
cmd/bm-server/middleware/authenticate.go
RedisResultWrapper (Interface)
* Defines a wrapper for redis results. Redis-go uses a system where you generate redis-commands which you need * to res [2 …
internal/redis_result_wrapper.go
PasswordReader (Interface)
PasswordReader is an interface to read a password. [2 implementers]
internal/console/password.go
DNSResolver (Interface)
DNSResolver is the interface for resolving DNS stuff [2 implementers]
internal/organisation/validate_dns.go

Core symbols most depended-on inside this repo

String
called by 372
pkg/bmcrypto/keytype.go
Error
called by 136
cmd/bm-server/handler/ticket.go
ErrorOut
called by 117
cmd/bm-server/internal/httputils/http.go
New
called by 94
pkg/hash/hash.go
Hash
called by 89
pkg/address/address.go
Get
called by 78
internal/container/container.go
NewAddress
called by 59
pkg/address/address.go
GetActiveKey
called by 46
internal/vault/account.go

Shape

Function 770
Method 605
Struct 181
Interface 27
TypeAlias 18
FuncType 3

Languages

Go100%

Modules by API surface

cmd/bm-server/internal/account/repository.go32 symbols
pkg/bmcrypto/keytype.go31 symbols
internal/resolver/remote.go22 symbols
pkg/bmcrypto/key_rsa.go21 symbols
pkg/bmcrypto/key_ed25519.go21 symbols
internal/api/client.go20 symbols
pkg/bmcrypto/key_ecdsa.go19 symbols
internal/key/repository.go18 symbols
internal/resolver/service.go16 symbols
internal/resolver/repository.go16 symbols
internal/redis_result_wrapper.go16 symbols
internal/message/catalog.go16 symbols

For agents

$ claude mcp add bitmaelum-suite \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page