# RSPFx
SPFx-compatible build toolchain. Replaces Heft + webpack + gulp. Vite default, Rsbuild and Rspack ready — same manifests, same .sppkg.
Repo: https://github.com/master8848/rspfx
Docs site: https://rspfx.mbsks.me
npm: @mbsks/rspfx-cli
All paths below are relative to repo root. On the docs site they live under /docs/<name>. For raw markdown use the GitHub path, for rendered docs use the site path.
RSPFx reads config/config.json, config/package-solution.json and src/*/*.manifest.json and produces AMD bundles plus .sppkg identical to official tooling. See README.md for quick start and ARCHITECTURE.md for the full plan.
Getting Started
docs/why-rspfx.md : Why a drop-in toolchain - same manifests and outputs, faster builds, no Heft rig
docs/getting-started.md : Install, scaffold with rspfx new, rspfx dev on :4321, rspfx package to .sppkg
Guide
docs/commands.md : CLI reference for rspfx new, migrate, dev, build, package, deploy, doctor, analyze, clean. Flags, env vars RSPFX_LOG_LEVEL, SPFX_SERVE_TENANT_DOMAIN, RSPFX_ACCESS_TOKEN, RSPFX_APP_CATALOG_URL, bundler config loading
docs/project-structure.md : File path reference for CLI - tree, config, manifests, outputs
docs/building-packages.md : What rspfx build and package produce - dist, release, sharepoint/solution/*.sppkg, ZIP layout
docs/deployment.md : App catalog upload, page install, Teams and Outlook, CDN
docs/teams-outlook-install.md : teams/manifest.json and icons bundled under ClientSideAssets/teams in .sppkg
docs/multi-webpart.md : Multiple web parts, extensions and libraries in one .sppkg
docs/frameworks.md : Framework-agnostic core via FrameworkPreset - React, Vue, Svelte, Solid, Preact built-in, custom via registerPlugin
docs/custom-framework.md : One-file FrameworkPreset plus definePlugin and registerPlugin in packages/plugin-api/src/registry.ts for any other framework
docs/styling.md : CSS and SCSS handling - Vite preferred, PostCSS, CSS Modules and SCSS out of the box
docs/favicon-and-assets.md : assets/favicon.svg for localhost:4321 preview, per-webpart assets
docs/fast-refresh.md : State-preserving HMR via rspfx dev --refresh, fallback to reload
Migration
docs/migration-from-spfx.md : Conventions carry over as-is, entry point to detailed migration
docs/migrating-from-gulp-heft.md : Definitive guide - rspfx migrate --dry-run, backup .rspfx/migrate-backup.json, --revert
docs/migration-case-study.md : Real 4-webpart 178-file Fluent UI 8 plus PnPjs migration with zero web part code changes - PnP Modern Search
docs/hybrid-dev.md : rspfx dev on official SPFx projects without migration - synthetic config, production stays on Heft and Gulp
docs/upgrading-spfx-version.md : One-line spfxVersion in vite.config.ts plus bun update for 1.20 to 1.23
docs/why-not-to-migrate.md : Honest decision guide - when to stay on gulp and Heft
Reference
docs/architecture.md : Pipeline overview, package map, @mbsks/rspfx-core is zero-deps, bundler flow
docs/internal-api.md : Exact public surfaces for packages/* - ESM only, strict TS
docs/compatibility.md : Same artifact formats as official SPFx, SPFx version matrix 1.20 to 1.23, Node 20+, all package managers
docs/performance.md : Benchmark methodology and Rspack-based speed on real examples, see bench/README.md
docs/roadmap.md : Phases M0 to M1 complete, links to roadblocks
docs/roadblocks.md : Pre-1.0 blockers, real-tenant gate status
Project docs
README.md : RSPFx overview and quick start, principles, rspfx commands, same-manifest for Heft and Gulp, supported targets
ARCHITECTURE.md : Package map and design rationale
CONTRIBUTING.md : Publishing and tagging - scripts/publish.mjs, CHANGELOG.md with ## [X.Y.Z], vX.Y.Z tags, dist-tags
CHANGELOG.md : Version history, one ## [X.Y.Z] - YYYY-MM-DD per version
skills/rspfx/SKILL.md : Agent skill - install with npx skills add master8848/rspfx
Internal - not in sidebar, private, for contributors and agents
docs/supporting-a-new-spfx-version.md : Maintainer-only harvest procedure
docs/real-tenant-validation.md : Manual tenant gate log
docs/AGENTS.md : Documentation standards - tier taxonomy, fact homes, writing rules, word budgets, slop checklist, Agent Note verification
Notes
Docs site sidebar is under /docs - docs-web/docs is a symlink to ../docs. The three files above are hidden from nav and search via private, search false, noindex and sitemap filtering but are still servable at /docs/<name> if visited directly.
Raw text index is at /llms.txt and alias /llm.txt, linked in top nav and via link rel alternate type text/plain for AI agents.
Install CLI: npm i -g @mbsks/rspfx-cli (or pnpm add -g / yarn global add / bun add -g / deno install -g) then rspfx new <name> -> rspfx dev -> rspfx package
Spec: llmstxt.org — file at /llms.txt and /llm.txt for compatibility. Designed page at /llms.