Skip to content

Commit 2e9e1de

Browse files
committed
update readmes
1 parent 56382cd commit 2e9e1de

5 files changed

Lines changed: 203 additions & 244 deletions

File tree

README.md

Lines changed: 50 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -1,170 +1,78 @@
1-
# DevRadar 🛰️
1+
# devradar
22

3-
**The "Discord" for VS Code** — Real-time social presence for developers.
3+
real-time social presence for developers.
44

5-
> Coding is lonely. DevRadar makes it a multiplayer experience without the friction of screen sharing.
5+
## quick start
66

7-
[![VS Code Marketplace](https://img.shields.io/badge/VS%20Code-Marketplace-blue?logo=visual-studio-code)](https://marketplace.visualstudio.com)
8-
[![License](https://img.shields.io/badge/License-AGPL--3.0-blue.svg)](./LICENSE)
9-
[![CI](https://img.shields.io/github/actions/workflow/status/devradar/devradar/ci.yml?label=CI)](https://github.com/devradar/devradar/actions)
10-
11-
---
12-
13-
## 🚀 Quick Start
14-
15-
### Prerequisites
16-
17-
- Node.js 22+
18-
- pnpm 10+
19-
- Docker & Docker Compose
20-
- VS Code 1.85+
21-
22-
### 5-Minute Setup
23-
24-
```bash
25-
# 1. Clone the repository
7+
```
268
git clone https://github.com/devradar/devradar.git
279
cd devradar
28-
29-
# 2. Install dependencies
3010
pnpm install
31-
32-
# 3. Start infrastructure (Redis + PostgreSQL)
3311
docker-compose up -d
34-
35-
# 4. Set up environment
36-
cp .env.example .env
37-
# Edit .env with your GitHub OAuth credentials
38-
39-
# 5. Run database migrations
40-
pnpm db:migrate
41-
42-
# 6. Start development servers
12+
cp apps/server/.env.example apps/server/.env
13+
pnpm --filter @devradar/server db:migrate
4314
pnpm dev
4415
```
4516

46-
### Verify Setup
47-
48-
```bash
49-
# Check all services are running
50-
pnpm health-check
17+
## structure
5118

52-
# Run tests
53-
pnpm test
54-
55-
# Open VS Code extension in development mode
56-
pnpm dev:extension
5719
```
58-
59-
---
60-
61-
## 🏗️ Architecture
62-
63-
```text
64-
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
65-
│ VS Code │────▶│ WebSocket │────▶│ Redis │
66-
│ Extension │◀────│ Server │◀────│ (Pub/Sub) │
67-
└─────────────────┘ └─────────────────┘ └─────────────────┘
68-
│ │
69-
│ │
70-
▼ ▼
71-
┌─────────────────┐ ┌─────────────────┐
72-
│ REST API │────▶│ PostgreSQL │
73-
│ (Fastify) │◀────│ (Users/Data) │
74-
└─────────────────┘ └─────────────────┘
75-
```
76-
77-
### Tech Stack
78-
79-
| Layer | Technology | Purpose |
80-
| ------------ | ------------------------ | ------------------------------- |
81-
| Extension | TypeScript + VS Code API | Client presence tracking |
82-
| Backend | Node.js + Fastify | REST API + WebSocket server |
83-
| Real-time | WebSocket (ws) | Persistent presence connections |
84-
| Hot Storage | Redis | Ephemeral presence state (TTL) |
85-
| Cold Storage | PostgreSQL + Prisma | Users, relationships, history |
86-
| Infra | Docker + Kubernetes | Container orchestration |
87-
88-
---
89-
90-
## 📁 Project Structure
91-
92-
```text
9320
devradar/
9421
├── apps/
95-
│ ├── api/ # Fastify REST API
96-
│ ├── ws/ # WebSocket server
97-
│ ├── web/ # Landing page (Next.js)
98-
│ └── extension/ # VS Code extension
22+
│ ├── extension/ # vs code extension
23+
│ ├── server/ # fastify rest api + websocket server
24+
│ └── web/ # next.js landing page + dashboard
9925
├── packages/
100-
│ ├── core/ # Shared types, DTOs, validators
101-
│ ├── ui/ # Shared React components
102-
│ ├── database/ # Prisma schema & client
103-
│ └── tsconfig/ # Shared TypeScript config
104-
├── rules/ # Engineering guidelines
105-
│ ├── 00_INDEX.md # Documentation index
106-
│ └── ... # Standards & policies
107-
├── docs/
108-
│ └── adr/ # Architecture Decision Records
109-
├── ops/
110-
│ └── runbooks/ # Operational runbooks
111-
└── tools/ # Scripts & utilities
26+
│ ├── shared/ # shared types, validators, constants
27+
│ ├── eslint-config/ # eslint configurations
28+
│ └── tsconfig/ # typescript configuration presets
29+
└── docker-compose.yml # postgresql + redis
11230
```
11331

114-
---
115-
116-
## 🔧 Development
117-
118-
### Available Commands
32+
## tech stack
11933

120-
```bash
121-
# Development
122-
pnpm dev # Start all services in dev mode
123-
pnpm dev:api # Start API server only
124-
pnpm dev:ws # Start WebSocket server only
125-
pnpm dev:extension # Launch extension in VS Code debug mode
34+
| layer | technology |
35+
| ---------- | --------------------- |
36+
| runtime | node.js 22+ |
37+
| monorepo | pnpm + turbo |
38+
| backend | fastify + websocket |
39+
| database | postgresql + prisma |
40+
| cache | redis + ioredis |
41+
| frontend | next.js 16 + react 19 |
42+
| styling | tailwind css v4 |
43+
| validation | zod |
12644

127-
# Testing
128-
pnpm test # Run all tests
129-
pnpm test:unit # Unit tests only
130-
pnpm test:e2e # End-to-end tests
131-
pnpm test:coverage # Generate coverage report
45+
## commands
13246

133-
# Code Quality
134-
pnpm lint # Run ESLint
135-
pnpm format # Run Prettier
136-
pnpm typecheck # TypeScript type checking
137-
138-
# Database
139-
pnpm db:migrate # Run migrations
140-
pnpm db:seed # Seed development data
141-
pnpm db:studio # Open Prisma Studio
142-
143-
# Build
144-
pnpm build # Build all packages
145-
pnpm build:extension # Build VS Code extension (.vsix)
47+
```
48+
pnpm dev # start all services
49+
pnpm dev:server # start api/websocket server only
50+
pnpm dev:extension # launch extension in vs code debug mode
51+
pnpm dev:web # start web app only
52+
pnpm build # build all packages
53+
pnpm test # run tests
54+
pnpm lint # lint code
55+
pnpm format # format code
14656
```
14757

148-
### Environment Variables
149-
150-
Copy `.env.example` to `.env` and configure:
151-
152-
```env
153-
# Required
154-
DATABASE_URL="postgresql://user:pass@localhost:5432/devradar"
155-
REDIS_URL="redis://localhost:6379"
156-
GITHUB_CLIENT_ID="your_github_oauth_client_id"
157-
GITHUB_CLIENT_SECRET="your_github_oauth_client_secret"
58+
## server commands
15859

159-
# Optional
160-
LOG_LEVEL="debug"
161-
JWT_SECRET="randomly-generated-secret"
60+
```
61+
pnpm --filter @devradar/server dev # dev mode with hot reload
62+
pnpm --filter @devradar/server build # build for production
63+
pnpm --filter @devradar/server start # start production server
64+
pnpm --filter @devradar/server db:migrate # run database migrations
65+
pnpm --filter @devradar/server db:studio # open prisma studio
16266
```
16367

164-
See [.env.example](./.env.example) for all available options.
68+
## extension commands
16569

166-
---
70+
```
71+
pnpm --filter devradar dev # watch mode for development
72+
pnpm --filter devradar build # build extension
73+
pnpm --filter devradar package # create vsix package
74+
```
16775

168-
## 📜 License
76+
## license
16977

170-
This project is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)** - see the [LICENSE](./LICENSE) file for details.
78+
agpl-3.0

apps/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
# Apps Directory
1+
# apps directory
22

3-
This directory contains deployable applications:
3+
deployable applications:
44

5-
- `extension/` - VS Code Extension (Phase 1)
6-
- `server/` - Backend API + WebSocket Server (Phase 1)
7-
- `web/` - Marketing Website + Dashboard (Phase 4)
5+
- `extension/` - vs code extension (v0.4.0)
6+
- `server/` - fastify rest api + websocket server
7+
- `web/` - next.js landing page + dashboard
88

9-
Each app will be created in subsequent phases.
9+
each app is developed independently with shared packages from `packages/`.

apps/extension/README.md

Lines changed: 61 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,85 @@
1-
# DevRadar VS Code Extension
1+
# devradar vs code extension
22

3-
> **Discord Status for VS Code** - See what your friends are coding in real-time 🚀
3+
discord status for vs code. see what your friends are coding in real-time.
44

5-
## Features
5+
## features
66

7-
- **🟢 Real-Time Presence**: See which friends are online and what they're working on
8-
- **👀 Activity Sharing**: Share your coding activity (with privacy controls)
9-
- **👋 Poke Friends**: Get their attention with a friendly notification
10-
- **🔒 Privacy First**: Full control over what you share - or go invisible
11-
- **📊 Coding Stats**: Track your session time and coding intensity
7+
- real-time presence: see which friends are online and what they are working on
8+
- activity sharing: share your coding activity with privacy controls
9+
- poke friends: send friendly notifications
10+
- privacy first: full control over what you share
11+
- coding stats: track session time and coding intensity
1212

13-
## Installation
13+
## views
1414

15-
Since this extension is currently in private development (`private: true`), you can install it locally:
15+
- my stats: your coding statistics
16+
- friends: list of online friends
17+
- leaderboard: friend rankings
18+
- friend requests: incoming and outgoing requests
19+
- activity: recent activity feed
1620

17-
1. Clone the repository
18-
2. Run `pnpm install`
19-
3. Run `pnpm build`
20-
4. Open the `apps/extension` folder in VS Code and press F5 to launch the Extension Development Host.
21+
## installation
2122

22-
_Note: Once published, you will be able to install it from the VS Code Marketplace._
23-
24-
## Getting Started
23+
```
24+
pnpm install
25+
pnpm build
26+
```
2527

26-
1. Click the DevRadar icon in the Activity Bar
27-
2. Click "Login with GitHub" in the sidebar
28-
3. Authorize DevRadar to access your GitHub profile
29-
4. Start coding - your friends will see your status!
28+
open `apps/extension` in vs code and press f5 to launch the extension development host.
3029

31-
## Configuration
30+
## getting started
3231

33-
Access settings via `File > Preferences > Settings` and search for "DevRadar".
32+
1. click the devradar icon in the activity bar
33+
2. login with github
34+
3. start coding - your friends see your status
3435

35-
| Setting | Default | Description |
36-
| -------------------------------- | ---------------------------------------------------- | ----------------------------------------------------------- |
37-
| Setting | Default | Description |
38-
| -------------------------------- | -------------------------------------------- | ----------------------------------------------------------- |
39-
| `devradar.privacyMode` | `false` | Hide your activity from friends |
40-
| `devradar.showFileName` | `true` | Show current file name |
41-
| `devradar.showProject` | `true` | Show project name |
42-
| `devradar.showLanguage` | `true` | Show programming language |
43-
| `devradar.showStatusBarItem` | `true` | Show DevRadar status in the status bar |
44-
| `devradar.enableNotifications` | `true` | Show notifications when friends come online or poke you |
45-
| `devradar.serverUrl` | `"https://wispy-netti-devradar-c95bfbd3.koyeb.app"` | DevRadar server URL (overridable) |
46-
| `devradar.wsUrl` | `"wss://wispy-netti-devradar-c95bfbd3.koyeb.app/ws"` | DevRadar WebSocket URL (overridable) |
47-
| `devradar.blacklistedFiles` | `[".env", ".env.*", "*.pem", "*.key", ...]` | File patterns to never broadcast |
48-
| `devradar.blacklistedWorkspaces` | `[]` | Workspace folders to never broadcast |
49-
| `devradar.idleTimeout` | `300000` | Time (ms) before going idle (5 mins) |
50-
| `devradar.heartbeatInterval` | `60000` | Heartbeat interval in milliseconds (60s) |
36+
## configuration
5137

52-
## Commands
38+
settings via file > preferences > settings, search for "devradar":
5339

54-
Access via Command Palette (`Ctrl+Shift+P` / `Cmd+Shift+P`):
40+
| setting | default | description |
41+
| ------------------------------ | ------------------------------------ | ----------------------------- |
42+
| devradar.privacyMode | false | hide your activity |
43+
| devradar.showFileName | true | show current file |
44+
| devradar.showProject | true | show project name |
45+
| devradar.showLanguage | true | show language |
46+
| devradar.showStatusBarItem | true | show status bar item |
47+
| devradar.enableNotifications | true | enable notifications |
48+
| devradar.blacklistedFiles | [".env", ".env.*", "*.pem", "*.key"] | files to never broadcast |
49+
| devradar.blacklistedWorkspaces | [] | workspaces to never broadcast |
50+
| devradar.idleTimeout | 300000 | ms before going idle (5 mins) |
51+
| devradar.heartbeatInterval | 60000 | heartbeat interval in ms |
5552

56-
- **DevRadar: Login with GitHub** - Authenticate with your GitHub account
57-
- **DevRadar: Logout** - Sign out of DevRadar
58-
- **DevRadar: Toggle Privacy Mode** - Hide/show your activity
59-
- **DevRadar: Poke Friend** - Send a notification to a friend
60-
- **DevRadar: Set Status** - Manually set your status (online/idle/dnd/offline)
61-
- **DevRadar: Refresh Friends** - Refresh your friends list
53+
## commands
6254

63-
## Privacy
55+
access via command palette (ctrl+shift+p / cmd+shift+p):
6456

65-
DevRadar is built with privacy as a core principle:
57+
- devradar: login with github
58+
- devradar: logout
59+
- devradar: toggle privacy mode
60+
- devradar: poke friend
61+
- devradar: refresh friends
62+
- devradar: view profile
63+
- devradar: set status
64+
- devradar: add friend
65+
- devradar: accept/reject friend request
6666

67-
- **We NEVER transmit your code** - only metadata (filename, language, project name)
68-
- **Blacklist sensitive files** - .env files are hidden by default
69-
- **Privacy Mode** - Go completely invisible when needed
70-
- **You're in control** - customize exactly what you share
67+
## privacy
7168

72-
## Development
69+
- code is never transmitted, only metadata
70+
- sensitive files like .env are hidden by default
71+
- privacy mode available for complete invisibility
72+
- blacklist specific files and workspaces
7373

74-
This extension is part of the DevRadar monorepo.
74+
## development
7575

76-
```bash
77-
# Install dependencies
76+
```
7877
pnpm install
79-
80-
# Build extension
81-
pnpm --filter @devradar/extension build
82-
83-
# Watch mode
84-
pnpm --filter @devradar/extension dev
85-
86-
# Package VSIX
87-
pnpm --filter @devradar/extension package
78+
pnpm build
79+
pnpm watch # watch mode for development
80+
pnpm package # create vsix package
8881
```
8982

90-
## License
83+
## license
9184

92-
MIT - see [LICENSE](../../LICENSE)
85+
agpl-3.0-or-later

0 commit comments

Comments
 (0)