36
docs/dev-code-overview.md
Normal file
36
docs/dev-code-overview.md
Normal file
@@ -0,0 +1,36 @@
|
||||
Code Overview
|
||||
=============
|
||||
|
||||
Here is how the code is laid out.
|
||||
|
||||
TODO(tlim): Add a diagram of the layers
|
||||
|
||||
```
|
||||
cmd/blackbox/ The command line tool.
|
||||
blackbox.go main()
|
||||
cli.go Definition of all subcommands and flags
|
||||
drive.go Processes flags and calls functions in verbs.go
|
||||
NOTE: These are the only files that are aware of the
|
||||
flags. Everything else gets the flag data passed to it
|
||||
as a parameter. This way the remaining system can be
|
||||
used as a module.
|
||||
|
||||
pkg/box/ High-level functions related to "the black box".
|
||||
verbs.go One function per subcommand.
|
||||
box.go Functions for manipulating the files in .blackbox
|
||||
boxutils.go Helper functions for the above.
|
||||
|
||||
pkg/bblog/ Module that provides logging facilities.
|
||||
pkg/bbutil/ Functions that are useful to box, plug-ins, etc.
|
||||
pkg/tainedname/ Module for printing filenames escaped for Bash.
|
||||
|
||||
models/vcs.go The interface that defines a VCS plug-in.
|
||||
models/crypters.go The interface that defines a GPG plug-in.
|
||||
|
||||
pkg/crypters/ Plug-ins for GPG functionality.
|
||||
pkg/crypters/gnupg Plug-in that runs an external gpg binary (found via $PATH)
|
||||
|
||||
pkg/vcs/ Plug-ins for VCS functionality.
|
||||
pkg/vcs/none Repo-less mode.
|
||||
pkg/vcs/git Git mode.
|
||||
```
|
||||
Reference in New Issue
Block a user