cometbft / knowledge-base

CometBFT team public knowledge base. Always a work-in-progress.
Apache License 2.0
14 stars 7 forks source link

How we structure this repo? #3

Open cason opened 1 year ago

cason commented 1 year ago

Should we organize the content in a way that it somehow reflect the content of the spec under the CometBFT repository?

It would be something like (only directories are printed):

$ tree -d spec -I draft -I img   
spec
├── abci
├── blockchain
├── consensus
│   ├── consensus-paper
│   ├── light-client
│   │   └── assets
│   └── proposer-based-timestamp
│       └── tla
├── core
├── ivy-proofs
│   └── output
├── light-client
│   ├── accountability
│   │   └── results
│   ├── assets
│   ├── attacks
│   ├── detection
│   ├── supervisor
│   └── verification
├── p2p
│   ├── messages
│   ├── quint
│   ├── reactor
│   └── v0.34
└── rpc

The proposal is not to restrict to this directory structure, but to use it as a base.

thanethomson commented 1 year ago

I wouldn't try to structure it according to the spec. This already tries to impose some form of hierarchy to the structure, which I don't think will be conducive to the results we're aiming for.

See https://roambrain.com/the-complete-guide-for-building-a-zettelkasten-with-roam-research/ for some tips.

What you're proposing here is effectively an "index" of sorts, which should be its own text file that links to other files in a hierarchical fashion.

My recommendation:

|_ indexes             - Or "indices"
|  |_ cometbft-spec.md - An example index linking to important concepts, in a hierarchical fashion
|_ notes               - A flat directory of concepts, with just a single concept per file ("Literature Notes")
   |_ blockchain.md
   |_ consensus.md
   |_ cometbft.md
   |_ cometbft-block.md
   |_ cometbft-block-header.md
   |_ cometbft-consensus.md
   |_ cometbft-p2p.md
   |_ p2p.md
   |_ tendermint-consensus.md