gnolang / gno

Gno: An interpreted, stack-based Go virtual machine to build succinct and composable apps + Gno.land: a blockchain for timeless code and fair open-source
https://gno.land/
Other
839 stars 342 forks source link

RFC(philosophy): Merge some standalone repos into this monorepo #2337

Open moul opened 2 weeks ago

moul commented 2 weeks ago

Currently, we have several standalone repos (tx-indexer, tx-archive, faucet, gnora, libtm, p2p) that could be merged into the monorepo. While in the future we may split them out, for now, keeping them separate creates diamond dependencies issues and inconsistency in releases. This makes it risky, limiting or even impossible to depend on one of these standalone repos and the monorepo at the same time.

Moreover, having these repos separate hides whether or not something is still compatible with the latest master. Switching to a monorepo would ensure that we're consistent with devs, versioning, breaking changes, and always testing all our tools.

For now, it seems smarter to rely on a single versioning system across the ecosystem rather than expecting to have independent versions that are actually always depending on each other. Therefore, I propose that we merge these standalone repos into the monorepo and encourage all {tm2,gno}-core related projects to start from the monorepo first as the default rule.