feat: Introduce next-generation CLI and ecosystem packages - #56
Open
felipebarcelospro wants to merge 110 commits into
Open
feat: Introduce next-generation CLI and ecosystem packages#56felipebarcelospro wants to merge 110 commits into
felipebarcelospro wants to merge 110 commits into
Conversation
- Add fluent bot builder API with chainable methods - Implement adapters for Telegram, WhatsApp, and Discord platforms - Add middleware system with auth, logging, and rate limiting - Create plugin architecture with analytics plugin support - Implement in-memory session store for conversation management - Add comprehensive type definitions for all bot components - Include client abstractions for better adapter separation - Add tests and configuration files - Update package.json and build configurations - Migrate from AGENT.md to AGENTS.md following project conventions - Update README with comprehensive bot framework documentation
- Create complete bot documentation structure with Fumadocs - Add getting started guides (installation, quick start, first bot) - Document adapters for Telegram, WhatsApp, and Discord - Add messaging documentation (sending, receiving, types, mentions) - Include middleware guides (basics, patterns, lifecycle hooks) - Add commands documentation (basics, aliases, dynamic commands) - Create advanced topics (best practices, error handling, logging, testing) - Add API reference and type documentation - Include AI agents guide for enhanced bot capabilities
… apps - Rename AGENT.md to AGENTS.md in all packages and apps - Update project-wide naming convention consistency - Follow established pattern for AI agent documentation files
…upport - Add TanStack Start adapter for better React integration - Improve client-side hooks and context providers - Enhance router service with better type inference - Update Next.js adapter with latest patterns - Add comprehensive AGENTS.md documentation - Update package.json with new dependencies
- Update adapter-bullmq, adapter-mcp-server, adapter-opentelemetry, adapter-redis - Migrate from AGENT.md to AGENTS.md following project convention - Update adapter-mcp-server README with enhanced documentation
- Update GitHub toolset with enhanced functionality - Migrate to AGENTS.md documentation convention - Update package.json with latest dependencies - Improve MCP server architecture and tooling
- Update all starter apps (bun-react-app, bun-rest-api, deno-rest-api, express-rest-api, nextjs, tanstack-start) - Update sample app (realtime-chat) - Migrate from AGENT.md to AGENTS.md following project convention - Ensure consistent documentation across all starter templates
… documentation - Complete migration from old structure to Fumadocs-based documentation - Add comprehensive core framework documentation (installation, core concepts, client, data handling) - Include jobs documentation (getting started, cron jobs, scheduling, workers, monitoring) - Add store documentation (installation, caching, pubsub, atomic operations) - Include MCP server documentation (getting started, custom tools, OAuth, events) - Create learning course with 7 chapters covering full-stack development - Add showcase and templates sections with community projects - Implement new website structure with blog, changelog, templates, and learn sections - Add AI elements components for enhanced UX - Include Lia chat interface for AI-powered assistance - Migrate to modern UI components and design system - Add comprehensive blog posts and updates - Implement proper SEO, RSS feeds, and sitemap generation - Add OpenGraph images and metadata for social sharing - Update package.json with new dependencies and configurations
- Update .gitignore with new patterns - Update package-lock.json with latest dependencies - Add Cursor AI assistant configuration files - Refresh project configuration files
- Complete migration to AGENTS.md convention - Remove obsolete AGENT.md file from root directory
- Fix handle method to return (request: Request) => Promise<Response> instead of Promise<Response> - Method now correctly returns a handler function that can be called with requests - Matches the implementation pattern used by nextjs and tanstack-start adapters - Fixes the adapter integration that was expecting a handler function
- Add Next.js App Router adapter for handling bot webhooks in Next.js apps - Add TanStack Start adapter for handling bot webhooks in TanStack Start apps - Both adapters convert bot handle methods to framework-specific route handlers - Support GET and POST methods for webhook verification and message handling - Route handlers extract adapter and botId from URL params - Proper error handling with 404 responses for missing bots - Framework integration enables seamless bot deployment in modern web apps
- Update version from 0.2.0-alpha.6 to 0.2.1 - Mark bot framework as stable for production use - All core features implemented and tested
- Add Next.js and TanStack Start adapters to main package exports - Enable framework integration adapters to be imported from '@igniter-js/bot' - Complete framework adapter integration for seamless web app deployment
- Rewrite README.md with comprehensive user guide - Add feature highlights, installation guide, and quick start - Include API mapping examples and framework integrations - Add Next.js, TanStack Start, and Express examples - Document available endpoints and configuration options - Add development and contributing sections - Rewrite AGENTS.md with technical architecture details - Document API mapping engine and type inference system - Add plugin system integration details - Include testing strategy and deployment guidelines - Document performance characteristics and troubleshooting - Add version history and future enhancement roadmap - Update to latest version and status information
…entation
- Fix plugin usage to use Igniter.plugins() instead of non-existent addPlugin/addControllers
- Correct createBetterAuthPlugin to return plugin directly, not {plugin, controllers}
- Remove incorrect configuration options that don't exist
- Update examples to match real API usage patterns
- Fix AGENTS.md to reflect proper plugin registration via Igniter.plugins()
- Add complete BetterAuth integration plugin for Igniter.js - Implements automatic API mapping from BetterAuth to Igniter controllers - Full TypeScript support with inferred types from BetterAuth API surface - Supports HTTP method detection via function metadata - Includes comprehensive documentation and examples - Plugin integrates via Igniter.plugins() method - Provides type-safe auth endpoints as router.caller.auth.*
- Add plugin-better-auth to package listings in AGENTS.md - Update monorepo structure to include plugin directory - Add plugin packages section with better-auth details - Include version and dependency information
…r.js documentation - Introduce a unified documentation style guide applicable to all content types - Establish core style principles focusing on clarity, developer engagement, and example-driven content - Provide specific writing rules for documentation, blog posts, templates, and updates - Include detailed formatting instructions for LLM content generation - Outline component usage and best practices for Fumadocs integration - Add a content quality checklist to ensure high standards across all documentation
…mentation - Add initial structure for @igniter-js/new-cli including essential files and configurations - Implement command handling with `init` and `generate` commands for project setup and scaffolding - Introduce AGENTS.md for comprehensive documentation and guidelines on maintaining the CLI - Include TypeScript configuration and build setup with tsup - Establish core functionalities for generating OpenAPI specifications and scaffolding features - Integrate add-on and starter registries for extensibility - Provide templates for various add-ons and starters to enhance developer experience
Co-authored-by: team <team@igniterjs.com>
This commit introduces significant refactoring to the feature generation process and the schema provider architecture. Key changes include: - **Abstracting File System Operations:** File system helpers for features are now centralized in the `FeatureWorkspace` class, replacing the previous `feature-fs.ts` module. - **Introducing Schema Provider Registry:** A new `SchemaProviderRegistry` manages different schema providers (like Prisma), allowing for a more extensible and organized way to handle schema-based feature generation. - **Refining Schema Provider Interface:** The `SchemaProvider` base class is updated with new methods for validation, prompting, and generation context. - **Decoupling Index Management:** The `index-manager.ts` module, responsible for updating feature index files, has been removed. This aligns with the new convention of not automatically creating barrel files. - **Updating Templates:** Templates for controllers, procedures, and schema-based features have been updated to reflect the new naming conventions and structure. - **Improving CLI Prompts:** Feature and entity name prompts are now handled by the `FeaturePrompts` class for better consistency. - **Enhancing Template Engine:** The `TemplateEngine` is now abstract, allowing for easier customization and testing. These changes aim to improve the modularity, testability, and maintainability of the feature generation system. Co-authored-by: team <team@igniterjs.com>
Co-authored-by: team <team@igniterjs.com>
…eneration-commands-af10 Implement new cli generation commands
This commit removes several unused files and templates from the new CLI package, including: - Deleted old command files for generating controllers, procedures, and features. - Removed unused templates for various add-ons and starters. - Cleaned up configuration files and TypeScript definitions that are no longer needed. These changes aim to streamline the CLI package and improve maintainability by eliminating obsolete code.
- Type-safe, adapter-based file storage library - S3 and Google Cloud Storage adapters - Type-safe scopes with automatic path composition - Smart upload intelligence (content-type + extension inference) - Upload policies (file size, MIME types, extensions) - Lifecycle hooks for all operations - Replace strategies (BY_FILENAME, BY_FILENAME_AND_EXTENSION) - Environment-first configuration - Comprehensive documentation and tests - Ready for NPM publication
- Type-safe email library with React Email templates - Multiple provider adapters (Resend, Postmark, SendGrid, SMTP, Webhook, Test) - StandardSchema validation support - Queue integration for scheduled sends - Lifecycle hooks for monitoring - Builder pattern API - Comprehensive documentation (README, AGENTS.md, CHANGELOG)
- Type-safe HTTP client with fluent builder API - Request/response interceptors - Retry support (linear/exponential backoff) - Caching (in-memory + optional store adapter) - Schema validation via StandardSchemaV1 - Global response events for observability - Complete test coverage and documentation
- Implement tests to verify that the IgniterConsoleLogger maintains reasonable column widths. - Ensure that the app/type columns are halved and expanded evenly. - Test the logger's behavior when changing the component name and logging messages. - Introduce a utility function to extract segments from the log output for validation.
Learn moreAll Green is an AI agent that automatically: ✅ Addresses code review comments ✅ Fixes failing CI checks ✅ Resolves merge conflicts |
- Update jobs/getting-started.mdx and jobs/index.mdx - Add caller/ documentation directory - Add storage/ documentation - Update meta.json with new doc structure - Update cli.mdx documentation
- Update AGENTS.md root documentation - Update .gitignore with new patterns - Update opencode.json with configuration - Update package.json with workspace changes - Update apps/www/next.config.mjs - Update instrumentation.node.ts - Update starter-tanstack-start example controller
- Remove lia-dispatch.yml - Remove lia-invoke.yml - Remove lia-review.yml - Remove lia-scheduled-triage.yml - Remove lia-triage.yml
…ndling - Update telegram.adapter.ts with better error handling - Add telegram.schemas.ts with improved validation schemas - Update AGENTS.md and README.md documentation - Update package.json with version
- Update main.builder.ts with improved builder patterns - Update manager.ts with enhanced functionality - Update types/builder.ts and types/manager.ts - Update tsup.config.ts - Update CHANGELOG.md and AGENTS.md documentation feat(mcp-server): update MCP server package - Update AGENTS.md documentation - Update adapter-mcp-server CHANGELOG.md and package.json
feat(collections): add collections package for data structures feat(logger): add logger package for logging utilities chore: add changeset configuration and environment sample
- Update project-builder.tsx component - Update package-lock.json
- Add bun-sqlite.adapter.ts for Bun runtime SQLite - Add bun.ts and node.ts runtime adapters - Add mock.ts for testing - Update memory.adapter.ts and spec - Update bullmq.adapter.ts and index - Update all builder and manager files - Update types: adapter, config, job, queue, runtime, stream - Add AGENTS.md and README.md updates - Remove legacy sqlite.adapter files - Update tsup.config.ts
- Remove opencode.json - Add opencode.jsonc (new format)
…ied watcher with TypeScript support
This is a breaking refactor that transforms the views system from
collection-scoped to global first-class citizens, introduces a unified
filesystem watcher, and adds runtime TypeScript loading via jiti.
Key Changes:
BREAKING CHANGE:
- Remove withViews() and withTypedViews() from IgniterCollectionModelBuilder
- Remove withSchemaRegistry() from IgniterCollectionsBuilder
- Views are no longer embedded in collection definitions
New Features:
- Add IgniterCollectionViewBuilder with immutable builder pattern
- Add mandatory withGetData() hook for all global views
- Add withWatcher(paths, options) replacing withSchemaRegistry()
- Add addView() to IgniterCollectionsBuilder for programmatic views
- Add IgniterCollectionViewRegistry for filesystem view discovery
- Add jiti dependency for runtime TypeScript transpilation
- Add IgniterCollectionLoader utility for unified JSON/TS file loading
- Support .schema.ts and .view.ts files with hot reload (moduleCache: false)
- Views now receive full IIgniterCollectionsManager instead of single collection
- Programmatic views override watched views with logger.warn on conflict
- View naming conflicts auto-prefix with parent directory name
Core Refactors:
- Refactor IgniterCollectionViewManager for global manager access
- Refactor IgniterCollectionSchemaRegistry to use IgniterCollectionLoader
- Refactor manager proxy to expose global docs.views.render()
- Replace refreshSchemas() with refresh() (reloads both collections and views)
- Replace startSchemaWatching/stopSchemaWatching with startWatching/stopWatching
- Update IIgniterCollectionsManagerMethods interface for new watcher API
- Simplify IgniterCollectionViewDataHookContext to { manager, options }
Type System:
- Remove TViews generic from collection types
- Add IgniterCollectionWatcherConfig type
- Add IgniterCollectionViewRegistryConfig type
- Update all barrel files and public exports
- Fix telemetry getter type inference in view-manager
Tests:
- Add view.builder.spec.ts (8 tests for immutability, validation, chaining)
- Add view-registry.spec.ts (5 tests for loading, conflict resolution)
- Add loader.spec.ts (4 tests for JSON/TS file loading)
- Rewrite views-integration.spec.ts for global views
- Rewrite view-manager.spec.ts for global manager access
- Remove obsolete schema-registry-views.spec.ts
Documentation:
- Rewrite AGENTS.md to 1009 lines with v2.0 architecture
- Add Sections 6, 7 for Views System and TypeScript File Loading
- Add 15 new real-world use cases (multi-tenant, AI memory, feature flags)
- Add expanded error code library (VIEW_INVALID_CONFIGURATION, TRANSPILE_FAILED)
- Rewrite README.md to reflect all new APIs and patterns
Bug Fixes:
- Fix JSDoc syntax errors with **/ glob patterns in builder comments
- Fix duplicate export of IIgniterCollectionViewManager in index.ts
- Fix duplicate return statement in manager.ts proxy
- Fix beforeEach import in loader.spec.ts
- Fix examples to use new watcher API instead of removed schema registry
- Fix tsconfig.json to exclude examples/ from typecheck
…e content Remove development-only debug scripts and auto-generated content files that were created during local testing: - debug-glob.ts, debug-repro.ts, test-ajv*.ts (temporary debugging) - Generated .md/.mdx posts with UUID filenames from test runs
…ents and unified watcher Major architectural refactor (IGN-002): - Add namespace-based API: collections, views, watcher namespaces - Implement source tracking (built-in vs discovered) for all definitions - Add three-tier typed event system (global, scoped, model) with schema inference - Decouple views from collections — views are now global first-class citizens - Add unified file watcher with TypeScript schema/view discovery via jiti - Add auto-prefixing for conflicting schema names across directories - Implement hot reload for .schema.ts and .view.ts files - Update builder patterns: withWatcher replaces withSchemaRegistry - Add view actions with parameter validation, confirmation dialogs, optimistic updates - Add collections accessor and view instance abstractions BREAKING CHANGE: views are no longer tied to collections; defaultQuery removed
…ch BM25 engine
Replace naive scan-based search with MiniSearch inverted index (IGN-004):
- Add MiniSearch dependency for BM25 ranking (Elasticsearch/Solr algorithm)
- Implement dynamic field discovery: auto-indexes all string/string[] fields
- Add lazy index invalidation with dirty-flag pattern
- Enable prefix matching ('typ' matches 'typescript')
- Enable fuzzy matching with configurable edit distance
- Maintain 100% backward-compatible public API (findMany search filter)
- Add search score metadata via _search.score and _search.matches
- Update FTS tests: prefix matching, term frequency ranking, field boosting
Performance: O(1) per term lookup vs previous O(n×m×p) scan
…pdates Close documentation gaps with exhaustive coverage (IGN-003): - README.md: Add query system docs (string/array operators, nested select/exclude) - README.md: Document full-text search with BM25, prefix matching, fuzzy matching - README.md: Add view actions guide (parameter validation, confirm dialogs, optimistic updates) - README.md: Document lifecycle methods (refresh, dispose) and source tracking - README.md: Add typed events section with three-tier comparison table - AGENTS.md: Expand to 1309 lines with operational flow mappings - AGENTS.md: Add exhaustive telemetry registry (24+ events) and error code library (20+ codes) - AGENTS.md: Add typed events deep dive with payload comparison table - AGENTS.md: Add 15+ real-world use cases including migration guides - Achieve Gold Standard: README 1749 lines, AGENTS.md 1309 lines
Update all tests to match new namespace API and global views (IGN-002): - Update view builder specs for new withData, addAction, withMetadata API - Update schema registry specs for unified watcher integration - Update view manager specs for global views and action system - Update views integration specs for namespace-based access patterns - Update dashboard fixture to use new view builder patterns - Update analytics hook fixture for new handler signature - All 109 tests passing (3 preexisting Bun adapter failures)
…gent in Igniter.js monorepo - Introduced detailed sections on Lia's identity, core principles, orchestration model, and workflows. - Established communication protocols for Telegram interactions and tool usage. - Defined decision trees for task delegation and standard workflows for simple and complex tasks. - Documented repository knowledge, research strategies, development commands, quality standards, and resource management. - Included structured XML for agents, instructions, packages, apps, and architectural patterns to ensure consistency and clarity.
…mentation, Max blog creation, Max calendar planning, Nova exploration, and Rex review - Introduced Atlas Planning Workflow to transform user requirements into technical execution plans. - Created Kai Implementation Workflow for consistent feature implementation, refactoring, and bug fixing. - Developed Max Blog Creation Workflow to ensure high-quality, technically accurate blog posts. - Established Max Calendar Planning Workflow for strategic content alignment with Igniter.js milestones. - Implemented Nova Exploration Workflow for structured code exploration and pattern research. - Added Rex Review Workflow for thorough review of completed tasks, ensuring quality and adherence to acceptance criteria. - Updated .gitignore to exclude unnecessary directories.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…iators - Replace 14 generic features with 8 agent-first competitive features - Update project tagline and description for AI-native storytelling - Strengthen FAQ answers around Code Agents and AI collaboration - Shorten feature descriptions for consistent grid layout fix(deps): pin ai and @ai-sdk versions to prevent deploy type conflicts - Pin ai to 6.0.67 across root, apps/www, and packages/agents - Pin @ai-sdk/google to 2.0.25, @ai-sdk/mcp to 0.0.12 - Pin @modelcontextprotocol/sdk to 1.25.1 - Remove caret ranges to eliminate duplicate ai versions in node_modules - Resolves ReadableStream type mismatch between ai v5 and v6
The ai@6.0.67 package added three new states to ToolUIPart['state']: - approval-requested - approval-responded - output-denied Add labels, icons, and colors for all new states to fix the Record<ToolUIPart['state'], ...> type error in the build.
The @ai-sdk/react v2.0.83 depends on ai@5.0.83, causing a version mismatch with the apps/www ai@6.0.67. Use Bun's 'overrides' field to force ai@6.0.67 resolution across all nested dependencies. Prevents UIMessageChunk type conflicts between ai v5 and v6.
Removes semver ranges to ensure reproducible builds across environments.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Overview
Change Type
Implementation Notes
1. Next-Generation CLI (
@igniter-js/cli)A complete rewrite of the command-line interface, focusing on developer experience and automation:
Inkwith split logs and auto-regeneration.2. New Ecosystem Packages
We are introducing several new packages to provide type-safe solutions for modern applications:
Core Services
@igniter-js/storage: Type-safe, adapter-based file storage (S3, GCS) with scoped storage and upload policies.@igniter-js/mail: Type-safe email library using React Email templates with adapters for Resend, Postmark, SendGrid, and SMTP.@igniter-js/caller: Fluent, type-safe HTTP client built onfetchwith interceptors, retries, and schema validation.@igniter-js/jobs: Type-safe jobs and worker builder with BullMQ integration and fluent scheduling API.@igniter-js/store: Multi-tenant distributed store with Redis support, scoped operations, and typed pub/sub.@igniter-js/telemetry: Session-based telemetry system with multi-transport support (Sentry, OTLP, Slack) and PII redaction.AI & Integration
@igniter-js/agents: Framework for building AI agents with MCP integration, custom toolsets, and memory systems.@igniter-js/connectors: Multi-tenant connector management with OAuth 2.0 and encrypted configuration storage.3. Integrated Core Transition (Legacy Deprecation)
To simplify the ecosystem, several standalone adapters are being deprecated as their functionality is now integrated into the new core packages:
@igniter-js/adapter-bullmq&@igniter-js/adapter-redis: Functionality moved to@igniter-js/jobsand@igniter-js/store.@igniter-js/adapter-opentelemetry: Functionality moved to@igniter-js/telemetry.Screenshots / Media
The
igniter devcommand provides an interactive dashboard in the terminal:Testing Evidence
npm run lintnpm run typechecknpm test(Note: Test coverage for the new CLI is in progress; core packages have unit tests).npm run dev+ manual validation.Manual validation notes:
Backward Compatibility & Rollout
@igniter-js/cliis a complete replacement for the old CLI.mainbranch.Documentation
AGENTS.mdfor all new packages).Contributor Checklist