From appfolio-pack
Sets up Node.js project with TypeScript, Express mock server for AppFolio property management API endpoints, and dev scripts for local integration testing.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin appfolio-packThis skill is limited to using the following tools:
Local development workflow for AppFolio API integration with mock data and sandbox testing.
Provides reference architecture for AppFolio property management API integration using TypeScript/Node.js client with auth/retry/cache, React dashboard, incremental sync, and webhooks.
Sets up Apollo.io local dev workflow with sandbox keys, axios client for logged requests, and MSW mocks for offline API testing.
Generates mock API servers from OpenAPI specs with Faker.js data, stateful CRUD, latency, errors, and request recording for development/testing.
Share bugs, ideas, or general feedback.
Local development workflow for AppFolio API integration with mock data and sandbox testing.
mkdir appfolio-integration && cd appfolio-integration
npm init -y
npm install axios dotenv typescript @types/node
npm install -D vitest msw # For API mocking
// 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"));
{
"scripts": {
"dev:mock": "tsx src/dev/mock-server.ts",
"dev:test": "APPFOLIO_BASE_URL=http://localhost:3001/api/v1 tsx src/hello-world.ts"
}
}