daily.dev App Suite
Everything you see on daily.dev 👀This monorepo contains daily.dev's application suite. The repo includes the web app and the extension, along with shared components for the two. By using a monorepo approach, we can easily share code and maintain consistency across the different parts of the application suite. The decision was made to allow faster iterations and to keep features parity in both platforms.
Technologies
- Node v24.18 (a
.nvmrcis presented for nvm users). - pnpm 10.33.4 for managing the monorepo and dependencies.
Projects
packages
contains a collection of smaller projects or libraries that are used across the daily.dev application suite. Here's a brief overview of each package mentioned:
- ### eslint-config
- ### eslint-rules
- ### extension
- ### prettier-config
- ### shared
- ### storybook
- ### webapp
Want to Help?
So you want to contribute to daily.dev app suite and make an impact, we are glad to hear it. :heart_eyes:
Before you proceed we have a few guidelines for contribution that will make everything much easier.
We would appreciate if you dedicate the time and read them carefully: CONTRIBUTING.md
Bootstrap Project
After cloning the project, please make sure to run the following commands to bootstrap the project:
nvm use
corepack enable
corepack prepare [email protected] --activate
pnpm install
Dependency Supply-Chain Hardening
This repo delays newly published package versions for seven days via minimumReleaseAge: 10080 in pnpm-workspace.yaml. Keep using the pinned pnpm version from package.json; older pnpm versions do not enforce this setting.
Keep pnpm-lock.yaml committed, use frozen-lockfile installs in CI, and avoid adding git or tarball dependencies unless they are reviewed explicitly. If an urgent dependency update must bypass the cooldown, add a temporary minimumReleaseAgeExclude entry in pnpm-workspace.yaml, review the package contents/provenance first, and remove the exception after the release ages out.
Run Extension Locally
Example for Chrome:
- Run
pnpm --filter extension devin the root directory - Open Chrome and go to
chrome://extensions/ - Enable
Developer modein the top right corner - Click on
Load unpackedand select thepackages/extension/dist/chromefolder - The extension should be loaded and you should be able to see it in the extensions list
- Enable the extension, don't forget to disable it when you are done
- Disable the production extension if you have it installed as it might cause conflicts