Skip to content

RicardoOliver/Nextify.js

Nextify.js

Nextify.js

Framework React modular com roteamento baseado em arquivos, SSR e runtime de dados com cache por tags

CI Status npm version License Release PRs Welcome

FeaturesQuick StartDocumentationArchitectureBenchmarksContributing


Overview

Nextify.js é um framework React open source focado em arquitetura modular, DX e performance previsível. O projeto está organizado em monorepo e evolui por pacotes independentes (core, CLI, build, dev server e adapters).

npx create-nextify@latest my-app

Estado atual do projeto (v0.2.4)

  • ✅ Monorepo com pacotes versionados em 0.2.4.
  • ✅ Runtime de dados com loader/action e invalidação por tags.
  • ✅ Rendering com islands e shell de hidratação.
  • ✅ Build com relatório de performance budget.
  • ✅ Adapters dedicados para AWS Lambda e Cloudflare Workers.

Atualizações implementadas em 29 de março de 2026

  • CLI: deploy Cloudflare em um comando com nextify deploy cloudflare, incluindo bootstrap automático de wrangler.toml e dist/_worker.js quando ausentes.
  • CLI: migração assistida com comandos de pré-check de compatibilidade e inicialização de plano de migração (nextify check e nextify init).
  • Core: camada progressiva de compatibilidade Next-style APIs para facilitar adoção incremental.
  • CI: workflow de revisão automática de PR com IA para reforçar quality gates no repositório.
  • Documentação estratégica expandida para benchmark público contínuo e plano de reaproveitamento técnico do projeto Vinext.

Features

Capacidades implementadas

  • Roteamento baseado em arquivos — com segmentos dinâmicos
  • SSR com streaming — integração com React 18+
  • Runtime de dadosdefineLoader, defineAction e execução no servidor
  • Cache por tagsinvalidateDataTags para invalidação granular
  • Middleware — interceptação de request/response no ciclo de render
  • API Routes — rotas server-side para endpoints da aplicação

Experiência de desenvolvimento

  • CLI unificadacreate-nextify para bootstrap e fluxo local
  • Dev server dedicado — hot reload e validação rápida no ciclo de dev
  • Build modular — geração de artefatos e manifests por pacote
  • Adapters de deploy — suporte específico para edge/serverless
  • Workspace npm — padronização de scripts para build/test/typecheck
  • E2E de referência — cobertura ponta-a-ponta com app de referência

Quick Start

Criar um novo projeto

Você pode iniciar um app Nextify.js com diferentes gerenciadores de pacote:

# npm (npx)
npx create-nextify@latest my-app

# npm (create)
npm create nextify@latest my-app

# pnpm
pnpm create nextify@latest my-app

# yarn
yarn create nextify my-app

# bun
bunx create-nextify@latest my-app

Iniciar ambiente local

# Acesse a pasta do projeto
cd my-app

# Instale as dependências
npm install

# Inicie o servidor de desenvolvimento
npm run dev

One-command Deploy (Cloudflare Workers)

Se seu projeto já usa o adapter Cloudflare, você pode preparar configuração + build + deploy com um único comando:

nextify deploy cloudflare

Esse comando cria wrangler.toml e dist/_worker.js automaticamente (quando ainda não existirem), roda o build e em seguida executa wrangler deploy.

Project Structure

my-app/
├── app/
│   ├── layout.tsx          # Root layout
│   ├── page.tsx            # Home page
│   └── blog/
│       └── [slug]/
│           └── page.tsx    # Dynamic route
├── api/
│   └── users/
│       └── route.ts        # API endpoint
├── middleware.ts           # Edge middleware
├── public/                 # Static assets
├── nextify.config.ts       # Configuration
└── package.json

Documentation

Resource Description
Architecture Technical deep-dive into framework internals
Developer Guide Complete guide for building with Nextify.js
API Reference Full API documentation
Roadmap Public roadmap and planned features
Open Benchmark Methodology Reproducible comparative benchmark process
Assisted Upgrade Playbook Guided upgrade flow for breaking changes
Contributing Guidelines for contributors
Security Security policies and reporting

Architecture

Nextify.js é organizado como monorepo com pacotes especializados:

nextify/
├── packages/
│   ├── core/          # Routing, rendering, cache, middleware, plugins
│   ├── cli/           # Command-line interface (dev, build, start)
│   ├── build/         # Build pipeline and manifest generation
│   └── dev-server/    # Development runtime with HMR
│   ├── adapter-aws-lambda/
│   ├── adapter-cloudflare/
│   └── adapter-experimental/
├── examples/          # Reference implementations
└── docs/              # Technical documentation

Rendering Strategies

Strategy Use Case Cache Behavior
SSG Static content, docs, landing pages Build-time, immutable
ISR Catalogs, blogs, product pages Stale-while-revalidate
SSR Personalized, real-time content Per-request
Edge SSR Low-latency global rendering Edge POP cache

Request Flow

User Request → CDN/Edge POP → Middleware → Router → Cache Lookup
                                                        ↓
                              Response ← Render Engine ← Cache Miss

Benchmarks

Performance comparison with reference applications:

Metric Nextify.js Industry Baseline
Cold Start < 50ms 200-500ms
TTFB (SSR) < 100ms 300-800ms
Build Time (1000 pages) < 30s 60-120s
HMR Latency < 50ms 100-500ms
Bundle Size (minimal) < 50KB 70-150KB

Benchmarks measured on reference applications. Results may vary based on application complexity.

Reproduce and publish the comparative report locally:

npm run benchmark:synthetic
npm run benchmark:comparative

Examples

Explore production-ready examples in the /examples directory:

Example Description
Blog Content-focused application with ISR
E-commerce Storefront Product catalog with dynamic routing
SaaS Dashboard Authenticated dashboard with SSR
Reference App Full-featured reference implementation

Configuration

// nextify.config.ts
import { defineConfig } from 'nextify'

export default defineConfig({
  runtime: 'hybrid',  // 'node' | 'edge' | 'hybrid'
  
  images: {
    formats: ['avif', 'webp'],
    deviceSizes: [640, 768, 1024, 1280, 1536],
  },
  
  cache: {
    defaultStrategy: 'stale-while-revalidate',
    revalidateTags: true,
  },
  
  experimental: {
    streamingSSR: true,
    smartPrefetch: true,
  },
  
  plugins: [
    ['@nextify/plugin-analytics', { provider: 'otlp' }],
  ],
})

Packages

Package Version Description
@nextify/core npm Core framework runtime
create-nextify npm CLI para criação e bootstrap de projetos
@nextify/build npm Build pipeline
@nextify/dev-server npm Development server
@nextify/adapter-aws-lambda npm Adapter para AWS Lambda
@nextify/adapter-cloudflare-workers npm Adapter para Cloudflare Workers

Roadmap

Phase Timeline Focus
Foundation Q2 2026 Stable CLI, SSR/SSG/ISR, benchmarks
Ecosystem Q3 2026 Plugin system v1, cloud adapters, observability
Scale Q4 2026 Migration tools, distributed cache, metrics dashboard
Enterprise Q1 2027 LTS policy, security hardening, commercial support
Global Adoption Q2 2027 Localization, ambassador program, case studies

See the full Roadmap for detailed milestones.


Contributing

We welcome contributions from the community! Please read our Contributing Guide before submitting a pull request.

Development Setup

# Clone the repository
git clone https://github.com/RicardoOliver/Nextify.js.git
cd Nextify.js

# Install dependencies
npm install

# Build all packages
npm run build

# Run tests
npm test

# Start development
npm run dev

Scripts

Command Description
npm run build Build all packages
npm run dev Start development server
npm run test Run test suite
npm run lint Lint codebase
npm run typecheck TypeScript type checking
npm run validate Full validation (lint + typecheck + test)

Community

Discussions

Technical discussions, RFCs, and Q&A

GitHub Discussions

Issues

Bug reports and feature requests

GitHub Issues

Discord

Real-time community chat

Join Discord

Security

For security vulnerabilities, please review our Security Policy and report issues responsibly.


License

Nextify.js is MIT licensed.


Built with care by the Nextify.js community

GitHub Stars GitHub Forks


Visualizações


Packages

 
 
 

Contributors