npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@intentsolutionsio/jeremy-firebase

v2.0.0

Published

Firebase platform expert for Firestore, Auth, Functions, and Vertex AI integration

Readme

jeremy-firebase

Production-ready Firebase platform operations plugin with Vertex AI Gemini integration.

Overview

Comprehensive automation for Firebase services including Authentication, Cloud Storage, Hosting, Cloud Functions, Analytics, and AI-powered features using Vertex AI Gemini.

Features

Core Firebase Services

  • Firebase Authentication - User management, custom claims, OAuth providers
  • Cloud Firestore - Document CRUD, queries, security rules, indexes
  • Cloud Storage - File uploads, security rules, signed URLs
  • Firebase Hosting - Static site deployment, custom domains, SSL
  • Cloud Functions - TypeScript/JavaScript functions, HTTP/callable/scheduled triggers
  • Firebase Analytics - Event logging, user properties, conversion tracking

AI Integration (Vertex AI Gemini)

  • Embeddings Generation - Text-to-vector for semantic search
  • Content Analysis - Gemini API for content moderation, classification
  • Chat Integration - Conversational AI with Firebase data context
  • Model Deployment - Custom AI models with Firebase ML
  • RAG Implementation - Retrieval-Augmented Generation with Firestore vector search

DevOps & Operations

  • Firebase CLI Automation - Project init, deployment, emulator control
  • Environment Management - Multiple Firebase projects (dev, staging, prod)
  • Security Rules Testing - Automated testing of Firestore and Storage rules
  • Performance Monitoring - Integration with Firebase Performance Monitoring
  • Remote Config - Feature flags and A/B testing setup

Installation

/plugin install jeremy-firebase@claude-code-plugins-plus

Prerequisites

  • Firebase CLI: npm install -g firebase-tools
  • Node.js 18+
  • Google Cloud Project with Firebase enabled
  • Vertex AI API enabled (for AI features)

Quick Start

Initialize Firebase Project

firebase login
firebase init

Deploy to Firebase

Use the slash commands:

/firebase-deploy-hosting
/firebase-deploy-functions
/firebase-deploy-rules

Environment Configuration

Create .env.local:

FIREBASE_PROJECT_ID=your-project-id
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
VERTEX_AI_LOCATION=us-central1

Available Commands

The plugin provides slash commands for common Firebase operations:

  • /firebase-init-project - Initialize new Firebase project
  • /firebase-deploy-hosting - Deploy static site to Firebase Hosting
  • /firebase-deploy-functions - Deploy Cloud Functions
  • /firebase-deploy-rules - Deploy Firestore and Storage security rules
  • /firebase-auth-setup - Configure Firebase Authentication providers
  • /firebase-vertex-ai-embeddings - Generate embeddings with Vertex AI
  • /firebase-firestore-query - Execute Firestore queries
  • /firebase-storage-upload - Upload files to Cloud Storage

See /firebase-help for complete command list.

Agent Skills

This plugin includes Agent Skills that automatically activate based on trigger phrases:

firebase-vertex-ai

Triggers: "integrate vertex ai", "add gemini to firebase", "generate embeddings"

Automatically sets up Vertex AI Gemini integration with Firebase, including:

  • Content moderation for user-generated content
  • Semantic search with embeddings
  • Conversational AI chatbots
  • Image analysis with Gemini Vision

Architecture

Firebase Project
├── Authentication (user management)
├── Firestore (NoSQL database)
├── Cloud Storage (file storage)
├── Cloud Functions (serverless backend)
├── Firebase Hosting (static site hosting)
└── Vertex AI Integration
    ├── Gemini 2.0 Flash (content analysis)
    ├── Text Embeddings (semantic search)
    └── Custom Models (ML deployment)

Example Use Cases

1. User Registration with AI Content Moderation

// Cloud Function triggered on user creation
exports.moderateUserProfile = functions.firestore
  .document('users/{userId}')
  .onCreate(async (snap, context) => {
    const {VertexAI} = require('@google-cloud/vertexai');
    const vertex = new VertexAI({project: 'PROJECT_ID', location: 'us-central1'});
    const model = vertex.getGenerativeModel({model: 'gemini-2.5-flash'});

    const userBio = snap.data().bio;
    const result = await model.generateContent(`Moderate this user bio for inappropriate content: ${userBio}`);

    if (result.response.text().includes('INAPPROPRIATE')) {
      await snap.ref.update({status: 'pending_review'});
    }
  });

2. Semantic Search with Firestore

// Generate embeddings and store in Firestore
const embedding = await generateEmbedding(documentText);
await firestore.collection('documents').add({
  text: documentText,
  embedding: embedding,
  createdAt: admin.firestore.FieldValue.serverTimestamp()
});

// Query by similarity
const queryEmbedding = await generateEmbedding(searchQuery);
const results = await vectorSearch(queryEmbedding, 10);

3. AI-Powered Chatbot

// Cloud Function for chat endpoint
exports.chat = functions.https.onCall(async (data, context) => {
  const {VertexAI} = require('@google-cloud/vertexai');
  const vertex = new VertexAI({project: 'PROJECT_ID'});
  const model = vertex.getGenerativeModel({model: 'gemini-2.5-flash'});

  // Get conversation history from Firestore
  const history = await getConversationHistory(context.auth.uid);

  const result = await model.generateContent({
    contents: [...history, {role: 'user', parts: [{text: data.message}]}]
  });

  return {reply: result.response.text()};
});

Security Best Practices

Firestore Security Rules

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    function isAuthenticated() {
      return request.auth != null;
    }

    function isOwner(userId) {
      return isAuthenticated() && request.auth.uid == userId;
    }

    match /users/{userId} {
      allow read: if isOwner(userId);
      allow write: if isOwner(userId);
    }
  }
}

Storage Security Rules

rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /users/{userId}/{allPaths=**} {
      allow read: if request.auth != null;
      allow write: if request.auth.uid == userId
                   && request.resource.size < 10 * 1024 * 1024; // 10MB limit
    }
  }
}

Performance Optimization

  • Batch Firestore Operations - Use batch writes for multiple document updates
  • Firebase Functions Cold Starts - Implement function warming strategies
  • Vertex AI Rate Limits - Implement exponential backoff and retry logic
  • Storage Upload Optimization - Use resumable uploads for large files
  • Hosting Cache Headers - Configure proper caching in firebase.json

Troubleshooting

Common Issues

Issue: Firebase CLI not found

npm install -g firebase-tools

Issue: Authentication failed

firebase login --reauth

Issue: Vertex AI quota exceeded

  • Check quotas in GCP Console
  • Implement rate limiting in Cloud Functions
  • Use caching to reduce API calls

Issue: Firestore permissions denied

  • Check security rules in Firebase Console
  • Verify user is authenticated
  • Review IAM permissions

Configuration

firebase.json

{
  "firestore": {
    "rules": "firestore.rules",
    "indexes": "firestore.indexes.json"
  },
  "functions": {
    "source": "functions"
  },
  "hosting": {
    "public": "public",
    "ignore": ["firebase.json", "**/.*", "**/node_modules/**"]
  },
  "storage": {
    "rules": "storage.rules"
  }
}

Documentation

For detailed plugin documentation and Firebase integration guides, see:

  • Plugin documentation: 000-usermanuals/
  • Firebase docs: https://firebase.google.com/docs
  • Vertex AI docs: https://cloud.google.com/vertex-ai/docs

License

MIT License - See LICENSE file

Author

Jeremy Longshore

  • GitHub: https://github.com/jeremylongshore
  • Plugin Marketplace: https://claudecodeplugins.io

Support

  • Issues: https://github.com/jeremylongshore/claude-code-plugins/issues
  • Discord: https://discord.com/invite/6PPFFzqPDZ (#claude-code channel)

Version: 1.0.0 Category: Integration Plugin Type: AI Instruction + Agent Skills Last Updated: 2025-11-13