# For developers

How GrandNode is built and how to extend it: architecture, local setup, multi-instance testing with .NET Aspire, plugins, themes, the REST API and its Scalar playground, upgrade migrations, the AI Agent Kit and contributing. For .NET developers and agencies.

## Documentation

- [Architecture overview](https://grandnode.com/developers-architecture-overview.md): How the GrandNode solution is organised: Core, Business, Web, Modules and Plugins, the MongoDB repository, the mediator, domain events and caching.
- [Development setup](https://grandnode.com/developers-development-setup.md): Clone, build and run GrandNode from source: .NET SDK, MongoDB, the installer, debugging, plugin rebuilds and the frontend bundles.
- [Local multi-instance testing with .NET Aspire](https://grandnode.com/developers-aspire-local-testing.md): Run GrandNode locally with .NET Aspire: MongoDB and Redis in containers, two replicas of the store, the dashboard, and a real cache invalidation test.
- [Writing a plugin](https://grandnode.com/developers-writing-a-plugin.md): Build an installable GrandNode plugin: project file, manifest, BasePlugin install and uninstall, IStartupApplication and a configuration screen.
- [Plugin provider types](https://grandnode.com/developers-plugin-provider-types.md): Provider interfaces a GrandNode plugin implements: IPaymentProvider, IShippingRateCalculationProvider, IWidgetProvider and discount rules.
- [Creating a theme](https://grandnode.com/developers-creating-a-theme.md): Create a GrandNode storefront theme: IThemeView, view overrides with fallback to the default views, \_ViewImports, content assets and theme selection.
- [The REST API](https://grandnode.com/developers-rest-api.md): Enable and use the GrandNode REST API: the Backend API for admin integrations, the Frontend API for headless storefronts, JWT tokens and query options.
- [API configuration and the Scalar playground](https://grandnode.com/developers-scalar-api-playground.md): Configure the GrandNode Backend and Frontend API in appsettings.json, open the Scalar playground for each, authorise with a token and try requests.
- [Upgrade migrations](https://grandnode.com/developers-upgrade-migrations.md): How GrandNode upgrades existing databases: IMigration classes, DbVersion, the version stamp, resource imports and the rules that keep a migration safe.
- [The AI Agent Kit](https://grandnode.com/developers-ai-agent-kit.md): AGENTS.md and the .ai folder in the GrandNode repository: prompts, workflows, skills, knowledge and checklists for AI coding agents.
- [Contributing](https://grandnode.com/developers-contributing.md): How to contribute to GrandNode on GitHub: issues, forks and branches, commits, the pull request template, tests and what reviewers check.

- [Web page](https://grandnode.com/docs-developers)
