Memos is built with a curated tech stack. It is optimized for developer experience and is very easy to start working on the code:
Frontend | Backend |
---|---|
React | Go |
Tailwind CSS | SQLite |
Vite | |
pnpm |
(Using PowerShell)
pull source code
git clone https://github.com/usememos/memos
# or
gh repo clone usememos/memos
cd into the project root directory
cd memos
start backend using air (with live reload)
air -c .\scripts\.air-windows.toml
start frontend dev server
cd web; pnpm i; pnpm dev
Memos should now be running at http://localhost:3001 and changing either frontend or backend code would trigger live reload.
Frontend must be built before backend. The built frontend must be placed in the backend ./server/frontend/dist directory. Otherwise, you will get a "No frontend embedded" error.
Move-Item "./server/frontend/dist" "./server/frontend/dist.bak"
cd web; pnpm i --frozen-lockfile; pnpm build; cd ..;
Move-Item "./web/dist" "./server/" -Force
go build -o ./build/memos.exe ./bin/memos/main.go
Start development servers easier by running the provided start.ps1
script.
This will start both backend and frontend in detached PowerShell windows:
.\scripts\start.ps1
Produce a local build easier using the provided build.ps1
script to build both frontend and backend:
.\scripts\build.ps1
This will produce a memos.exe file in the ./build directory.