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

sf-forcekit

v1.1.0

Published

Universal AI context pack for Salesforce projects. Works with Claude, Cursor, Copilot, Codex, Windsurf, Gemini, Cline, Roo, Amazon Q, Aider, and any LLM.

Readme

forcekit — Universal AI Context for Salesforce Projects

A structured, agent-agnostic context layer for AI-assisted Salesforce development. Drop this forcekit/ directory into any SFDX project and connect it to any AI coding tool. Updated for Salesforce Summer '26 (API v67.0) — secure-by-default Apex, MCP, Agentforce Subagents.


⚡ Quick Install

Run the following command from your SFDX project root to install the context pack and automatically generate all AI tool bridge files:

npx sf-forcekit init --bridge all

This will scaffold the forcekit/ context directory and create configuration files for Claude Code, Cursor, Copilot, Windsurf, Gemini, Cline, Roo Code, Amazon Q, and Aider.


🆕 What's New in v1.1.0 (Summer '26)

  • Secure-by-Default Apex (API v67.0) — Updated all conventions, quality gates, and prompts for the v67.0 paradigm where WITH USER_MODE and with sharing are automatic defaults. WITH SECURITY_ENFORCED is marked deprecated.
  • Agentforce Subagents — Updated terminology (Topics → Subagents), added MCP Server integration guide, Agent Script, Agentforce Builder, Testing API.
  • MCP Hosted Servers (Headless 360) — New section covering GA hosted MCP servers for connecting external AI clients to Salesforce.
  • API Version Maintenance — Updated retirement schedule: v21–v30 retired, v31–v40 retiring Summer '28, SOAP login() retiring Summer '27.
  • Updated Quality Gates — Added checks for deprecated WITH SECURITY_ENFORCED and justified WITH SYSTEM_MODE usage.

🧭 Compatibility & Bridge Files

ForceKit automatically links with your preferred AI coding assistants using lightweight bridge files in your project root:

| Assistant / IDE | Bridge File Generated | Setup Command | | :--- | :--- | :--- | | All Tools | All of the below | npx sf-forcekit init --bridge all | | Claude Code | CLAUDE.md | npx sf-forcekit init --bridge claude | | Cursor | .cursor/rules/salesforce-context.mdc | npx sf-forcekit init --bridge cursor | | GitHub Copilot | .github/copilot-instructions.md | npx sf-forcekit init --bridge copilot | | Windsurf | .windsurf/rules/salesforce-context.md | npx sf-forcekit init --bridge windsurf | | Gemini / Antigravity | .gemini/instructions.md | npx sf-forcekit init --bridge gemini | | Cline | .clinerules/salesforce-context.md | npx sf-forcekit init --bridge cline | | Roo Code | .roo/rules/salesforce-context.md | npx sf-forcekit init --bridge roo | | Amazon Q | .amazonq/rules/salesforce-context.md | npx sf-forcekit init --bridge amazonq | | Aider | .aider.conf.yml | npx sf-forcekit init --bridge aider |


📁 Directory Structure

forcekit/
├── rules.md                   ← 🤖 AGENT START HERE — Master behavior rules
├── governance.md              ← 🛡️ SECURITY & GOVERNANCE — Metadata ownership & HITL rules
├── source-of-truth.md         ← 🚫 ANTI-HALLUCINATION — Salesforce CLI verifications
├── inventory.md               ← 🤖 AUTO-UPDATED — Registry of active metadata
├── conventions.md             ← Coding standards (Apex, LWC, Flows, Sharing, Security)
├── current-state.md           ← 🤖 AUTO-UPDATED — Live session log, tasks & changes
├── org-context.md             ← Target org type, alias, edition, and limits
├── deployment.md              ← Deploy/retrieve workflows & CI/CD patterns
├── quality-gates.md           ← Validation checklists & pre-deploy checks
├── known-issues.md            ← Platform bugs and workarounds
├── prompts/                   ← Scoped instructions per task (apex, lwc, flows, testing)
├── scripts/                   ← Automation scripts (install, state updates, static checks)
└── templates/                 ← Boilerplate starters (TriggerHandler, Service, Selector)

🤖 Workflow

For Developers

  1. Run npx sf-forcekit init --bridge all.
  2. Configure your org alias in forcekit/org-context.md.
  3. Commit the forcekit/ directory and generated bridge files.

For AI Agents

  1. Read forcekit/rules.md first to load behavior protocols.
  2. Verify Salesforce metadata using forcekit/inventory.md before referencing.
  3. Automatically update forcekit/current-state.md with session goals, blockers, and changed files.

🛠️ CLI Automation Scripts

The included helper script automates context management for your agent:

# Auto-scan project and update inventory.md
python3 forcekit/scripts/update_state.py scan

# Perform static linting (hardcoded IDs, missing USER_MODE, DML in loops)
python3 forcekit/scripts/update_state.py check

# Sync active org details and daily governor limits
python3 forcekit/scripts/update_state.py sync-org --target-org <alias>

# Query the org to verify if specific metadata exists
python3 forcekit/scripts/update_state.py verify --type field --object Account --name Name

# Cache active schema definitions to prevent hallucinations
python3 forcekit/scripts/update_state.py cache-schema

# Start & End session logging
python3 forcekit/scripts/update_state.py session-start --agent "Agent" --goal "Task Goal"
python3 forcekit/scripts/update_state.py session-end --summary "What was done" --files "force-app/..."

📄 License

MIT