In-depth guide of how the SamePage repositories are structured and how to contribute
All repositories managed by SamePage are open source under the MIT license. This allows developers to create self hosted versions of the network, fork the TFT extensions to versions more suitable for their use case, and contribute freely to the ecosystem.
The SamePage ecosystem is composed of a single monorepo for SamePage core services (the API, client sdks, the website, etc.) as well as a separate repository for each extension for a tool for thought we officially support. All repositories could be found in our organization on GitHub. We break down each repository below.
samepage.network
This is our main monorepo.
The repository contains several top level directories that roughly correspond to a separate deployment target. Each deployment target has a github action in the .github/workflows
directory that watches for changes in the corresponding directory on the main
branch and runs its deployment when it does.
The top level directories are as follows:
api
ws
subdirectory are deployed to our WebSocket Gateway.app
data
package
npm
, to be used by extensions for each supported tool for thought. The entire directory is published as a single samepage
package, as well as individual @samepage
scoped packages.scripts
template
tests
The following directories also exist but are expected to be temporary:
docs
& public
app
. Expected to migrate into that directory.patches
npm install
..env.default
file to .env
, and replace the values that are marked TODO
CLERK_API_KEY
@dvargas92495
mysql
running, with a user with username and password both with the value samepage_network
, running on port 3306, and a database created called mysql
.mysql
instance by running npx ts-node scripts/cli.ts plan --sql
, followed by npx ts-node scripts/cli.ts apply --sql
.npm start
to run the app.main
branch of the original repository@dvargas92495
for review[tool]
For each tool for thought that we support, we have a separate repository hosting the code for its extension. We currently support the following clients:
npm install
.npm start
to build the extension in dev mode, running a watcher responding to file changes.main
branch of the original repository@dvargas92495
for review