tangled
alpha
login
or
join now
djara.dev
/
watproto
2
fork
atom
Testing implementation for private data in ATProto with ATPKeyserver and ATCute tools
2
fork
atom
overview
issues
pulls
pipelines
update project name to watproto
Juan D. Jara
4 months ago
375d8f1f
d1832fc6
+24
-24
8 changed files
expand all
collapse all
unified
split
CLAUDE.md
README.md
bun.lock
package.json
packages
client
CLAUDE.md
package.json
server
CLAUDE.md
package.json
+4
-4
CLAUDE.md
···
13
13
This project is organized as a Bun workspace monorepo:
14
14
15
15
```
16
16
-
atproto-elysia/
16
16
+
watproto/
17
17
├── packages/
18
18
│ ├── server/ # Elysia API backend (OAuth, database, API endpoints)
19
19
│ │ ├── src/ # Server source code
···
171
171
1. Add workspace dependency in `packages/client/package.json`:
172
172
```json
173
173
"dependencies": {
174
174
-
"@atproto-elysia/server": "workspace:*"
174
174
+
"@watproto/server": "workspace:*"
175
175
}
176
176
```
177
177
2. Import types (not runtime code):
178
178
```typescript
179
179
-
import type { Account } from '@atproto-elysia/server/src/db/schema'
179
179
+
import type { Account } from '@watproto/server/src/db/schema'
180
180
```
181
181
182
182
## Future Expansion
···
196
196
1. **Clone and install**:
197
197
```bash
198
198
git clone <repo-url>
199
199
-
cd atproto-elysia
199
199
+
cd watproto
200
200
bun install
201
201
```
202
202
+2
-2
README.md
···
5
5
## Project Structure
6
6
7
7
```
8
8
-
atproto-elysia/
8
8
+
watproto/
9
9
├── packages/
10
10
│ ├── server/ # Elysia API backend
11
11
│ │ ├── src/ # Server source code
···
42
42
1. Clone the repository:
43
43
```bash
44
44
git clone <repository-url>
45
45
-
cd atproto-elysia
45
45
+
cd watproto
46
46
```
47
47
48
48
2. Install dependencies:
+6
-6
bun.lock
···
2
2
"lockfileVersion": 1,
3
3
"workspaces": {
4
4
"": {
5
5
-
"name": "atproto-elysia",
5
5
+
"name": "watproto",
6
6
"devDependencies": {
7
7
"concurrently": "^9.2.1",
8
8
"prettier": "^3.6.2",
···
10
10
},
11
11
},
12
12
"packages/client": {
13
13
-
"name": "@atproto-elysia/client",
13
13
+
"name": "@watproto/client",
14
14
"dependencies": {
15
15
-
"@atproto-elysia/server": "workspace:*",
15
15
+
"@watproto/server": "workspace:*",
16
16
"@elysiajs/eden": "1.4.4",
17
17
"@react-router/fs-routes": "^7.9.4",
18
18
"@react-router/node": "^7.9.2",
···
40
40
},
41
41
},
42
42
"packages/server": {
43
43
-
"name": "@atproto-elysia/server",
43
43
+
"name": "@watproto/server",
44
44
"version": "0.0.1",
45
45
"dependencies": {
46
46
"@atproto/api": "^0.17.3",
···
62
62
},
63
63
},
64
64
"packages": {
65
65
-
"@atproto-elysia/client": ["@atproto-elysia/client@workspace:packages/client"],
65
65
+
"@watproto/client": ["@watproto/client@workspace:packages/client"],
66
66
67
67
-
"@atproto-elysia/server": ["@atproto-elysia/server@workspace:packages/server"],
67
67
+
"@watproto/server": ["@watproto/server@workspace:packages/server"],
68
68
69
69
"@atproto-labs/did-resolver": ["@atproto-labs/did-resolver@0.2.2", "", { "dependencies": { "@atproto-labs/fetch": "0.2.3", "@atproto-labs/pipe": "0.1.1", "@atproto-labs/simple-store": "0.3.0", "@atproto-labs/simple-store-memory": "0.1.4", "@atproto/did": "0.2.1", "zod": "^3.23.8" } }, "sha512-ca2B7xR43tVoQ8XxBvha58DXwIH8cIyKQl6lpOKGkPUrJuFoO4iCLlDiSDi2Ueh+yE1rMDPP/qveHdajgDX3WQ=="],
70
70
+6
-6
package.json
···
1
1
{
2
2
-
"name": "atproto-elysia",
2
2
+
"name": "watproto",
3
3
"version": "0.0.1",
4
4
"private": true,
5
5
"workspaces": [
···
7
7
],
8
8
"scripts": {
9
9
"dev": "concurrently \"bun run dev:server\" \"bun run dev:client\"",
10
10
-
"dev:server": "bun run --filter @atproto-elysia/server dev",
11
11
-
"dev:client": "bun run --filter @atproto-elysia/client dev",
10
10
+
"dev:server": "bun run --filter @watproto/server dev",
11
11
+
"dev:client": "bun run --filter @watproto/client dev",
12
12
"build": "bun run build:client",
13
13
-
"build:client": "bun run --filter @atproto-elysia/client build",
13
13
+
"build:client": "bun run --filter @watproto/client build",
14
14
"typecheck": "bun run --workspaces typecheck",
15
15
-
"typecheck:server": "bun run --filter @atproto-elysia/server typecheck",
16
16
-
"typecheck:client": "bun run --filter @atproto-elysia/client typecheck"
15
15
+
"typecheck:server": "bun run --filter @watproto/server typecheck",
16
16
+
"typecheck:client": "bun run --filter @watproto/client typecheck"
17
17
},
18
18
"devDependencies": {
19
19
"concurrently": "^9.2.1",
+3
-3
packages/client/CLAUDE.md
···
10
10
11
11
**Monorepo Structure**:
12
12
```
13
13
-
atproto-elysia/ (root)
13
13
+
watproto/ (root)
14
14
├── packages/
15
15
│ ├── server/ # Elysia API backend
16
16
│ └── client/ # This package (React Router v7 frontend)
···
120
120
121
121
**Type Sharing** (when needed):
122
122
- Can import types from server package via workspace dependencies
123
123
-
- Add to dependencies: `"@atproto-elysia/server": "workspace:*"`
124
124
-
- Import: `import type { AccountType } from '@atproto-elysia/server/src/db/schema'`
123
123
+
- Add to dependencies: `"@watproto/server": "workspace:*"`
124
124
+
- Import: `import type { AccountType } from '@watproto/server/src/db/schema'`
125
125
126
126
### Styling
127
127
+1
-1
packages/client/package.json
···
1
1
{
2
2
-
"name": "@atproto-elysia/client",
2
2
+
"name": "@watproto/client",
3
3
"private": true,
4
4
"type": "module",
5
5
"scripts": {
+1
-1
packages/server/CLAUDE.md
···
10
10
11
11
**Monorepo Structure**:
12
12
```
13
13
-
atproto-elysia/ (root)
13
13
+
watproto/ (root)
14
14
├── packages/
15
15
│ ├── server/ # This package (API backend)
16
16
│ └── client/ # React Router v7 frontend
+1
-1
packages/server/package.json
···
1
1
{
2
2
-
"name": "@atproto-elysia/server",
2
2
+
"name": "@watproto/server",
3
3
"version": "0.0.1",
4
4
"type": "module",
5
5
"scripts": {