A scalable monorepo platform for swordstosilenced.com built with TypeScript, optimized for rapid development and deployment.
swords2silenced/
βββ apps/ # Web applications and frontends
β βββ web/ # Main website (swordstosilenced.com)
βββ packages/ # Shared libraries and utilities
β βββ core/ # Core business logic
β βββ ui/ # Reusable UI components
β βββ api/ # API clients and utilities
βββ tools/ # Development tools and scripts
β βββ cli/ # CLI tools
β βββ generators/ # Code generators
β βββ mcp/ # MCP skills workspace
βββ docs/ # Documentation
- Node.js 18+
- npm 9+
# Install dependencies
npm install
# Build all packages
npm run build
# Run development servers
npm run dev
# Run tests
npm run test- Fixed Next.js deploy build regression by moving API contract tests from
src/pages/apitosrc/tests/apiso route validators only evaluate real API handlers. - Fixed malformed workspace manifests that blocked npm parsing in CI and local hooks.
- Restored web lint/build stability by resolving merge artifacts and removing unavailable PostCSS plugin requirements.
- Hardened GitHub deploy + CodeQL workflows for current action versions and reliable execution paths.
- Added a new secondary page at
/testimonyto present a structured personal testimony connected from the homepage. - Added
CHANGELOG.mdand bumped project version to0.1.1. - Re-validated full root quality gates (
test,lint,type-check,build) during failed-testing continuation; all local checks are currently green.
- main: Production-ready code
- develop: Integration branch for features
- feature/: Feature branches (e.g.,
feature/auth-system) - bugfix/: Bug fix branches (e.g.,
bugfix/login-issue) - hotfix/: Production hotfixes (e.g.,
hotfix/critical-security)
See BRANCHING_STRATEGY.md for details.
apps/web is configured for Tailwind CSS + PostCSS integration (Tailwind directives are enabled in src/styles/globals.css).
# install workspace deps (run in network-permitted environment)
npm install
# run web app
npm run dev --workspace=apps/webThis project uses npm workspaces. Each workspace has its own package.json:
# Run script in specific workspace
npm run dev --workspace=apps/web
# Install dependency in workspace
npm install axios --workspace=packages/apinpm run dev- Start development serversnpm run build- Build all packagesnpm run test- Run all testsnpm run lint- Lint all packagesnpm run format- Format code with Prettiernpm run type-check- Run TypeScript type checkingnpm run build --workspace=@swords2silenced/mcp-skills- Build MCP skills workspacenpm run test --workspace=@swords2silenced/mcp-skills- Run MCP tests (configured to pass when no test files exist)
Deployments are configured through vercel.json in each app:
vercel deployDomain: swordstosilenced.com
- Nameservers: Cloudflare
- A Records: Pointing to Vercel deployment
npm run test # Run all tests
npm run test:watch # Watch mode
npm run coverage # Generate coverage report- Setup Guide - Local development setup
- Deployment Summary - Complete project overview
- Branching Strategy - Git Flow workflow
- Contributing Guidelines - How to contribute
- Deployment Guide - Vercel deployment
- DNS & Cloudflare Setup - GoDaddy to Cloudflare migration
- Skills Integration - Install and use skills
- Agent Handoff - Current blockers, priorities, and next-agent continuity checklist
Please follow our Contributing Guidelines.
MIT - See LICENSE for details.
- Probe URL for hosting health checks:
https://<your-domain>/status(rewritten by Next.js to/api/status). - Response contract always includes
status,checks,notes, andversion(plus diagnostics and timing metadata for GET requests). - Non-GET methods return HTTP
405withAllow: GETand the same top-level contract keys (status,checks,notes,version). - Set
*_EXPIRES_ATenvironment values alongside rotated secrets to keep diagnostics accurate.