progressive-centralization-starter
PassBootstrap Bun-based single-file frontends with Filebase/IPFS, ENS, and Arweave/ArNS deploy tooling. Use when creating a progressive centralization starter project, setting up .env-driven deploys, or when the user asks to "just do it" for IPFS/ENS/Arweave hosting.
Install Skill
Skills are third-party code from public GitHub repositories. SkillHub scans for known malicious patterns but cannot guarantee safety. Review the source code before installing.
Install globally (user-level):
npx skillhub install Swader/proce/progressive-centralization-starterInstall in current project:
npx skillhub install Swader/proce/progressive-centralization-starter --projectSuggested path: ~/.claude/skills/progressive-centralization-starter/
AI Review
Scores 65. Solid web3 deployment skill that covers the IPFS → ENS → Arweave stack comprehensively. The niche audience (web3 devs using progressive centralization pattern) limits UF score, but within that niche it's genuinely useful.
SKILL.md Content
---
name: progressive-centralization-starter
description: Bootstrap Bun-based single-file frontends with Filebase/IPFS, ENS, and Arweave/ArNS deploy tooling. Use when creating a progressive centralization starter project, setting up .env-driven deploys, or when the user asks to "just do it" for IPFS/ENS/Arweave hosting.
---
# Progressive Centralization Starter
## Scaffold a new project
- `bun run init -- --template page --dest ./my-page`
- `bun run init -- --template web3 --dest ./my-web3`
## Quick start (inside a template project)
1. `bun install`
2. `cp .env.example .env`
3. Fill `.env`
4. `bun run default <template>` (optional)
5. `bun run build <template>` (or `bun run build` if default set)
6. `bun run deploy <template>` (or `bun run deploy` if default set)
7. `bun run preview <template>` (optional)
8. `bun run dev` (local Anvil + deploy + build)
## Configuration essentials
- Townsquare app: `APP_CHAINS_JSON`, `APP_DEFAULT_CHAIN_ID`, `TOWNSQUARE_ADDRESSES_JSON`
- Filebase IPFS: `FILEBASE_BUCKET`, `FILEBASE_ROOT_KEY`, `FILEBASE_ROOT_SECRET`
- ENS: `ENS_NAME`, `PRIVATE_KEY`, `APP_CHAINS_JSON`, `ENS_CHAIN_ID` (or `ENS_RPC_URL`), optional `ENS_NAMEWRAPPER_ADDRESS`
- Optional Arweave/ArNS: `ARWEAVE_KEY` / `ARWEAVE_KEYFILE`, `ARNS_NAME` or `ARNS_PROCESS_ID`
## Deploy flags
- `--dry-run` (build + upload only)
- `--skip-ens` (skip ENS update)
- `--cid <cid>` (use an existing CID)
- `--name <ens>` (override ENS name)
- `--no-resolver-switch` (avoid auto-switching resolver)
## Customize the frontend
- `templates/<template>/src/main.ts`: UI logic
- `templates/<template>/src/styles.css`: styles
- `templates/<template>/src/template.html`: metadata + placeholders
- `templates/<template>/public/`: optional static assets copied into `dist/`
- `contracts/Townsquare.sol`: on-chain template contract
## Guardrails
- Use Bun for all commands; do not use npm or Node.
- Never commit `.env` or wallet keys.