Open galargh opened 1 year ago
See also discussion: https://discord.com/channels/899652135552167957/940620444564848720/959054401652260884 and feature: https://go.dev/ref/mod#workspaces
It looks like we have pains that come from not working with a monorepo setup. For example: ipfs/go-ipfs-config#151, and the existence of https://github.com/libp2p/workspace-go-libp2p.
Is there a need to improve tools & generalize workspaces?
(could git subtrees be a good alternative?)
The end goal would be to match the simplicity of working in a monorepo setup.
Things we can do now:
Automate the maintenance of workspace-go-libp2p
Document and make sure every maintainer knows about workspace-go-libp2p
create workspace go ipfs
create workspace js ipfs, js libp2p, rust ipfs, rust libp2p, etc.
Add pre-commit hook in unified CI / default configuration for go repos
Things that would help:
Reach out to people maintaining and using workspace-go-libp2p and ask for details
Things we can do later:
Crazy idea: expose the whole stack as a single monorepo
With recent product announcement in Codespaces we should definitely revisit this!
See also discussion: https://discord.com/channels/899652135552167957/940620444564848720/959054401652260884 and feature: https://go.dev/ref/mod#workspaces
It looks like we have pains that come from not working with a monorepo setup. For example: ipfs/go-ipfs-config#151, and the existence of https://github.com/libp2p/workspace-go-libp2p.
Is there a need to improve tools & generalize workspaces?
(could git subtrees be a good alternative?)
The end goal would be to match the simplicity of working in a monorepo setup.
Things we can do now:
Automate the maintenance of workspace-go-libp2p
Document and make sure every maintainer knows about workspace-go-libp2p
create workspace go ipfs
create workspace js ipfs, js libp2p, rust ipfs, rust libp2p, etc.
Add pre-commit hook in unified CI / default configuration for go repos
Things that would help:
Reach out to people maintaining and using workspace-go-libp2p and ask for details
Things we can do later:
Crazy idea: expose the whole stack as a single monorepo