Skillshub appfolio-local-dev-loop
install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/jeremylongshore/claude-code-plugins-plus-skills/appfolio-local-dev-loop" ~/.claude/skills/comeonoliver-skillshub-appfolio-local-dev-loop && rm -rf "$T"
manifest:
skills/jeremylongshore/claude-code-plugins-plus-skills/appfolio-local-dev-loop/SKILL.mdsource content
appfolio local dev loop | sed 's/\b(.)/\u\1/g'
Overview
Local development workflow for AppFolio API integration with mock data and sandbox testing.
Instructions
Step 1: Project Setup
mkdir appfolio-integration && cd appfolio-integration npm init -y npm install axios dotenv typescript @types/node npm install -D vitest msw # For API mocking
Step 2: Mock Server for Development
// src/dev/mock-server.ts import express from "express"; const app = express(); app.use(express.json()); const mockProperties = [ { id: "1", name: "Sunset Apartments", address: { street: "123 Sunset Blvd", city: "Los Angeles", state: "CA" }, property_type: "residential", unit_count: 24 }, { id: "2", name: "Downtown Office", address: { street: "456 Main St", city: "San Francisco", state: "CA" }, property_type: "commercial", unit_count: 8 }, ]; app.get("/api/v1/properties", (req, res) => res.json(mockProperties)); app.get("/api/v1/tenants", (req, res) => res.json([ { id: "t1", first_name: "Jane", last_name: "Smith", email: "jane@example.com", unit_id: "u1" }, ])); app.get("/api/v1/leases", (req, res) => res.json([ { id: "l1", unit_id: "u1", start_date: "2025-01-01", end_date: "2026-01-01", rent_amount: 2500, status: "active" }, ])); app.listen(3001, () => console.log("Mock AppFolio API on :3001"));
Step 3: Dev Scripts
{ "scripts": { "dev:mock": "tsx src/dev/mock-server.ts", "dev:test": "APPFOLIO_BASE_URL=http://localhost:3001/api/v1 tsx src/hello-world.ts" } }