Skip to content

Commit e8e7274

Browse files
authored
Add roomote to the monorepo (#109)
1 parent 1ab7822 commit e8e7274

File tree

90 files changed

+6181
-592
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+6181
-592
lines changed

.docker/Dockerfile.api

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# docker compose build base api
2+
3+
FROM roomote-base AS base
4+
5+
WORKDIR /roo
6+
7+
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
8+
COPY packages/config-eslint/package.json ./packages/config-eslint/
9+
COPY packages/config-typescript/package.json ./packages/config-typescript/
10+
COPY packages/types/package.json ./packages/types/
11+
COPY packages/ipc/package.json ./packages/ipc/
12+
COPY apps/roomote/package.json ./apps/roomote/
13+
14+
COPY scripts/bootstrap.mjs ./scripts/
15+
RUN pnpm install
16+
17+
COPY apps/roomote ./apps/roomote/
18+
COPY packages/config-eslint ./packages/config-eslint/
19+
COPY packages/config-typescript ./packages/config-typescript/
20+
COPY packages/types ./packages/types/
21+
COPY packages/ipc ./packages/ipc/
22+
23+
WORKDIR /roo/apps/roomote
24+
RUN pnpm build
25+
ENV NODE_ENV=production
26+
EXPOSE 3001
27+
CMD ["pnpm", "start"]

.docker/Dockerfile.base

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# docker compose build base
2+
3+
FROM node:20-slim AS base
4+
5+
# Install pnpm
6+
ENV PNPM_HOME="/pnpm"
7+
ENV PATH="$PNPM_HOME:$PATH"
8+
RUN corepack enable
9+
10+
# Install common system packages
11+
RUN apt update && \
12+
apt install -y \
13+
curl \
14+
git \
15+
vim \
16+
jq \
17+
netcat-openbsd \
18+
apt-transport-https \
19+
ca-certificates \
20+
gnupg \
21+
lsb-release \
22+
wget \
23+
gpg \
24+
gh \
25+
&& rm -rf /var/lib/apt/lists/*
26+
27+
# Install Docker cli
28+
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg \
29+
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null \
30+
&& apt update && apt install -y docker-ce-cli \
31+
&& rm -rf /var/lib/apt/lists/*

.docker/Dockerfile.controller

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# docker compose build base controller
2+
3+
FROM roomote-base AS base
4+
5+
WORKDIR /roo
6+
7+
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
8+
COPY packages/config-eslint/package.json ./packages/config-eslint/
9+
COPY packages/config-typescript/package.json ./packages/config-typescript/
10+
COPY packages/types/package.json ./packages/types/
11+
COPY packages/ipc/package.json ./packages/ipc/
12+
COPY apps/roomote/package.json ./apps/roomote/
13+
14+
COPY scripts/bootstrap.mjs ./scripts/
15+
RUN pnpm install
16+
17+
COPY apps/roomote ./apps/roomote/
18+
COPY packages/config-eslint ./packages/config-eslint/
19+
COPY packages/config-typescript ./packages/config-typescript/
20+
COPY packages/types ./packages/types/
21+
COPY packages/ipc ./packages/ipc/
22+
23+
WORKDIR /roo/apps/roomote
24+
ENV NODE_ENV=production
25+
CMD ["pnpm", "controller"]

.docker/Dockerfile.dashboard

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# docker compose build base dashboard
2+
3+
FROM roomote-base AS base
4+
5+
WORKDIR /roo
6+
7+
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
8+
COPY packages/config-eslint/package.json ./packages/config-eslint/
9+
COPY packages/config-typescript/package.json ./packages/config-typescript/
10+
COPY packages/types/package.json ./packages/types/
11+
COPY packages/ipc/package.json ./packages/ipc/
12+
COPY apps/roomote/package.json ./apps/roomote/
13+
14+
COPY scripts/bootstrap.mjs ./scripts/
15+
RUN pnpm install
16+
17+
COPY apps/roomote ./apps/roomote/
18+
COPY packages/config-eslint ./packages/config-eslint/
19+
COPY packages/config-typescript ./packages/config-typescript/
20+
COPY packages/types ./packages/types/
21+
COPY packages/ipc ./packages/ipc/
22+
23+
WORKDIR /roo/apps/roomote
24+
EXPOSE 3002
25+
CMD ["pnpm", "dashboard"]

.docker/Dockerfile.worker

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# docker compose build worker
2+
# Note: Requires $GH_TOKEN to be set as build argument.
3+
4+
FROM roomote-base AS base
5+
6+
# Install additional worker-specific packages
7+
RUN apt update && \
8+
apt install -y \
9+
xvfb \
10+
&& rm -rf /var/lib/apt/lists/*
11+
12+
# Install VS Code
13+
RUN wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg \
14+
&& install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg \
15+
&& echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | tee /etc/apt/sources.list.d/vscode.list > /dev/null \
16+
&& rm -f packages.microsoft.gpg \
17+
&& apt update && apt install -y code \
18+
&& rm -rf /var/lib/apt/lists/*
19+
20+
WORKDIR /roo
21+
22+
# Install extensions
23+
RUN mkdir -p /roo/.vscode \
24+
&& code --no-sandbox --user-data-dir /roo/.vscode --install-extension dbaeumer.vscode-eslint \
25+
&& code --no-sandbox --user-data-dir /roo/.vscode --install-extension esbenp.prettier-vscode \
26+
&& code --no-sandbox --user-data-dir /roo/.vscode --install-extension csstools.postcss \
27+
&& code --no-sandbox --user-data-dir /roo/.vscode --install-extension RooVeterinaryInc.roo-cline
28+
29+
# Clone repo (requires $GH_TOKEN)
30+
ARG GH_TOKEN
31+
ENV GH_TOKEN=${GH_TOKEN}
32+
WORKDIR /roo/repos
33+
RUN git config --global user.email "[email protected]"
34+
RUN git config --global user.name "Roo Code"
35+
RUN git config --global credential.helper store
36+
RUN echo "https://oauth2:${GH_TOKEN}@github.com" > ~/.git-credentials
37+
RUN gh repo clone RooCodeInc/Roo-Code
38+
WORKDIR /roo/repos/Roo-Code
39+
RUN gh repo set-default RooCodeInc/Roo-Code
40+
RUN pnpm install
41+
42+
# Install dependencies
43+
WORKDIR /roo
44+
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
45+
COPY packages/config-eslint/package.json ./packages/config-eslint/
46+
COPY packages/config-typescript/package.json ./packages/config-typescript/
47+
COPY packages/types/package.json ./packages/types/
48+
COPY packages/ipc/package.json ./packages/ipc/
49+
COPY apps/roomote/package.json ./apps/roomote/
50+
51+
COPY scripts/bootstrap.mjs ./scripts/
52+
RUN pnpm install
53+
54+
COPY apps/roomote ./apps/roomote/
55+
COPY packages/config-eslint ./packages/config-eslint/
56+
COPY packages/config-typescript ./packages/config-typescript/
57+
COPY packages/types ./packages/types/
58+
COPY packages/ipc ./packages/ipc/
59+
60+
WORKDIR /roo/apps/roomote
61+
ENV NODE_ENV=production
62+
CMD ["pnpm", "worker"]
File renamed without changes.
File renamed without changes.

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ node_modules
99
Thumbs.db
1010

1111
# .env
12+
.env
1213
.env*.local
1314
.env*.production
1415

@@ -17,3 +18,7 @@ Thumbs.db
1718

1819
# vercel
1920
.vercel
21+
22+
# docker
23+
.docker/data
24+
.docker/logs

README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,27 @@
11
# Roo Code Cloud Monorepo
2+
3+
### Web
4+
5+
To start the web app you first need to start the `postgres` and `clickhouse` docker services:
6+
7+
```sh
8+
pnpm db:up
9+
```
10+
11+
This will automatically sync your database to the latest version of the schema. If you need to reset your database at any point, you can run:
12+
13+
```sh
14+
pnpm db:reset
15+
```
16+
17+
Then you can start the app in dev mode:
18+
19+
```sh
20+
pnpm --filter @roo-code-cloud/web dev
21+
```
22+
23+
The app will be available at (localhost:3000)[http://localhost:3000/].
24+
25+
### Roomote
26+
27+
TBD

0 commit comments

Comments
 (0)