maxsim-flutter 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/LICENSE +21 -0
- package/README.md +445 -0
- package/claude-plugin/.claude-plugin/plugin.json +46 -0
- package/claude-plugin/agents/flutter-setup-agent.md +54 -0
- package/claude-plugin/commands/flutter-add.md +32 -0
- package/claude-plugin/commands/flutter-create.md +28 -0
- package/claude-plugin/commands/flutter-migrate.md +28 -0
- package/claude-plugin/skills/flutter-scaffolding/SKILL.md +109 -0
- package/dist/claude-setup/agent-writer.d.ts +21 -0
- package/dist/claude-setup/agent-writer.d.ts.map +1 -0
- package/dist/claude-setup/agent-writer.js +365 -0
- package/dist/claude-setup/agent-writer.js.map +1 -0
- package/dist/claude-setup/claude-md-generator.d.ts +7 -0
- package/dist/claude-setup/claude-md-generator.d.ts.map +1 -0
- package/dist/claude-setup/claude-md-generator.js +428 -0
- package/dist/claude-setup/claude-md-generator.js.map +1 -0
- package/dist/claude-setup/commands-writer.d.ts +7 -0
- package/dist/claude-setup/commands-writer.d.ts.map +1 -0
- package/dist/claude-setup/commands-writer.js +303 -0
- package/dist/claude-setup/commands-writer.js.map +1 -0
- package/dist/claude-setup/hooks-writer.d.ts +3 -0
- package/dist/claude-setup/hooks-writer.d.ts.map +1 -0
- package/dist/claude-setup/hooks-writer.js +34 -0
- package/dist/claude-setup/hooks-writer.js.map +1 -0
- package/dist/claude-setup/index.d.ts +10 -0
- package/dist/claude-setup/index.d.ts.map +1 -0
- package/dist/claude-setup/index.js +9 -0
- package/dist/claude-setup/index.js.map +1 -0
- package/dist/claude-setup/mcp-config-writer.d.ts +3 -0
- package/dist/claude-setup/mcp-config-writer.d.ts.map +1 -0
- package/dist/claude-setup/mcp-config-writer.js +42 -0
- package/dist/claude-setup/mcp-config-writer.js.map +1 -0
- package/dist/claude-setup/plugin-assembler.d.ts +2 -0
- package/dist/claude-setup/plugin-assembler.d.ts.map +1 -0
- package/dist/claude-setup/plugin-assembler.js +3 -0
- package/dist/claude-setup/plugin-assembler.js.map +1 -0
- package/dist/claude-setup/prd-generator.d.ts +10 -0
- package/dist/claude-setup/prd-generator.d.ts.map +1 -0
- package/dist/claude-setup/prd-generator.js +295 -0
- package/dist/claude-setup/prd-generator.js.map +1 -0
- package/dist/claude-setup/setup-orchestrator.d.ts +11 -0
- package/dist/claude-setup/setup-orchestrator.d.ts.map +1 -0
- package/dist/claude-setup/setup-orchestrator.js +46 -0
- package/dist/claude-setup/setup-orchestrator.js.map +1 -0
- package/dist/claude-setup/skill-writer.d.ts +3 -0
- package/dist/claude-setup/skill-writer.d.ts.map +1 -0
- package/dist/claude-setup/skill-writer.js +256 -0
- package/dist/claude-setup/skill-writer.js.map +1 -0
- package/dist/cli/commands/add.d.ts +16 -0
- package/dist/cli/commands/add.d.ts.map +1 -0
- package/dist/cli/commands/add.js +414 -0
- package/dist/cli/commands/add.js.map +1 -0
- package/dist/cli/commands/create.d.ts +3 -0
- package/dist/cli/commands/create.d.ts.map +1 -0
- package/dist/cli/commands/create.js +161 -0
- package/dist/cli/commands/create.js.map +1 -0
- package/dist/cli/commands/list.d.ts +12 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/list.js +148 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/migrate.d.ts +3 -0
- package/dist/cli/commands/migrate.d.ts.map +1 -0
- package/dist/cli/commands/migrate.js +332 -0
- package/dist/cli/commands/migrate.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +34 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/ui/prompts.d.ts +9 -0
- package/dist/cli/ui/prompts.d.ts.map +1 -0
- package/dist/cli/ui/prompts.js +74 -0
- package/dist/cli/ui/prompts.js.map +1 -0
- package/dist/cli/ui/spinner.d.ts +2 -0
- package/dist/cli/ui/spinner.d.ts.map +1 -0
- package/dist/cli/ui/spinner.js +5 -0
- package/dist/cli/ui/spinner.js.map +1 -0
- package/dist/cli/version-check.d.ts +7 -0
- package/dist/cli/version-check.d.ts.map +1 -0
- package/dist/cli/version-check.js +92 -0
- package/dist/cli/version-check.js.map +1 -0
- package/dist/core/config/defaults.d.ts +3 -0
- package/dist/core/config/defaults.d.ts.map +1 -0
- package/dist/core/config/defaults.js +21 -0
- package/dist/core/config/defaults.js.map +1 -0
- package/dist/core/config/loader.d.ts +4 -0
- package/dist/core/config/loader.d.ts.map +1 -0
- package/dist/core/config/loader.js +38 -0
- package/dist/core/config/loader.js.map +1 -0
- package/dist/core/config/schema.d.ts +406 -0
- package/dist/core/config/schema.d.ts.map +1 -0
- package/dist/core/config/schema.js +119 -0
- package/dist/core/config/schema.js.map +1 -0
- package/dist/core/context.d.ts +57 -0
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/context.js +99 -0
- package/dist/core/context.js.map +1 -0
- package/dist/core/detector.d.ts +28 -0
- package/dist/core/detector.d.ts.map +1 -0
- package/dist/core/detector.js +200 -0
- package/dist/core/detector.js.map +1 -0
- package/dist/core/validator.d.ts +7 -0
- package/dist/core/validator.d.ts.map +1 -0
- package/dist/core/validator.js +35 -0
- package/dist/core/validator.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/modules/composer.d.ts +50 -0
- package/dist/modules/composer.d.ts.map +1 -0
- package/dist/modules/composer.js +122 -0
- package/dist/modules/composer.js.map +1 -0
- package/dist/modules/definitions/analytics/module.d.ts +7 -0
- package/dist/modules/definitions/analytics/module.d.ts.map +1 -0
- package/dist/modules/definitions/analytics/module.js +28 -0
- package/dist/modules/definitions/analytics/module.js.map +1 -0
- package/dist/modules/definitions/api/module.d.ts +7 -0
- package/dist/modules/definitions/api/module.d.ts.map +1 -0
- package/dist/modules/definitions/api/module.js +41 -0
- package/dist/modules/definitions/api/module.js.map +1 -0
- package/dist/modules/definitions/auth/module.d.ts +7 -0
- package/dist/modules/definitions/auth/module.d.ts.map +1 -0
- package/dist/modules/definitions/auth/module.js +53 -0
- package/dist/modules/definitions/auth/module.js.map +1 -0
- package/dist/modules/definitions/cicd/module.d.ts +7 -0
- package/dist/modules/definitions/cicd/module.d.ts.map +1 -0
- package/dist/modules/definitions/cicd/module.js +34 -0
- package/dist/modules/definitions/cicd/module.js.map +1 -0
- package/dist/modules/definitions/core/module.d.ts +7 -0
- package/dist/modules/definitions/core/module.d.ts.map +1 -0
- package/dist/modules/definitions/core/module.js +31 -0
- package/dist/modules/definitions/core/module.js.map +1 -0
- package/dist/modules/definitions/database/module.d.ts +8 -0
- package/dist/modules/definitions/database/module.d.ts.map +1 -0
- package/dist/modules/definitions/database/module.js +47 -0
- package/dist/modules/definitions/database/module.js.map +1 -0
- package/dist/modules/definitions/deep-linking/module.d.ts +7 -0
- package/dist/modules/definitions/deep-linking/module.d.ts.map +1 -0
- package/dist/modules/definitions/deep-linking/module.js +48 -0
- package/dist/modules/definitions/deep-linking/module.js.map +1 -0
- package/dist/modules/definitions/i18n/module.d.ts +7 -0
- package/dist/modules/definitions/i18n/module.d.ts.map +1 -0
- package/dist/modules/definitions/i18n/module.js +37 -0
- package/dist/modules/definitions/i18n/module.js.map +1 -0
- package/dist/modules/definitions/push/module.d.ts +7 -0
- package/dist/modules/definitions/push/module.d.ts.map +1 -0
- package/dist/modules/definitions/push/module.js +40 -0
- package/dist/modules/definitions/push/module.js.map +1 -0
- package/dist/modules/definitions/theme/module.d.ts +7 -0
- package/dist/modules/definitions/theme/module.d.ts.map +1 -0
- package/dist/modules/definitions/theme/module.js +42 -0
- package/dist/modules/definitions/theme/module.js.map +1 -0
- package/dist/modules/registry.d.ts +50 -0
- package/dist/modules/registry.d.ts.map +1 -0
- package/dist/modules/registry.js +104 -0
- package/dist/modules/registry.js.map +1 -0
- package/dist/modules/resolver.d.ts +42 -0
- package/dist/modules/resolver.d.ts.map +1 -0
- package/dist/modules/resolver.js +140 -0
- package/dist/modules/resolver.js.map +1 -0
- package/dist/ralph/prd-generator.d.ts +2 -0
- package/dist/ralph/prd-generator.d.ts.map +1 -0
- package/dist/ralph/prd-generator.js +3 -0
- package/dist/ralph/prd-generator.js.map +1 -0
- package/dist/ralph/ralph-converter.d.ts +2 -0
- package/dist/ralph/ralph-converter.d.ts.map +1 -0
- package/dist/ralph/ralph-converter.js +3 -0
- package/dist/ralph/ralph-converter.js.map +1 -0
- package/dist/ralph/story-sizer.d.ts +2 -0
- package/dist/ralph/story-sizer.d.ts.map +1 -0
- package/dist/ralph/story-sizer.js +3 -0
- package/dist/ralph/story-sizer.js.map +1 -0
- package/dist/scaffold/engine.d.ts +40 -0
- package/dist/scaffold/engine.d.ts.map +1 -0
- package/dist/scaffold/engine.js +233 -0
- package/dist/scaffold/engine.js.map +1 -0
- package/dist/scaffold/file-writer.d.ts +22 -0
- package/dist/scaffold/file-writer.d.ts.map +1 -0
- package/dist/scaffold/file-writer.js +68 -0
- package/dist/scaffold/file-writer.js.map +1 -0
- package/dist/scaffold/post-processors/build-runner.d.ts +2 -0
- package/dist/scaffold/post-processors/build-runner.d.ts.map +1 -0
- package/dist/scaffold/post-processors/build-runner.js +5 -0
- package/dist/scaffold/post-processors/build-runner.js.map +1 -0
- package/dist/scaffold/post-processors/dart-format.d.ts +2 -0
- package/dist/scaffold/post-processors/dart-format.d.ts.map +1 -0
- package/dist/scaffold/post-processors/dart-format.js +5 -0
- package/dist/scaffold/post-processors/dart-format.js.map +1 -0
- package/dist/scaffold/post-processors/flutter-pub-get.d.ts +2 -0
- package/dist/scaffold/post-processors/flutter-pub-get.d.ts.map +1 -0
- package/dist/scaffold/post-processors/flutter-pub-get.js +5 -0
- package/dist/scaffold/post-processors/flutter-pub-get.js.map +1 -0
- package/dist/scaffold/renderer.d.ts +20 -0
- package/dist/scaffold/renderer.d.ts.map +1 -0
- package/dist/scaffold/renderer.js +75 -0
- package/dist/scaffold/renderer.js.map +1 -0
- package/dist/scaffold/template-helpers.d.ts +25 -0
- package/dist/scaffold/template-helpers.d.ts.map +1 -0
- package/dist/scaffold/template-helpers.js +115 -0
- package/dist/scaffold/template-helpers.js.map +1 -0
- package/dist/types/config.d.ts +4 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/module.d.ts +85 -0
- package/dist/types/module.d.ts.map +1 -0
- package/dist/types/module.js +2 -0
- package/dist/types/module.js.map +1 -0
- package/dist/types/project.d.ts +13 -0
- package/dist/types/project.d.ts.map +1 -0
- package/dist/types/project.js +2 -0
- package/dist/types/project.js.map +1 -0
- package/package.json +80 -0
- package/templates/core/analysis_options.yaml.hbs +21 -0
- package/templates/core/lib/app.dart.hbs +20 -0
- package/templates/core/lib/core/providers/app_providers.dart.hbs +3 -0
- package/templates/core/lib/core/router/app_router.dart.hbs +19 -0
- package/templates/core/lib/core/theme/app_theme.dart.hbs +15 -0
- package/templates/core/lib/features/home/data/models/.gitkeep +0 -0
- package/templates/core/lib/features/home/data/repositories/.gitkeep +0 -0
- package/templates/core/lib/features/home/domain/entities/.gitkeep +0 -0
- package/templates/core/lib/features/home/domain/repositories/.gitkeep +0 -0
- package/templates/core/lib/features/home/presentation/pages/home_page.dart.hbs +18 -0
- package/templates/core/lib/features/home/presentation/widgets/.gitkeep +0 -0
- package/templates/core/lib/main.dart.hbs +11 -0
- package/templates/core/pubspec.yaml.hbs +30 -0
- package/templates/core/test/widget_test.dart.hbs +16 -0
- package/templates/modules/analytics/lib/features/analytics/data/observers/analytics_route_observer.dart.hbs +53 -0
- package/templates/modules/analytics/lib/features/analytics/data/services/firebase_analytics_service.dart.hbs +39 -0
- package/templates/modules/analytics/lib/features/analytics/domain/services/analytics_service.dart.hbs +25 -0
- package/templates/modules/analytics/lib/features/analytics/presentation/providers/analytics_provider.dart.hbs +17 -0
- package/templates/modules/analytics/pubspec.partial.yaml +2 -0
- package/templates/modules/api/lib/features/api/data/datasources/api_client.dart.hbs +171 -0
- package/templates/modules/api/lib/features/api/data/interceptors/auth_interceptor.dart.hbs +25 -0
- package/templates/modules/api/lib/features/api/data/interceptors/retry_interceptor.dart.hbs +42 -0
- package/templates/modules/api/lib/features/api/data/repositories/api_repository_impl.dart.hbs +21 -0
- package/templates/modules/api/lib/features/api/domain/exceptions/api_exception.dart.hbs +31 -0
- package/templates/modules/api/lib/features/api/domain/repositories/api_repository.dart.hbs +8 -0
- package/templates/modules/api/lib/features/api/presentation/providers/api_provider.dart.hbs +17 -0
- package/templates/modules/api/pubspec.partial.yaml +7 -0
- package/templates/modules/auth/lib/features/auth/data/datasources/auth_remote_datasource.dart.hbs +181 -0
- package/templates/modules/auth/lib/features/auth/data/models/auth_user_model.dart.hbs +27 -0
- package/templates/modules/auth/lib/features/auth/data/repositories/auth_repository_impl.dart.hbs +49 -0
- package/templates/modules/auth/lib/features/auth/domain/entities/user_entity.dart.hbs +18 -0
- package/templates/modules/auth/lib/features/auth/domain/repositories/auth_repository.dart.hbs +22 -0
- package/templates/modules/auth/lib/features/auth/domain/usecases/register_usecase.dart.hbs +20 -0
- package/templates/modules/auth/lib/features/auth/domain/usecases/sign_in_usecase.dart.hbs +15 -0
- package/templates/modules/auth/lib/features/auth/domain/usecases/sign_out_usecase.dart.hbs +11 -0
- package/templates/modules/auth/lib/features/auth/presentation/pages/login_page.dart.hbs +118 -0
- package/templates/modules/auth/lib/features/auth/presentation/pages/register_page.dart.hbs +131 -0
- package/templates/modules/auth/lib/features/auth/presentation/providers/auth_provider.dart.hbs +31 -0
- package/templates/modules/auth/pubspec.partial.yaml +13 -0
- package/templates/modules/cicd/.github/workflows/ci.yml.hbs +45 -0
- package/templates/modules/cicd/.gitlab-ci.yml.hbs +53 -0
- package/templates/modules/cicd/bitbucket-pipelines.yml.hbs +39 -0
- package/templates/modules/cicd/pubspec.partial.yaml +1 -0
- package/templates/modules/database/lib/features/database/data/datasources/database_datasource.dart.hbs +115 -0
- package/templates/modules/database/lib/features/database/data/repositories/database_repository_impl.dart.hbs +73 -0
- package/templates/modules/database/lib/features/database/domain/repositories/database_repository.dart.hbs +10 -0
- package/templates/modules/database/lib/features/database/presentation/providers/database_provider.dart.hbs +43 -0
- package/templates/modules/database/pubspec.partial.yaml +27 -0
- package/templates/modules/deep-linking/lib/features/deep_linking/data/datasources/deep_link_datasource.dart.hbs +18 -0
- package/templates/modules/deep-linking/lib/features/deep_linking/data/repositories/deep_link_repository_impl.dart.hbs +14 -0
- package/templates/modules/deep-linking/lib/features/deep_linking/domain/repositories/deep_link_repository.dart.hbs +7 -0
- package/templates/modules/deep-linking/lib/features/deep_linking/presentation/providers/deep_link_provider.dart.hbs +57 -0
- package/templates/modules/deep-linking/pubspec.partial.yaml +2 -0
- package/templates/modules/i18n/l10n.yaml.hbs +5 -0
- package/templates/modules/i18n/lib/core/l10n/l10n_config.dart.hbs +29 -0
- package/templates/modules/i18n/lib/core/l10n/l10n_provider.dart.hbs +20 -0
- package/templates/modules/i18n/lib/l10n/app_de.arb.hbs +27 -0
- package/templates/modules/i18n/lib/l10n/app_en.arb.hbs +27 -0
- package/templates/modules/i18n/pubspec.partial.yaml +7 -0
- package/templates/modules/push/lib/features/push/data/datasources/push_datasource.dart.hbs +124 -0
- package/templates/modules/push/lib/features/push/data/repositories/push_repository_impl.dart.hbs +28 -0
- package/templates/modules/push/lib/features/push/domain/repositories/push_repository.dart.hbs +31 -0
- package/templates/modules/push/lib/features/push/presentation/providers/push_provider.dart.hbs +34 -0
- package/templates/modules/push/pubspec.partial.yaml +8 -0
- package/templates/modules/theme/lib/core/theme/app_theme.dart.hbs +74 -0
- package/templates/modules/theme/lib/core/theme/theme_provider.dart.hbs +46 -0
- package/templates/modules/theme/pubspec.partial.yaml +2 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ModuleManifest } from '../../../types/module.js';
|
|
2
|
+
/**
|
|
3
|
+
* Analytics module using Firebase Analytics.
|
|
4
|
+
* Provides route observer and event tracking infrastructure.
|
|
5
|
+
*/
|
|
6
|
+
export declare const manifest: ModuleManifest;
|
|
7
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/modules/definitions/analytics/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,cAwBtB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analytics module using Firebase Analytics.
|
|
3
|
+
* Provides route observer and event tracking infrastructure.
|
|
4
|
+
*/
|
|
5
|
+
export const manifest = {
|
|
6
|
+
id: 'analytics',
|
|
7
|
+
name: 'Analytics',
|
|
8
|
+
description: 'Analytics event tracking and route observation via Firebase Analytics',
|
|
9
|
+
requires: [],
|
|
10
|
+
templateDir: 'templates/modules/analytics',
|
|
11
|
+
ralphPhase: 2,
|
|
12
|
+
contributions: {
|
|
13
|
+
pubspecDependencies: {
|
|
14
|
+
'firebase_analytics': '^11.3.6',
|
|
15
|
+
},
|
|
16
|
+
pubspecDevDependencies: {},
|
|
17
|
+
providers: [
|
|
18
|
+
{
|
|
19
|
+
name: 'analyticsProvider',
|
|
20
|
+
importPath: '../../features/analytics/presentation/providers/analytics_provider.dart',
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
routes: [],
|
|
24
|
+
envVars: [],
|
|
25
|
+
},
|
|
26
|
+
isEnabled: (context) => context.modules.analytics !== false,
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/modules/definitions/analytics/module.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAmB;IACtC,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,uEAAuE;IACpF,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,6BAA6B;IAC1C,UAAU,EAAE,CAAC;IAEb,aAAa,EAAE;QACb,mBAAmB,EAAE;YACnB,oBAAoB,EAAE,SAAS;SAChC;QACD,sBAAsB,EAAE,EAAE;QAC1B,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,mBAAmB;gBACzB,UAAU,EAAE,yEAAyE;aACtF;SACF;QACD,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ;IAED,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK;CAC5D,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ModuleManifest } from '../../../types/module.js';
|
|
2
|
+
/**
|
|
3
|
+
* API module providing HTTP client setup with Dio, interceptors,
|
|
4
|
+
* typed error handling, and Clean Architecture layers.
|
|
5
|
+
*/
|
|
6
|
+
export declare const manifest: ModuleManifest;
|
|
7
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/modules/definitions/api/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,cAsCtB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API module providing HTTP client setup with Dio, interceptors,
|
|
3
|
+
* typed error handling, and Clean Architecture layers.
|
|
4
|
+
*/
|
|
5
|
+
export const manifest = {
|
|
6
|
+
id: 'api',
|
|
7
|
+
name: 'API Client',
|
|
8
|
+
description: 'HTTP client setup with Dio, interceptors, and typed error handling',
|
|
9
|
+
requires: [],
|
|
10
|
+
templateDir: 'templates/modules/api',
|
|
11
|
+
ralphPhase: 2,
|
|
12
|
+
questions: [
|
|
13
|
+
{
|
|
14
|
+
id: 'baseUrl',
|
|
15
|
+
message: 'What is your API base URL? (leave empty for placeholder)',
|
|
16
|
+
type: 'text',
|
|
17
|
+
defaultValue: 'https://api.example.com',
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
contributions: {
|
|
21
|
+
pubspecDependencies: {
|
|
22
|
+
'dio': '^5.7.0',
|
|
23
|
+
'retrofit': '^4.4.1',
|
|
24
|
+
'json_annotation': '^4.9.0',
|
|
25
|
+
},
|
|
26
|
+
pubspecDevDependencies: {
|
|
27
|
+
'retrofit_generator': '^9.1.5',
|
|
28
|
+
'json_serializable': '^6.9.0',
|
|
29
|
+
},
|
|
30
|
+
providers: [
|
|
31
|
+
{
|
|
32
|
+
name: 'dioClientProvider',
|
|
33
|
+
importPath: '../../features/api/presentation/providers/api_provider.dart',
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
routes: [],
|
|
37
|
+
envVars: ['API_BASE_URL'],
|
|
38
|
+
},
|
|
39
|
+
isEnabled: (context) => context.modules.api !== false,
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/modules/definitions/api/module.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAmB;IACtC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,oEAAoE;IACjF,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,uBAAuB;IACpC,UAAU,EAAE,CAAC;IAEb,SAAS,EAAE;QACT;YACE,EAAE,EAAE,SAAS;YACb,OAAO,EAAE,0DAA0D;YACnE,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,yBAAyB;SACxC;KACF;IAED,aAAa,EAAE;QACb,mBAAmB,EAAE;YACnB,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,QAAQ;YACpB,iBAAiB,EAAE,QAAQ;SAC5B;QACD,sBAAsB,EAAE;YACtB,oBAAoB,EAAE,QAAQ;YAC9B,mBAAmB,EAAE,QAAQ;SAC9B;QACD,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,mBAAmB;gBACzB,UAAU,EAAE,6DAA6D;aAC1E;SACF;QACD,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,cAAc,CAAC;KAC1B;IAED,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,KAAK;CACtD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ModuleManifest } from '../../../types/module.js';
|
|
2
|
+
/**
|
|
3
|
+
* Authentication module supporting Firebase Auth, Supabase Auth, and custom backends.
|
|
4
|
+
* Generates Clean Architecture layers for authentication with Riverpod state management.
|
|
5
|
+
*/
|
|
6
|
+
export declare const manifest: ModuleManifest;
|
|
7
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/modules/definitions/auth/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,cAkDtB,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authentication module supporting Firebase Auth, Supabase Auth, and custom backends.
|
|
3
|
+
* Generates Clean Architecture layers for authentication with Riverpod state management.
|
|
4
|
+
*/
|
|
5
|
+
export const manifest = {
|
|
6
|
+
id: 'auth',
|
|
7
|
+
name: 'Authentication',
|
|
8
|
+
description: 'User authentication with login, register, and session management',
|
|
9
|
+
requires: [],
|
|
10
|
+
templateDir: 'templates/modules/auth',
|
|
11
|
+
ralphPhase: 2,
|
|
12
|
+
questions: [
|
|
13
|
+
{
|
|
14
|
+
id: 'provider',
|
|
15
|
+
message: 'Which authentication provider do you want to use?',
|
|
16
|
+
type: 'select',
|
|
17
|
+
options: [
|
|
18
|
+
{ value: 'firebase', label: 'Firebase Auth' },
|
|
19
|
+
{ value: 'supabase', label: 'Supabase Auth' },
|
|
20
|
+
{ value: 'custom', label: 'Custom backend' },
|
|
21
|
+
],
|
|
22
|
+
defaultValue: 'firebase',
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
contributions: {
|
|
26
|
+
pubspecDependencies: {
|
|
27
|
+
'firebase_core': '^3.8.0',
|
|
28
|
+
'firebase_auth': '^5.3.4',
|
|
29
|
+
},
|
|
30
|
+
pubspecDevDependencies: {},
|
|
31
|
+
providers: [
|
|
32
|
+
{
|
|
33
|
+
name: 'authRepositoryProvider',
|
|
34
|
+
importPath: '../../features/auth/presentation/providers/auth_provider.dart',
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
routes: [
|
|
38
|
+
{
|
|
39
|
+
path: '/login',
|
|
40
|
+
name: 'login',
|
|
41
|
+
importPath: '../../features/auth/presentation/pages/login_page.dart',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
path: '/register',
|
|
45
|
+
name: 'register',
|
|
46
|
+
importPath: '../../features/auth/presentation/pages/register_page.dart',
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
envVars: [],
|
|
50
|
+
},
|
|
51
|
+
isEnabled: (context) => context.modules.auth !== false,
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/modules/definitions/auth/module.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAmB;IACtC,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,kEAAkE;IAC/E,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,wBAAwB;IACrC,UAAU,EAAE,CAAC;IAEb,SAAS,EAAE;QACT;YACE,EAAE,EAAE,UAAU;YACd,OAAO,EAAE,mDAAmD;YAC5D,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE;gBAC7C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE;gBAC7C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE;aAC7C;YACD,YAAY,EAAE,UAAU;SACzB;KACF;IAED,aAAa,EAAE;QACb,mBAAmB,EAAE;YACnB,eAAe,EAAE,QAAQ;YACzB,eAAe,EAAE,QAAQ;SAC1B;QACD,sBAAsB,EAAE,EAAE;QAC1B,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,UAAU,EAAE,+DAA+D;aAC5E;SACF;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,wDAAwD;aACrE;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,UAAU;gBAChB,UAAU,EAAE,2DAA2D;aACxE;SACF;QACD,OAAO,EAAE,EAAE;KACZ;IAED,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK;CACvD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ModuleManifest } from '../../../types/module.js';
|
|
2
|
+
/**
|
|
3
|
+
* CI/CD module generating pipeline configuration files for GitHub Actions,
|
|
4
|
+
* GitLab CI, or Bitbucket Pipelines.
|
|
5
|
+
*/
|
|
6
|
+
export declare const manifest: ModuleManifest;
|
|
7
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/modules/definitions/cicd/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,cA+BtB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CI/CD module generating pipeline configuration files for GitHub Actions,
|
|
3
|
+
* GitLab CI, or Bitbucket Pipelines.
|
|
4
|
+
*/
|
|
5
|
+
export const manifest = {
|
|
6
|
+
id: 'cicd',
|
|
7
|
+
name: 'CI/CD',
|
|
8
|
+
description: 'Continuous integration and deployment pipeline configuration',
|
|
9
|
+
requires: [],
|
|
10
|
+
templateDir: 'templates/modules/cicd',
|
|
11
|
+
ralphPhase: 2,
|
|
12
|
+
questions: [
|
|
13
|
+
{
|
|
14
|
+
id: 'provider',
|
|
15
|
+
message: 'Which CI/CD provider do you want to use?',
|
|
16
|
+
type: 'select',
|
|
17
|
+
options: [
|
|
18
|
+
{ value: 'github', label: 'GitHub Actions' },
|
|
19
|
+
{ value: 'gitlab', label: 'GitLab CI' },
|
|
20
|
+
{ value: 'bitbucket', label: 'Bitbucket Pipelines' },
|
|
21
|
+
],
|
|
22
|
+
defaultValue: 'github',
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
contributions: {
|
|
26
|
+
pubspecDependencies: {},
|
|
27
|
+
pubspecDevDependencies: {},
|
|
28
|
+
providers: [],
|
|
29
|
+
routes: [],
|
|
30
|
+
envVars: [],
|
|
31
|
+
},
|
|
32
|
+
isEnabled: (context) => context.modules.cicd !== false,
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/modules/definitions/cicd/module.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAmB;IACtC,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,8DAA8D;IAC3E,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,wBAAwB;IACrC,UAAU,EAAE,CAAC;IAEb,SAAS,EAAE;QACT;YACE,EAAE,EAAE,UAAU;YACd,OAAO,EAAE,0CAA0C;YACnD,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBAC5C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE;gBACvC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,qBAAqB,EAAE;aACrD;YACD,YAAY,EAAE,QAAQ;SACvB;KACF;IAED,aAAa,EAAE;QACb,mBAAmB,EAAE,EAAE;QACvB,sBAAsB,EAAE,EAAE;QAC1B,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ;IAED,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK;CACvD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ModuleManifest } from '../../../types/module.js';
|
|
2
|
+
/**
|
|
3
|
+
* The core module is always included in every generated project.
|
|
4
|
+
* It provides the base Clean Architecture structure with Riverpod and go_router.
|
|
5
|
+
*/
|
|
6
|
+
export declare const manifest: ModuleManifest;
|
|
7
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/modules/definitions/core/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,cAyBtB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The core module is always included in every generated project.
|
|
3
|
+
* It provides the base Clean Architecture structure with Riverpod and go_router.
|
|
4
|
+
*/
|
|
5
|
+
export const manifest = {
|
|
6
|
+
id: 'core',
|
|
7
|
+
name: 'Core',
|
|
8
|
+
description: 'Base Clean Architecture structure with Riverpod state management and go_router navigation',
|
|
9
|
+
requires: [],
|
|
10
|
+
templateDir: 'templates/core',
|
|
11
|
+
ralphPhase: 1,
|
|
12
|
+
alwaysIncluded: true,
|
|
13
|
+
contributions: {
|
|
14
|
+
pubspecDependencies: {
|
|
15
|
+
'flutter_riverpod': '^2.6.1',
|
|
16
|
+
'riverpod_annotation': '^2.6.1',
|
|
17
|
+
'go_router': '^14.6.2',
|
|
18
|
+
'freezed_annotation': '^2.4.4',
|
|
19
|
+
'json_annotation': '^4.9.0',
|
|
20
|
+
},
|
|
21
|
+
pubspecDevDependencies: {
|
|
22
|
+
'build_runner': '^2.4.13',
|
|
23
|
+
'riverpod_generator': '^2.6.3',
|
|
24
|
+
'go_router_builder': '^2.7.1',
|
|
25
|
+
'freezed': '^2.5.7',
|
|
26
|
+
'json_serializable': '^6.8.0',
|
|
27
|
+
'flutter_lints': '^5.0.0',
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/modules/definitions/core/module.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAmB;IACtC,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,2FAA2F;IACxG,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,gBAAgB;IAC7B,UAAU,EAAE,CAAC;IACb,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE;QACb,mBAAmB,EAAE;YACnB,kBAAkB,EAAE,QAAQ;YAC5B,qBAAqB,EAAE,QAAQ;YAC/B,WAAW,EAAE,SAAS;YACtB,oBAAoB,EAAE,QAAQ;YAC9B,iBAAiB,EAAE,QAAQ;SAC5B;QACD,sBAAsB,EAAE;YACtB,cAAc,EAAE,SAAS;YACzB,oBAAoB,EAAE,QAAQ;YAC9B,mBAAmB,EAAE,QAAQ;YAC7B,SAAS,EAAE,QAAQ;YACnB,mBAAmB,EAAE,QAAQ;YAC7B,eAAe,EAAE,QAAQ;SAC1B;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ModuleManifest } from '../../../types/module.js';
|
|
2
|
+
/**
|
|
3
|
+
* Database module supporting local persistence with Drift (SQLite),
|
|
4
|
+
* Hive (NoSQL box store), or Isar (NoSQL high-performance).
|
|
5
|
+
* Generates Clean Architecture layers with engine-specific datasource.
|
|
6
|
+
*/
|
|
7
|
+
export declare const manifest: ModuleManifest;
|
|
8
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/modules/definitions/database/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,cA2CtB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database module supporting local persistence with Drift (SQLite),
|
|
3
|
+
* Hive (NoSQL box store), or Isar (NoSQL high-performance).
|
|
4
|
+
* Generates Clean Architecture layers with engine-specific datasource.
|
|
5
|
+
*/
|
|
6
|
+
export const manifest = {
|
|
7
|
+
id: 'database',
|
|
8
|
+
name: 'Database',
|
|
9
|
+
description: 'Local database with drift, hive, or isar',
|
|
10
|
+
requires: [],
|
|
11
|
+
templateDir: 'templates/modules/database',
|
|
12
|
+
ralphPhase: 2,
|
|
13
|
+
questions: [
|
|
14
|
+
{
|
|
15
|
+
id: 'engine',
|
|
16
|
+
message: 'Which database engine?',
|
|
17
|
+
type: 'select',
|
|
18
|
+
options: [
|
|
19
|
+
{ value: 'drift', label: 'Drift (SQLite)' },
|
|
20
|
+
{ value: 'hive', label: 'Hive (NoSQL)' },
|
|
21
|
+
{ value: 'isar', label: 'Isar (NoSQL)' },
|
|
22
|
+
],
|
|
23
|
+
defaultValue: 'drift',
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
contributions: {
|
|
27
|
+
pubspecDependencies: {
|
|
28
|
+
'drift': '^2.22.1',
|
|
29
|
+
'sqlite3_flutter_libs': '^0.5.28',
|
|
30
|
+
'path_provider': '^2.1.5',
|
|
31
|
+
'path': '^1.9.0',
|
|
32
|
+
},
|
|
33
|
+
pubspecDevDependencies: {
|
|
34
|
+
'drift_dev': '^2.22.1',
|
|
35
|
+
},
|
|
36
|
+
providers: [
|
|
37
|
+
{
|
|
38
|
+
name: 'databaseProvider',
|
|
39
|
+
importPath: '../../features/database/presentation/providers/database_provider.dart',
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
routes: [],
|
|
43
|
+
envVars: [],
|
|
44
|
+
},
|
|
45
|
+
isEnabled: (context) => context.modules.database !== false,
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/modules/definitions/database/module.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAmB;IACtC,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,0CAA0C;IACvD,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,4BAA4B;IACzC,UAAU,EAAE,CAAC;IAEb,SAAS,EAAE;QACT;YACE,EAAE,EAAE,QAAQ;YACZ,OAAO,EAAE,wBAAwB;YACjC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBAC3C,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE;gBACxC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE;aACzC;YACD,YAAY,EAAE,OAAO;SACtB;KACF;IAED,aAAa,EAAE;QACb,mBAAmB,EAAE;YACnB,OAAO,EAAE,SAAS;YAClB,sBAAsB,EAAE,SAAS;YACjC,eAAe,EAAE,QAAQ;YACzB,MAAM,EAAE,QAAQ;SACjB;QACD,sBAAsB,EAAE;YACtB,WAAW,EAAE,SAAS;SACvB;QACD,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,kBAAkB;gBACxB,UAAU,EAAE,uEAAuE;aACpF;SACF;QACD,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ;IAED,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK;CAC3D,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ModuleManifest } from '../../../types/module.js';
|
|
2
|
+
/**
|
|
3
|
+
* Deep Linking module using app_links for Android/iOS universal links.
|
|
4
|
+
* Integrates with go_router for link-based navigation.
|
|
5
|
+
*/
|
|
6
|
+
export declare const manifest: ModuleManifest;
|
|
7
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/modules/definitions/deep-linking/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,cA6CtB,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deep Linking module using app_links for Android/iOS universal links.
|
|
3
|
+
* Integrates with go_router for link-based navigation.
|
|
4
|
+
*/
|
|
5
|
+
export const manifest = {
|
|
6
|
+
id: 'deep-linking',
|
|
7
|
+
name: 'Deep Linking',
|
|
8
|
+
description: 'Deep link and universal link handling via app_links with go_router integration',
|
|
9
|
+
requires: [],
|
|
10
|
+
templateDir: 'templates/modules/deep-linking',
|
|
11
|
+
ralphPhase: 2,
|
|
12
|
+
questions: [
|
|
13
|
+
{
|
|
14
|
+
id: 'scheme',
|
|
15
|
+
message: 'URL scheme for deep links (e.g. myapp)',
|
|
16
|
+
type: 'text',
|
|
17
|
+
defaultValue: 'myapp',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
id: 'host',
|
|
21
|
+
message: 'Host domain for universal links (e.g. example.com)',
|
|
22
|
+
type: 'text',
|
|
23
|
+
defaultValue: 'example.com',
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
contributions: {
|
|
27
|
+
pubspecDependencies: {
|
|
28
|
+
'app_links': '^6.3.3',
|
|
29
|
+
},
|
|
30
|
+
pubspecDevDependencies: {},
|
|
31
|
+
providers: [
|
|
32
|
+
{
|
|
33
|
+
name: 'deepLinkProvider',
|
|
34
|
+
importPath: '../../features/deep_linking/presentation/providers/deep_link_provider.dart',
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
routes: [
|
|
38
|
+
{
|
|
39
|
+
path: '/deep-link',
|
|
40
|
+
name: 'deepLink',
|
|
41
|
+
importPath: '../../features/deep_linking/presentation/pages/deep_link_page.dart',
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
envVars: [],
|
|
45
|
+
},
|
|
46
|
+
isEnabled: (context) => context.modules.deepLinking !== false,
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/modules/definitions/deep-linking/module.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAmB;IACtC,EAAE,EAAE,cAAc;IAClB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,gFAAgF;IAC7F,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,gCAAgC;IAC7C,UAAU,EAAE,CAAC;IAEb,SAAS,EAAE;QACT;YACE,EAAE,EAAE,QAAQ;YACZ,OAAO,EAAE,wCAAwC;YACjD,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,OAAO;SACtB;QACD;YACE,EAAE,EAAE,MAAM;YACV,OAAO,EAAE,oDAAoD;YAC7D,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,aAAa;SAC5B;KACF;IAED,aAAa,EAAE;QACb,mBAAmB,EAAE;YACnB,WAAW,EAAE,QAAQ;SACtB;QACD,sBAAsB,EAAE,EAAE;QAC1B,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,kBAAkB;gBACxB,UAAU,EAAE,4EAA4E;aACzF;SACF;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,UAAU;gBAChB,UAAU,EAAE,oEAAoE;aACjF;SACF;QACD,OAAO,EAAE,EAAE;KACZ;IAED,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,KAAK,KAAK;CAC9D,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ModuleManifest } from '../../../types/module.js';
|
|
2
|
+
/**
|
|
3
|
+
* Internationalization module providing ARB files, l10n.yaml config,
|
|
4
|
+
* and Riverpod-based locale management for Flutter gen-l10n.
|
|
5
|
+
*/
|
|
6
|
+
export declare const manifest: ModuleManifest;
|
|
7
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/modules/definitions/i18n/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,cAkCtB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internationalization module providing ARB files, l10n.yaml config,
|
|
3
|
+
* and Riverpod-based locale management for Flutter gen-l10n.
|
|
4
|
+
*/
|
|
5
|
+
export const manifest = {
|
|
6
|
+
id: 'i18n',
|
|
7
|
+
name: 'Internationalization',
|
|
8
|
+
description: 'Multi-language support with ARB files and Flutter localization',
|
|
9
|
+
requires: [],
|
|
10
|
+
templateDir: 'templates/modules/i18n',
|
|
11
|
+
ralphPhase: 2,
|
|
12
|
+
questions: [
|
|
13
|
+
{
|
|
14
|
+
id: 'defaultLocale',
|
|
15
|
+
message: 'Default locale (e.g., en)',
|
|
16
|
+
type: 'text',
|
|
17
|
+
defaultValue: 'en',
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
contributions: {
|
|
21
|
+
pubspecDependencies: {
|
|
22
|
+
'flutter_localizations': 'sdk: flutter',
|
|
23
|
+
'intl': '^0.19.0',
|
|
24
|
+
},
|
|
25
|
+
pubspecDevDependencies: {},
|
|
26
|
+
providers: [
|
|
27
|
+
{
|
|
28
|
+
name: 'localeProvider',
|
|
29
|
+
importPath: '../../core/l10n/l10n_provider.dart',
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
routes: [],
|
|
33
|
+
envVars: [],
|
|
34
|
+
},
|
|
35
|
+
isEnabled: (context) => context.modules.i18n !== false,
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/modules/definitions/i18n/module.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAmB;IACtC,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,gEAAgE;IAC7E,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,wBAAwB;IACrC,UAAU,EAAE,CAAC;IAEb,SAAS,EAAE;QACT;YACE,EAAE,EAAE,eAAe;YACnB,OAAO,EAAE,2BAA2B;YACpC,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,IAAI;SACnB;KACF;IAED,aAAa,EAAE;QACb,mBAAmB,EAAE;YACnB,uBAAuB,EAAE,cAAc;YACvC,MAAM,EAAE,SAAS;SAClB;QACD,sBAAsB,EAAE,EAAE;QAC1B,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,gBAAgB;gBACtB,UAAU,EAAE,oCAAoC;aACjD;SACF;QACD,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ;IAED,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK;CACvD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ModuleManifest } from '../../../types/module.js';
|
|
2
|
+
/**
|
|
3
|
+
* Push Notifications module supporting Firebase Cloud Messaging and OneSignal.
|
|
4
|
+
* Generates Clean Architecture layers for push notification handling.
|
|
5
|
+
*/
|
|
6
|
+
export declare const manifest: ModuleManifest;
|
|
7
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/modules/definitions/push/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,cAqCtB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Push Notifications module supporting Firebase Cloud Messaging and OneSignal.
|
|
3
|
+
* Generates Clean Architecture layers for push notification handling.
|
|
4
|
+
*/
|
|
5
|
+
export const manifest = {
|
|
6
|
+
id: 'push',
|
|
7
|
+
name: 'Push Notifications',
|
|
8
|
+
description: 'Push notification support via Firebase Cloud Messaging or OneSignal',
|
|
9
|
+
requires: [],
|
|
10
|
+
templateDir: 'templates/modules/push',
|
|
11
|
+
ralphPhase: 2,
|
|
12
|
+
questions: [
|
|
13
|
+
{
|
|
14
|
+
id: 'provider',
|
|
15
|
+
message: 'Which push notification provider do you want to use?',
|
|
16
|
+
type: 'select',
|
|
17
|
+
options: [
|
|
18
|
+
{ value: 'firebase', label: 'Firebase Cloud Messaging' },
|
|
19
|
+
{ value: 'onesignal', label: 'OneSignal' },
|
|
20
|
+
],
|
|
21
|
+
defaultValue: 'firebase',
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
contributions: {
|
|
25
|
+
pubspecDependencies: {
|
|
26
|
+
'firebase_messaging': '^15.1.6',
|
|
27
|
+
},
|
|
28
|
+
pubspecDevDependencies: {},
|
|
29
|
+
providers: [
|
|
30
|
+
{
|
|
31
|
+
name: 'pushNotificationProvider',
|
|
32
|
+
importPath: '../../features/push/presentation/providers/push_provider.dart',
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
routes: [],
|
|
36
|
+
envVars: [],
|
|
37
|
+
},
|
|
38
|
+
isEnabled: (context) => context.modules.push !== false,
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/modules/definitions/push/module.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAmB;IACtC,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,qEAAqE;IAClF,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,wBAAwB;IACrC,UAAU,EAAE,CAAC;IAEb,SAAS,EAAE;QACT;YACE,EAAE,EAAE,UAAU;YACd,OAAO,EAAE,sDAAsD;YAC/D,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,0BAA0B,EAAE;gBACxD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;aAC3C;YACD,YAAY,EAAE,UAAU;SACzB;KACF;IAED,aAAa,EAAE;QACb,mBAAmB,EAAE;YACnB,oBAAoB,EAAE,SAAS;SAChC;QACD,sBAAsB,EAAE,EAAE;QAC1B,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,0BAA0B;gBAChC,UAAU,EAAE,+DAA+D;aAC5E;SACF;QACD,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ;IAED,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK;CACvD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ModuleManifest } from '../../../types/module.js';
|
|
2
|
+
/**
|
|
3
|
+
* Theme module providing Material 3 theming with ColorScheme.fromSeed,
|
|
4
|
+
* dark/light mode switching via Riverpod, and optional Google Fonts.
|
|
5
|
+
*/
|
|
6
|
+
export declare const manifest: ModuleManifest;
|
|
7
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/modules/definitions/theme/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,cAuCtB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme module providing Material 3 theming with ColorScheme.fromSeed,
|
|
3
|
+
* dark/light mode switching via Riverpod, and optional Google Fonts.
|
|
4
|
+
*/
|
|
5
|
+
export const manifest = {
|
|
6
|
+
id: 'theme',
|
|
7
|
+
name: 'Theme',
|
|
8
|
+
description: 'Advanced Material 3 theming with seed colors, dark/light mode switching via Riverpod',
|
|
9
|
+
requires: [],
|
|
10
|
+
templateDir: 'templates/modules/theme',
|
|
11
|
+
ralphPhase: 2,
|
|
12
|
+
questions: [
|
|
13
|
+
{
|
|
14
|
+
id: 'seedColor',
|
|
15
|
+
message: 'What seed color for your theme? (hex, e.g. #6750A4)',
|
|
16
|
+
type: 'text',
|
|
17
|
+
defaultValue: '#6750A4',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
id: 'darkMode',
|
|
21
|
+
message: 'Enable dark mode support?',
|
|
22
|
+
type: 'confirm',
|
|
23
|
+
defaultValue: true,
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
contributions: {
|
|
27
|
+
pubspecDependencies: {
|
|
28
|
+
'google_fonts': '^6.2.1',
|
|
29
|
+
},
|
|
30
|
+
pubspecDevDependencies: {},
|
|
31
|
+
providers: [
|
|
32
|
+
{
|
|
33
|
+
name: 'appThemeModeProvider',
|
|
34
|
+
importPath: '../../core/theme/theme_provider.dart',
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
routes: [],
|
|
38
|
+
envVars: [],
|
|
39
|
+
},
|
|
40
|
+
isEnabled: (context) => context.modules.theme !== false,
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../src/modules/definitions/theme/module.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAmB;IACtC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,sFAAsF;IACnG,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,yBAAyB;IACtC,UAAU,EAAE,CAAC;IAEb,SAAS,EAAE;QACT;YACE,EAAE,EAAE,WAAW;YACf,OAAO,EAAE,qDAAqD;YAC9D,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,SAAS;SACxB;QACD;YACE,EAAE,EAAE,UAAU;YACd,OAAO,EAAE,2BAA2B;YACpC,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,IAAI;SACnB;KACF;IAED,aAAa,EAAE;QACb,mBAAmB,EAAE;YACnB,cAAc,EAAE,QAAQ;SACzB;QACD,sBAAsB,EAAE,EAAE;QAC1B,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,UAAU,EAAE,sCAAsC;aACnD;SACF;QACD,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;KACZ;IAED,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK;CACxD,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { ModuleManifest } from '../types/module.js';
|
|
2
|
+
/**
|
|
3
|
+
* Registry that discovers and loads all module definitions
|
|
4
|
+
* from src/modules/definitions/ (at runtime: dist/modules/definitions/).
|
|
5
|
+
*/
|
|
6
|
+
export declare class ModuleRegistry {
|
|
7
|
+
private readonly modules;
|
|
8
|
+
private loaded;
|
|
9
|
+
/** Override the definitions directory (useful for testing) */
|
|
10
|
+
private readonly definitionsDir;
|
|
11
|
+
constructor(definitionsDir?: string);
|
|
12
|
+
/**
|
|
13
|
+
* Discover and load all module definitions from the definitions directory.
|
|
14
|
+
* Each subdirectory should contain a module.ts/module.js exporting `{ manifest }`.
|
|
15
|
+
*/
|
|
16
|
+
loadAll(): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Register a module manifest directly (useful for testing or programmatic registration).
|
|
19
|
+
*/
|
|
20
|
+
register(manifest: ModuleManifest): void;
|
|
21
|
+
/**
|
|
22
|
+
* Get a module by ID. Throws if the module is not registered.
|
|
23
|
+
*/
|
|
24
|
+
get(id: string): ModuleManifest;
|
|
25
|
+
/**
|
|
26
|
+
* Check if a module is registered.
|
|
27
|
+
*/
|
|
28
|
+
has(id: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Get all registered modules.
|
|
31
|
+
*/
|
|
32
|
+
getAll(): ModuleManifest[];
|
|
33
|
+
/**
|
|
34
|
+
* Get all modules that are always included (e.g., core).
|
|
35
|
+
*/
|
|
36
|
+
getAlwaysIncluded(): ModuleManifest[];
|
|
37
|
+
/**
|
|
38
|
+
* Get all optional (user-selectable) modules.
|
|
39
|
+
*/
|
|
40
|
+
getOptional(): ModuleManifest[];
|
|
41
|
+
/**
|
|
42
|
+
* Get the number of registered modules.
|
|
43
|
+
*/
|
|
44
|
+
get size(): number;
|
|
45
|
+
/**
|
|
46
|
+
* Whether loadAll() has been called.
|
|
47
|
+
*/
|
|
48
|
+
get isLoaded(): boolean;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/modules/registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKzD;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAC7D,OAAO,CAAC,MAAM,CAAS;IAEvB,8DAA8D;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAE5B,cAAc,CAAC,EAAE,MAAM;IAInC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B9B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAIxC;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc;IAQ/B;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxB;;OAEG;IACH,MAAM,IAAI,cAAc,EAAE;IAI1B;;OAEG;IACH,iBAAiB,IAAI,cAAc,EAAE;IAIrC;;OAEG;IACH,WAAW,IAAI,cAAc,EAAE;IAI/B;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;CACF"}
|