Installing the Sublay CLI
The Sublay CLI copies fully customizable comment components directly into your project as editable source code. You can use it withnpx (no installation required) or install it globally.
Prerequisites
1
Node.js 20.5+
2
A React, React Native, or Expo project
Supported platforms:
- React (Web) ✅
- React Native ✅
- Expo ✅
3
A Sublay project
Create a project in the Sublay Dashboard if you haven’t already.
Using npx (Recommended)
No installation required —npx always uses the latest version:
Global Installation (Optional)
npx:
The rest of this documentation uses
npx @sublay/cli to stay version-agnostic, but sublay works identically when installed globally.Initializing Your Project
Run the init command from your project root:Interactive Prompts
Platform Selection
Platform Selection
Question: “Which platform are you using?”Options: React (Web) · React Native · ExpoDetermines which component variants and dependencies are used.
Styling Preference
Styling Preference
Question: “Which styling approach do you prefer?”Options:
- Tailwind CSS — Uses utility classes (
bg-white dark:bg-gray-800) - Inline Styles — Uses style objects (
style={{ backgroundColor: '...' }})
Component Path
Component Path
Question: “Where should components be installed?”Default:
src/componentsThe directory where CLI components will be copied. You can use any path.What Happens During Init
- Detects your project type from
package.json - Creates
sublay.jsonin your project root - Checks for required peer dependencies and offers to install missing ones
The sublay.json File
After initialization, asublay.json file is created in your project root:
Adding Components
add reads sublay.json, then:
- Downloads the component for your platform and style from the chosen branch.
- Downloads the shared pieces the component is built from (the GIF picker, avatar, skeletons, icons and similar) into a
shared/folder inside the component’s own folder. - Writes the files to
{paths.components}/<component>/, with imports adjusted to the installed layout. If any file fails to download, nothing is written. - Checks your
package.jsonfor the packages the component and its shared pieces need, and offers to install the missing ones.
., _, - and /. If the branch or the component does not exist on it, add stops with a message naming the one that is missing and writes nothing.
Every installed file is yours to edit, the files in shared/ included. Each component gets its own shared/ folder.
Installing Dependencies
add checks for the packages a component needs and prompts to install them if missing. The Sublay SDK for your platform is always one of them:
React (Web):
Troubleshooting
Warning: No package.json found
Warning: No package.json found
add reads your package.json to
check which of the component’s dependencies you already have. If there is
no package.json in the current directory it prints this warning and skips
that check — the component itself is still installed, and the command still
succeeds.Run add from your project root (where package.json lives) to get the
dependency check.CLI hangs or doesn't respond
CLI hangs or doesn't respond
- Press
Ctrl+Cto cancel - Clear npx cache:
npx clear-npx-cache - Try again:
npx @sublay/cli init
Want to change configuration
Want to change configuration
Delete
sublay.json and run npx @sublay/cli init again, or manually edit the file and re-run add commands.Next Steps
Quick Start
Add your first component in under 5 minutes
Configuration Reference
Understand every option in sublay.json
Threaded Comments
Add Reddit-style threaded comments
Social Comments
Add Instagram-style social comments

