flutter-pro-max-cli 1.0.1 → 2.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.
Files changed (89) hide show
  1. package/README.md +97 -16
  2. package/assets/data/flutter-performance.csv +36 -0
  3. package/assets/data/mobile-accessibility.csv +36 -0
  4. package/assets/{.shared/data → data}/patterns.csv +2 -1
  5. package/assets/data/ui-reasoning.csv +36 -0
  6. package/assets/{.claude/skills/flutter-pro-max/scripts → scripts}/core.py +20 -3
  7. package/assets/{.codex/skills/flutter-pro-max/scripts → scripts}/search.py +1 -1
  8. package/assets/templates/base/quick-reference.md +41 -0
  9. package/assets/templates/base/skill-content.md +179 -0
  10. package/assets/templates/platforms/agent.json +21 -0
  11. package/assets/templates/platforms/claude.json +21 -0
  12. package/assets/templates/platforms/codebuddy.json +18 -0
  13. package/assets/templates/platforms/codex.json +21 -0
  14. package/assets/templates/platforms/continue.json +21 -0
  15. package/assets/templates/platforms/copilot.json +18 -0
  16. package/assets/templates/platforms/cursor.json +18 -0
  17. package/assets/templates/platforms/gemini.json +21 -0
  18. package/assets/templates/platforms/kiro.json +18 -0
  19. package/assets/templates/platforms/opencode.json +21 -0
  20. package/assets/templates/platforms/qoder.json +18 -0
  21. package/assets/templates/platforms/roocode.json +18 -0
  22. package/assets/templates/platforms/trae.json +21 -0
  23. package/assets/templates/platforms/windsurf.json +18 -0
  24. package/dist/commands/init.js +13 -13
  25. package/dist/commands/update.d.ts +6 -0
  26. package/dist/commands/update.js +27 -0
  27. package/dist/commands/versions.d.ts +1 -0
  28. package/dist/commands/versions.js +36 -0
  29. package/dist/index.js +27 -1
  30. package/dist/types/index.d.ts +20 -1
  31. package/dist/types/index.js +4 -1
  32. package/dist/utils/detect.js +11 -1
  33. package/dist/utils/extract.d.ts +5 -0
  34. package/dist/utils/github.d.ts +11 -0
  35. package/dist/utils/github.js +81 -0
  36. package/dist/utils/template.d.ts +25 -0
  37. package/dist/utils/template.js +194 -0
  38. package/package.json +8 -4
  39. package/assets/.agent/workflows/flutter-pro-max.md +0 -165
  40. package/assets/.agent/workflows/scripts/core.py +0 -345
  41. package/assets/.agent/workflows/scripts/search.py +0 -106
  42. package/assets/.claude/skills/flutter-pro-max/SKILL.md +0 -165
  43. package/assets/.claude/skills/flutter-pro-max/scripts/search.py +0 -106
  44. package/assets/.codebuddy/commands/flutter-pro-max.md +0 -165
  45. package/assets/.codebuddy/commands/scripts/core.py +0 -345
  46. package/assets/.codebuddy/commands/scripts/search.py +0 -106
  47. package/assets/.codex/skills/flutter-pro-max/SKILL.md +0 -165
  48. package/assets/.codex/skills/flutter-pro-max/scripts/core.py +0 -345
  49. package/assets/.cursor/commands/flutter-pro-max.md +0 -165
  50. package/assets/.cursor/commands/scripts/core.py +0 -345
  51. package/assets/.cursor/commands/scripts/search.py +0 -106
  52. package/assets/.gemini/skills/flutter-pro-max/SKILL.md +0 -165
  53. package/assets/.gemini/skills/flutter-pro-max/scripts/core.py +0 -345
  54. package/assets/.gemini/skills/flutter-pro-max/scripts/search.py +0 -106
  55. package/assets/.github/prompts/flutter-pro-max.prompt.md +0 -165
  56. package/assets/.github/prompts/scripts/core.py +0 -345
  57. package/assets/.github/prompts/scripts/search.py +0 -106
  58. package/assets/.kiro/steering/flutter-pro-max.md +0 -164
  59. package/assets/.kiro/steering/scripts/core.py +0 -345
  60. package/assets/.kiro/steering/scripts/search.py +0 -106
  61. package/assets/.qoder/rules/flutter-pro-max.md +0 -164
  62. package/assets/.qoder/rules/scripts/core.py +0 -345
  63. package/assets/.qoder/rules/scripts/search.py +0 -106
  64. package/assets/.roo/commands/flutter-pro-max.md +0 -164
  65. package/assets/.roo/commands/scripts/core.py +0 -345
  66. package/assets/.roo/commands/scripts/search.py +0 -106
  67. package/assets/.shared/flutter-pro-max/SKILL.md +0 -165
  68. package/assets/.shared/flutter-pro-max/scripts/core.py +0 -341
  69. package/assets/.shared/flutter-pro-max/scripts/search.py +0 -106
  70. package/assets/.trae/skills/flutter-pro-max/SKILL.md +0 -165
  71. package/assets/.trae/skills/flutter-pro-max/scripts/core.py +0 -345
  72. package/assets/.trae/skills/flutter-pro-max/scripts/search.py +0 -106
  73. package/assets/.windsurf/workflows/flutter-pro-max.md +0 -165
  74. package/assets/.windsurf/workflows/scripts/core.py +0 -345
  75. package/assets/.windsurf/workflows/scripts/search.py +0 -106
  76. package/dist/utils/extract.js +0 -83
  77. /package/assets/{.shared/data → data}/architect.csv +0 -0
  78. /package/assets/{.shared/data → data}/charts.csv +0 -0
  79. /package/assets/{.shared/data → data}/colors.csv +0 -0
  80. /package/assets/{.shared/data → data}/icons.csv +0 -0
  81. /package/assets/{.shared/data → data}/landing.csv +0 -0
  82. /package/assets/{.shared/data → data}/name_convention.csv +0 -0
  83. /package/assets/{.shared/data → data}/package.csv +0 -0
  84. /package/assets/{.shared/data → data}/products.csv +0 -0
  85. /package/assets/{.shared/data → data}/prompts.csv +0 -0
  86. /package/assets/{.shared/data → data}/styles.csv +0 -0
  87. /package/assets/{.shared/data → data}/typography.csv +0 -0
  88. /package/assets/{.shared/data → data}/ux-guidelines.csv +0 -0
  89. /package/assets/{.shared/data → data}/widget.csv +0 -0
@@ -1,83 +0,0 @@
1
- import { mkdir, rm, access, cp } from 'node:fs/promises';
2
- import { join, basename } from 'node:path';
3
- import { exec } from 'node:child_process';
4
- import { promisify } from 'node:util';
5
- import { AI_FOLDERS } from '../types/index.js';
6
- const execAsync = promisify(exec);
7
- const EXCLUDED_FILES = ['settings.local.json'];
8
- export async function extractZip(zipPath, destDir) {
9
- try {
10
- const isWindows = process.platform === 'win32';
11
- if (isWindows) {
12
- await execAsync(`powershell -Command "Expand-Archive -Path '${zipPath}' -DestinationPath '${destDir}' -Force"`);
13
- }
14
- else {
15
- await execAsync(`unzip -o "${zipPath}" -d "${destDir}"`);
16
- }
17
- }
18
- catch (error) {
19
- throw new Error(`Failed to extract zip: ${error}`);
20
- }
21
- }
22
- async function exists(path) {
23
- try {
24
- await access(path);
25
- return true;
26
- }
27
- catch {
28
- return false;
29
- }
30
- }
31
- export async function copyFolders(sourceDir, targetDir, aiType) {
32
- const copiedFolders = [];
33
- const foldersToCopy = aiType === 'all'
34
- ? ['.claude', '.cursor', '.windsurf', '.agent', '.github', '.kiro', '.roo', '.codex', '.gemini', '.qoder', '.codebuddy', '.trae', '.shared']
35
- : AI_FOLDERS[aiType];
36
- // Deduplicate folders (e.g., .shared might be listed multiple times)
37
- const uniqueFolders = [...new Set(foldersToCopy)];
38
- for (const folder of uniqueFolders) {
39
- const sourcePath = join(sourceDir, folder);
40
- const targetPath = join(targetDir, folder);
41
- // Check if source folder exists
42
- const sourceExists = await exists(sourcePath);
43
- if (!sourceExists) {
44
- continue;
45
- }
46
- // Create target directory if needed
47
- await mkdir(targetPath, { recursive: true });
48
- // Filter function to exclude certain files
49
- const filterFn = (src) => {
50
- const fileName = basename(src);
51
- return !EXCLUDED_FILES.includes(fileName);
52
- };
53
- // Copy recursively
54
- try {
55
- await cp(sourcePath, targetPath, { recursive: true, filter: filterFn });
56
- copiedFolders.push(folder);
57
- }
58
- catch {
59
- // Try shell fallback for older Node versions
60
- try {
61
- if (process.platform === 'win32') {
62
- await execAsync(`xcopy "${sourcePath}" "${targetPath}" /E /I /Y`);
63
- }
64
- else {
65
- await execAsync(`cp -r "${sourcePath}/." "${targetPath}"`);
66
- }
67
- copiedFolders.push(folder);
68
- }
69
- catch {
70
- // Skip if copy fails
71
- }
72
- }
73
- }
74
- return copiedFolders;
75
- }
76
- export async function cleanup(tempDir) {
77
- try {
78
- await rm(tempDir, { recursive: true, force: true });
79
- }
80
- catch {
81
- // Ignore cleanup errors
82
- }
83
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes