📖 Guide

Firebase — Complete Reference

Firebase cheat sheet covering Authentication, Firestore, Realtime Database, Cloud Functions, Storage, Hosting, and emulators.

80 commands across 10 categories

Setup & CLI

CommandDescription
npm install -g firebase-tools
Install Firebase CLI globally
firebase login
Authenticate with your Google account
firebase init
Initialize Firebase in a project (interactive setup)
firebase projects:list
List all Firebase projects
firebase use my-project-id
Set the active project
firebase deploy
Deploy all configured services
firebase deploy --only functions
Deploy only Cloud Functions
firebase serve
Start local server for hosting and functions

Authentication

CommandDescription
import { getAuth, signInWithEmailAndPassword } from 'firebase/auth';
Import auth functions (v9 modular SDK)
const auth = getAuth(app);
Initialize the auth instance
await createUserWithEmailAndPassword(auth, email, password);
Create a new user with email/password
await signInWithEmailAndPassword(auth, email, password);
Sign in with email/password
await signInWithPopup(auth, new GoogleAuthProvider());
Sign in with Google popup
onAuthStateChanged(auth, (user) => { });
Listen to auth state changes (login/logout)
await signOut(auth);
Sign out the current user
auth.currentUser
Get the currently signed-in user (or null)

Firestore

CommandDescription
import { getFirestore, doc, collection } from 'firebase/firestore';
Import Firestore functions
const db = getFirestore(app);
Initialize Firestore instance
await addDoc(collection(db, 'posts'), { title: 'Hello', date: new Date() });
Add a document with auto-generated ID
await setDoc(doc(db, 'posts', 'post-1'), { title: 'Hello' });
Set a document with a specific ID (overwrites)
await setDoc(doc(db, 'posts', 'post-1'), { views: 0 }, { merge: true });
Merge fields into existing document
const snap = await getDoc(doc(db, 'posts', 'post-1'));
e.g. const data = snap.data();
Get a single document by ID
const q = query(collection(db, 'posts'), where('author', '==', 'Alice'), orderBy('date', 'desc'), limit(10));
Build a query with filters, ordering, and limit
const snapshot = await getDocs(q);
e.g. snapshot.forEach(doc => console.log(doc.data()));
Execute a query and get results
onSnapshot(q, (snapshot) => { });
Listen to real-time query updates
await updateDoc(doc(db, 'posts', 'post-1'), { title: 'Updated' });
Update specific fields of a document
await deleteDoc(doc(db, 'posts', 'post-1'));
Delete a document
const batch = writeBatch(db);
e.g. batch.set(ref, data); batch.update(ref2, data2); await batch.commit();
Create a batch for atomic writes

Realtime Database

CommandDescription
import { getDatabase, ref, set, get, onValue } from 'firebase/database';
Import Realtime Database functions
const db = getDatabase(app);
Initialize Realtime Database instance
await set(ref(db, 'users/' + uid), { name: 'Alice' });
Write data at a specific path
const snapshot = await get(ref(db, 'users/' + uid));
Read data once from a path
onValue(ref(db, 'messages'), (snapshot) => { });
Listen for real-time updates at a path
await push(ref(db, 'messages'), { text: 'Hello', ts: Date.now() });
Push a new child with auto-generated key
await update(ref(db, 'users/' + uid), { name: 'Bob' });
Update specific fields at a path
await remove(ref(db, 'users/' + uid));
Remove data at a path

Storage

CommandDescription
import { getStorage, ref, uploadBytes, getDownloadURL } from 'firebase/storage';
Import Storage functions
const storage = getStorage(app);
Initialize Storage instance
const storageRef = ref(storage, 'images/photo.jpg');
Create a reference to a file path
await uploadBytes(storageRef, file);
Upload a file (Blob, File, or Uint8Array)
await uploadString(storageRef, dataUrl, 'data_url');
Upload a base64 or data URL string
const url = await getDownloadURL(storageRef);
Get the public download URL for a file
await deleteObject(storageRef);
Delete a file from Storage
const { items } = await listAll(ref(storage, 'images/'));
List all files in a directory

Cloud Functions

CommandDescription
firebase init functions
Initialize Cloud Functions in your project
const { onRequest } = require('firebase-functions/v2/https');
Import HTTP trigger (v2)
exports.api = onRequest((req, res) => { res.send('Hello'); });
Create an HTTP-triggered function
const { onDocumentCreated } = require('firebase-functions/v2/firestore');
Import Firestore trigger (v2)
exports.onUserCreated = onDocumentCreated('users/{uid}', (event) => { });
Trigger on Firestore document creation
const { onSchedule } = require('firebase-functions/v2/scheduler');
Import scheduled function trigger
exports.cleanup = onSchedule('every 24 hours', async (event) => { });
Run a function on a schedule
firebase deploy --only functions:api
Deploy a single function by name

Hosting

CommandDescription
firebase init hosting
Initialize Firebase Hosting
firebase deploy --only hosting
Deploy only hosting files
firebase hosting:channel:deploy preview
Deploy to a preview channel
firebase hosting:channel:list
List all preview channels
firebase hosting:clone source:channel target:live
Clone a channel to live
firebase.json: { "hosting": { "public": "out", "rewrites": [{ "source": "**", "destination": "/index.html" }] } }
SPA rewrite configuration

Security Rules

CommandDescription
allow read, write: if request.auth != null;
Allow access only to authenticated users
allow read: if true;
Allow public read access
allow write: if request.auth.uid == resource.data.authorId;
Allow write only if user owns the document
allow create: if request.resource.data.keys().hasAll(['title', 'body']);
Validate required fields on create
allow update: if request.resource.data.title is string;
Validate field types
allow read: if get(/databases/$(database)/documents/users/$(request.auth.uid)).data.role == 'admin';
Check another document for role-based access
firebase deploy --only firestore:rules
Deploy only Firestore security rules

Emulators

CommandDescription
firebase emulators:start
Start all configured emulators
firebase emulators:start --only auth,firestore
Start specific emulators
firebase emulators:export ./seed-data
Export emulator data for later import
firebase emulators:start --import=./seed-data
Start emulators with pre-loaded data
connectAuthEmulator(auth, 'http://localhost:9099');
Connect app to Auth emulator
connectFirestoreEmulator(db, 'localhost', 8080);
Connect app to Firestore emulator
http://localhost:4000
Emulator Suite UI (view all emulators in browser)

Common Patterns

CommandDescription
import { initializeApp } from 'firebase/app';
e.g. const app = initializeApp(firebaseConfig);
Initialize Firebase app
import { increment, serverTimestamp, arrayUnion } from 'firebase/firestore';
Firestore field value helpers
await updateDoc(ref, { count: increment(1) });
Atomically increment a field
await updateDoc(ref, { tags: arrayUnion('new-tag') });
Add to array without duplicates
await updateDoc(ref, { updatedAt: serverTimestamp() });
Set field to server timestamp
await runTransaction(db, async (transaction) => { const snap = await transaction.get(ref); transaction.update(ref, { count: snap.data().count + 1 }); });
Run a Firestore transaction for atomic reads + writes
const q = query(collection(db, 'posts'), startAfter(lastDoc), limit(10));
Cursor-based pagination with startAfter
import { getAnalytics } from 'firebase/analytics';
e.g. const analytics = getAnalytics(app);
Initialize Firebase Analytics

More Guides

🌿
Git Commands
Complete Git command reference — from basics to advanced workflows. Searchable, with examples.
📝
Vim Commands
Complete Vim/Vi command reference — modes, motions, editing, search, and advanced features.
🐳
Docker Commands
Complete Docker & Docker Compose command reference — containers, images, volumes, networks, and orchestration.
🔤
Regex Reference
Complete regular expression reference — syntax, patterns, quantifiers, groups, lookaheads, and common recipes.
🐧
Linux Commands
Complete Linux/Bash command reference — file management, text processing, networking, system admin, and shell scripting.
☸️
Kubernetes Commands
Complete Kubernetes & kubectl command reference — pods, deployments, services, configmaps, and cluster management.
🐍
Python Reference
Complete Python reference — syntax, data structures, string methods, file I/O, comprehensions, and common patterns.
🗃️
SQL Reference
Complete SQL reference — queries, joins, aggregation, subqueries, indexes, and database management.
🌐
Nginx Reference
Complete Nginx configuration reference — server blocks, locations, proxying, SSL, load balancing, and caching.
🔐
SSH Commands
Complete SSH reference — connections, key management, tunneling, config, SCP/SFTP, and security hardening.
👷
Jenkins Reference
Complete Jenkins reference — pipeline syntax, Jenkinsfile, plugins, CLI, agents, and CI/CD patterns.
📨
HTTP Headers Reference
Complete HTTP headers reference — request headers, response headers, caching, security, CORS, and content negotiation. Searchable, with examples.
🐘
PostgreSQL Reference
Comprehensive PostgreSQL reference — from connection basics to advanced features like JSONB, full-text search, window functions, and performance tuning.
Async Patterns Reference
Multi-language async/concurrency patterns — JavaScript, Python, Go, Rust, Java, and universal concurrency patterns.
📡
Protobuf & gRPC Reference
Comprehensive reference for Protocol Buffers (proto3) and gRPC — message definitions, services, streaming, and common patterns.
📚
JS Array Methods
Complete JavaScript Array methods reference — creating, searching, transforming, sorting, iterating, and common patterns. Searchable, with examples.
🌊
Tailwind CSS Reference
Complete Tailwind CSS reference — layout, spacing, typography, colors, responsive design, states, and common patterns. Searchable, with examples.
GraphQL Reference
Complete GraphQL reference — schema definition, types, queries, mutations, directives, fragments, and common patterns. Searchable, with examples.
💻
VS Code Shortcuts
Complete VS Code keyboard shortcuts — editing, navigation, search, multi-cursor, terminal, debug, and more. Searchable, with Cmd/Ctrl notation.
🔲
CSS Grid Reference
Complete CSS Grid reference — container properties, item placement, grid functions, and common layout patterns. Searchable, with examples.
📦
CSS Flexbox Reference
Complete CSS Flexbox reference — container properties, item properties, and common layout patterns. Searchable, with examples.
⚛️
React Hooks Reference
Complete React Hooks reference — useState, useEffect, useContext, custom hooks, and common patterns. Searchable, with examples.
🔷
TypeScript Reference
Complete TypeScript reference — types, interfaces, generics, utility types, and advanced patterns. Searchable, with examples.
☁️
AWS CLI Reference
Complete AWS CLI reference — EC2, S3, IAM, Lambda, ECS, RDS, CloudFormation, and common operations.
🐹
Go Reference
Complete Go (Golang) reference — syntax, types, functions, concurrency, error handling, and common patterns.
💠
PowerShell Reference
Complete PowerShell reference — cmdlets, pipelines, scripting, file operations, remote management, and Active Directory.
💾
Redis Commands
Complete Redis command reference — strings, hashes, lists, sets, sorted sets, pub/sub, transactions, and server management.
🏗️
Terraform Commands
Complete Terraform reference — init, plan, apply, state management, modules, workspaces, and HCL syntax.
⚙️
Ansible Commands
Complete Ansible reference — playbooks, modules, inventory, roles, vault, and ad-hoc commands.
🟨
JavaScript
Complete JavaScript reference — variables, types, operators, strings, arrays, objects, functions, async, DOM, ES6+, and more.
🎨
CSS
Complete CSS reference — selectors, box model, positioning, typography, animations, media queries, custom properties, and more.
📄
HTML
Complete HTML reference — document structure, text content, forms, media, semantic elements, accessibility, and more.
Java
Complete Java reference — data types, strings, collections, OOP, interfaces, exceptions, file I/O, streams, lambdas, and more.
💻
Bash
Complete Bash reference — variables, strings, arrays, conditionals, loops, functions, file tests, I/O redirection, process management, and more.
🦀
Rust
Comprehensive Rust language cheat sheet covering ownership, traits, pattern matching, concurrency, and more.
📝
Markdown
Complete Markdown syntax reference for headings, formatting, links, tables, code blocks, and extensions.
📋
YAML
YAML syntax reference covering scalars, collections, anchors, multi-line strings, and common patterns.
🌐
Curl
Curl command-line reference for HTTP requests, authentication, file transfers, debugging, and common API patterns.
Cron
Cron scheduling reference covering syntax, field values, crontab management, and common schedule patterns.
🖥️
Tmux
Terminal multiplexer for managing multiple sessions, windows, and panes from a single terminal.
🔧
Awk
Powerful text processing language for pattern scanning, data extraction, and report generation.
✂️
Sed
Stream editor for filtering and transforming text, line by line.
🔍
Find
Search for files and directories in a directory hierarchy with powerful filtering options.
🔎
Grep
Search text using patterns. Filter lines from files, command output, or streams with regular expressions.
🐘
PHP
Complete PHP cheat sheet covering syntax, OOP, arrays, PDO, and modern PHP 8.x features.
⚙️
C
Complete C programming cheat sheet covering syntax, pointers, memory management, and standard library.
🔷
C++
Complete C++ cheat sheet covering STL containers, OOP, templates, smart pointers, and modern C++ features.
🐬
MySQL
Complete MySQL cheat sheet covering queries, joins, indexes, transactions, and administration.
💅
Sass
Complete Sass/SCSS cheat sheet covering variables, mixins, functions, nesting, and modern module system.
🔐
Chmod
Linux file permission commands and patterns for chmod.
🔢
NumPy
Essential NumPy commands for array manipulation and numerical computing in Python.
🐼
Pandas
Pandas cheat sheet for data manipulation, analysis, and transformation in Python.
🎯
Dart
Dart language cheat sheet covering syntax, types, OOP, null safety, and async patterns.
🔺
Laravel
Laravel PHP framework cheat sheet for routing, Eloquent, Blade, Artisan, and more.
🟩
Node.js
Comprehensive Node.js runtime reference covering modules, file system, HTTP, streams, and more.
Next.js
Next.js App Router reference covering routing, data fetching, server components, and deployment.
🍃
MongoDB
MongoDB reference covering CRUD operations, aggregation, indexes, and administration.
🐳
Docker Compose
Docker Compose reference covering CLI commands, service configuration, networking, volumes, and more.
💲
jQuery
Quick reference for jQuery selectors, DOM manipulation, events, AJAX, and more.
📐
LaTeX
Quick reference for LaTeX document structure, math mode, formatting, and common packages.
🎯
XPath
Quick reference for XPath expressions, axes, predicates, and functions for XML/HTML querying.
Emmet
Quick reference for Emmet abbreviations for lightning-fast HTML and CSS coding.
📦
TOML
Quick reference for TOML configuration file syntax, types, tables, and common patterns.
💎
Prisma
Complete Prisma ORM cheat sheet — schema, queries, migrations, and CLI.
🤖
GitHub Actions
Complete GitHub Actions cheat sheet — workflows, triggers, jobs, and CI/CD patterns.
📦
npm
Complete npm cheat sheet — package management, scripts, publishing, and configuration.
Supabase
Complete Supabase cheat sheet — auth, database, realtime, storage, and edge functions.
🪶
Apache
Complete Apache HTTP Server cheat sheet — virtual hosts, modules, rewrite rules, and SSL.
📡
HTTP Status Codes
Complete reference of all standard HTTP response status codes with descriptions and use cases.
🔤
ASCII Table
Complete ASCII character reference with decimal, hexadecimal, and character values.
🔧
Chrome DevTools
Essential Chrome DevTools shortcuts, commands, and workflows for web developers.
💧
Drizzle ORM
Complete Drizzle ORM reference for schema definition, queries, relations, migrations, and common patterns.
Vercel CLI
Complete Vercel CLI reference for deployment, project management, domains, environment variables, and configuration.
🔄
PM2
Production process manager for Node.js applications with built-in load balancer, monitoring, and zero-downtime reloads.
📺
Screen
GNU Screen terminal multiplexer for persistent sessions, window management, and remote work.
📦
Webpack
Module bundler for JavaScript applications — loaders, plugins, code splitting, optimization, and dev server.
Vite
Next-generation frontend build tool with instant HMR, native ES modules, and optimized production builds via Rollup.

📖 Free, searchable command reference. Bookmark this page for quick access.