rails_app_generator 0.2.20 → 0.2.23

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/.builders/generators/project-plan.rb +19 -5
  3. data/CHANGELOG.md +22 -0
  4. data/after_templates/addons/annotate/_.rb +27 -0
  5. data/after_templates/addons/annotate/app/controllers/home_controller.rb +4 -0
  6. data/after_templates/addons/annotate/app/views/home/index.html.erb +20 -0
  7. data/after_templates/addons/annotate/app/views/layouts/_footer.html.erb +3 -0
  8. data/after_templates/addons/annotate/app/views/layouts/_navbar.html.erb +5 -0
  9. data/after_templates/addons/annotate/app/views/layouts/application.html.erb +23 -0
  10. data/after_templates/addons/avo/_.rb +54 -0
  11. data/after_templates/addons/avo/app/controllers/home_controller.rb +4 -0
  12. data/after_templates/addons/avo/app/views/home/index.html.erb +3 -0
  13. data/after_templates/addons/avo/app/views/layouts/_footer.html.erb +3 -0
  14. data/after_templates/addons/avo/app/views/layouts/_navbar.html.erb +8 -0
  15. data/after_templates/addons/avo/app/views/layouts/application.html.erb +23 -0
  16. data/after_templates/addons/avo/db/seeds.rb +132 -0
  17. data/after_templates/addons/devise/_.rb +70 -0
  18. data/after_templates/addons/devise/app/controllers/home_controller.rb +4 -0
  19. data/after_templates/addons/devise/app/controllers/posts_controller.rb +81 -0
  20. data/after_templates/addons/devise/app/models/post.rb +11 -0
  21. data/after_templates/addons/devise/app/models/user.rb +17 -0
  22. data/after_templates/addons/devise/app/views/home/index.html.erb +40 -0
  23. data/after_templates/addons/devise/app/views/layouts/_footer.html.erb +1 -0
  24. data/after_templates/addons/devise/app/views/layouts/_navbar.html.erb +10 -0
  25. data/after_templates/addons/devise/app/views/layouts/application.html.erb +38 -0
  26. data/after_templates/addons/devise/app/views/posts/_form.html.erb +27 -0
  27. data/after_templates/addons/devise/app/views/posts/_post.html.erb +14 -0
  28. data/after_templates/addons/devise/app/views/posts/index.html.erb +12 -0
  29. data/after_templates/addons/devise/app/views/posts/show.html.erb +8 -0
  30. data/after_templates/addons/devise/db/seeds.rb +11 -0
  31. data/after_templates/rag/devise/_.rb +14 -17
  32. data/after_templates/rag/devise/app/controllers/home_controller.rb +4 -0
  33. data/after_templates/rag/devise/{post → app/controllers}/posts_controller.rb +0 -0
  34. data/after_templates/rag/devise/{post → app/models}/post.rb +0 -0
  35. data/after_templates/rag/devise/app/views/home/index.html.erb +3 -0
  36. data/after_templates/rag/devise/app/views/layouts/_footer.html.erb +3 -0
  37. data/after_templates/rag/devise/app/views/layouts/_navbar.html.erb +8 -0
  38. data/after_templates/rag/devise/app/views/layouts/application.html.erb +24 -0
  39. data/after_templates/rag/devise/{post → app/views/post}/_post.html.erb +0 -0
  40. data/after_templates/rag/test/_.rb +64 -0
  41. data/after_templates/rag/test/app/controllers/home_controller.rb +4 -0
  42. data/after_templates/rag/test/app/views/home/index.html.erb +3 -0
  43. data/after_templates/rag/test/app/views/layouts/_footer.html.erb +1 -0
  44. data/after_templates/rag/test/app/views/layouts/_navbar.html.erb +5 -0
  45. data/after_templates/rag/test/app/views/layouts/application.html.erb +29 -0
  46. data/after_templates/rag/test/db/seeds.rb +7 -0
  47. data/after_templates/rag/testy/_.rb +64 -0
  48. data/after_templates/rag/testy/app/controllers/home_controller.rb +4 -0
  49. data/after_templates/rag/testy/app/views/home/index.html.erb +3 -0
  50. data/after_templates/rag/testy/app/views/layouts/_footer.html.erb +1 -0
  51. data/after_templates/rag/testy/app/views/layouts/_navbar.html.erb +5 -0
  52. data/after_templates/rag/testy/app/views/layouts/application.html.erb +29 -0
  53. data/after_templates/rag/testy/db/seeds.rb +7 -0
  54. data/docs/last_run/app_generator_class.json +42 -34
  55. data/docs/last_run/app_generator_data.json +11 -10
  56. data/docs/last_run/rails_options_class.json +32 -24
  57. data/docs/last_run/rails_options_data.json +11 -10
  58. data/docs/project-plan/project.drawio +65 -59
  59. data/docs/project-plan/project_done.svg +1 -1
  60. data/lib/rails_app_generator/addon.rb +20 -2
  61. data/lib/rails_app_generator/addons/avo.rb +27 -0
  62. data/lib/rails_app_generator/addons/devise.rb +78 -28
  63. data/lib/rails_app_generator/addons/devise_old.rb +22 -0
  64. data/lib/rails_app_generator/app_generator.rb +40 -22
  65. data/lib/rails_app_generator/gem_query.rb +34 -0
  66. data/lib/rails_app_generator/rag_initializer.rb +22 -8
  67. data/lib/rails_app_generator/version.rb +1 -1
  68. data/lib/rails_app_generator.rb +1 -0
  69. data/package-lock.json +2 -2
  70. data/package.json +1 -1
  71. data/profiles/addons/annotate.json +12 -0
  72. data/profiles/addons/avo.json +16 -0
  73. data/profiles/addons/devise.json +16 -0
  74. data/profiles/addons/{rails-html-sanitizer.json → rails_html_sanitizer.json} +0 -0
  75. data/profiles/rag/testy.json +12 -0
  76. data/tasks/addon.thor +7 -3
  77. data/tasks/profile.thor +3 -3
  78. data/templates/Gemfile.erb +1 -0
  79. data/{after_templates/rag/devise/turbo_controller.rb → templates/addons/devise/app/controllers/turbo_devise_controller.rb} +4 -10
  80. data/templates/addons/devise/app/controllers/users/registrations_controller.rb +62 -0
  81. data/templates/addons/devise/app/views/devise/registrations/edit.html.erb +40 -54
  82. data/templates/addons/devise/app/views/devise/registrations/new.html.erb +32 -43
  83. data/templates/addons/devise/app/views/layouts/_alerts.html.erb +2 -0
  84. data/{after_templates/rag → templates/addons}/devise/config/initializers/devise_turbo.rb +1 -1
  85. data/templates/thor_task/profile/after_template.rb +3 -2
  86. data/templates/thor_task/profile/app/views/layouts/_footer.html.erb.tt +1 -3
  87. data/templates/thor_task/profile/app/views/layouts/_navbar.html.erb +5 -8
  88. data/templates/thor_task/profile/app/views/layouts/application.html.erb.tt +8 -2
  89. data/templates/thor_task/profile/db/seeds.rb +2 -11
  90. metadata +63 -18
  91. data/after_templates/rag/devise/application.html.erb +0 -20
  92. data/tasks/gem_info.rb +0 -47
  93. data/templates/addons/devise/app/views/devise/confirmations/new.html.erb +0 -24
  94. data/templates/addons/devise/app/views/devise/passwords/edit.html.erb +0 -34
  95. data/templates/addons/devise/app/views/devise/passwords/new.html.erb +0 -23
  96. data/templates/addons/devise/app/views/devise/sessions/new.html.erb +0 -33
  97. data/templates/addons/devise/app/views/devise/shared/_error_messages.html.erb +0 -15
  98. data/templates/addons/devise/app/views/devise/shared/_form_wrap.html.erb +0 -5
  99. data/templates/addons/devise/app/views/devise/shared/_links.html.erb +0 -25
  100. data/templates/addons/devise/app/views/devise/unlocks/new.html.erb +0 -22
@@ -30,28 +30,29 @@
30
30
  "skip_bundle": false,
31
31
  "note": "",
32
32
  "test": "rspec",
33
- "add_devise": false,
34
- "add_dotenv": false,
35
- "add_rubocop": false,
36
- "add_annotate": false,
37
- "add_lograge": false,
38
33
  "add_acts_as_list": false,
39
- "add_administrate": false,
40
- "add_browser": false,
34
+ "add_administrate": true,
35
+ "add_annotate": true,
36
+ "add_avo": false,
41
37
  "add_bcrypt": false,
38
+ "add_browser": false,
42
39
  "add_chartkick": false,
43
- "add_faker": false,
40
+ "add_devise": false,
41
+ "add_dotenv": false,
42
+ "add_faker": true,
44
43
  "add_groupdate": false,
45
44
  "add_hexapdf": false,
46
45
  "add_httparty": false,
47
46
  "add_honeybadger": false,
47
+ "add_lograge": false,
48
48
  "add_mini_magick": false,
49
49
  "add_motor_admin": false,
50
- "add_phony_rails": true,
51
50
  "add_public_suffix": false,
51
+ "add_phony_rails": false,
52
52
  "add_rails_html_sanitizer": false,
53
53
  "add_redcarpet": false,
54
+ "add_rubocop": true,
54
55
  "add_twilio_ruby": false,
55
- "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/phony_rails/_.rb"
56
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/administrate/_.rb"
56
57
  }
57
58
  }
@@ -40,27 +40,28 @@
40
40
  "skip_bundle",
41
41
  "note",
42
42
  "test",
43
- "add_devise",
44
- "add_dotenv",
45
- "add_rubocop",
46
- "add_annotate",
47
- "add_lograge",
48
43
  "add_acts_as_list",
49
44
  "add_administrate",
50
- "add_browser",
45
+ "add_annotate",
46
+ "add_avo",
51
47
  "add_bcrypt",
48
+ "add_browser",
52
49
  "add_chartkick",
50
+ "add_devise",
51
+ "add_dotenv",
53
52
  "add_faker",
54
53
  "add_groupdate",
55
54
  "add_hexapdf",
56
55
  "add_httparty",
57
56
  "add_honeybadger",
57
+ "add_lograge",
58
58
  "add_mini_magick",
59
59
  "add_motor_admin",
60
- "add_phony_rails",
61
60
  "add_public_suffix",
61
+ "add_phony_rails",
62
62
  "add_rails_html_sanitizer",
63
63
  "add_redcarpet",
64
+ "add_rubocop",
64
65
  "add_twilio_ruby"
65
66
  ],
66
67
  "class_options": [
@@ -345,21 +346,14 @@
345
346
  "required": false
346
347
  },
347
348
  {
348
- "name": "add_devise",
349
- "description": "",
350
- "type": "boolean",
351
- "default": false,
352
- "required": false
353
- },
354
- {
355
- "name": "add_dotenv",
349
+ "name": "add_acts_as_list",
356
350
  "description": "",
357
351
  "type": "boolean",
358
352
  "default": false,
359
353
  "required": false
360
354
  },
361
355
  {
362
- "name": "add_rubocop",
356
+ "name": "add_administrate",
363
357
  "description": "",
364
358
  "type": "boolean",
365
359
  "default": false,
@@ -373,42 +367,42 @@
373
367
  "required": false
374
368
  },
375
369
  {
376
- "name": "add_lograge",
370
+ "name": "add_avo",
377
371
  "description": "",
378
372
  "type": "boolean",
379
373
  "default": false,
380
374
  "required": false
381
375
  },
382
376
  {
383
- "name": "add_acts_as_list",
377
+ "name": "add_bcrypt",
384
378
  "description": "",
385
379
  "type": "boolean",
386
380
  "default": false,
387
381
  "required": false
388
382
  },
389
383
  {
390
- "name": "add_administrate",
384
+ "name": "add_browser",
391
385
  "description": "",
392
386
  "type": "boolean",
393
387
  "default": false,
394
388
  "required": false
395
389
  },
396
390
  {
397
- "name": "add_browser",
391
+ "name": "add_chartkick",
398
392
  "description": "",
399
393
  "type": "boolean",
400
394
  "default": false,
401
395
  "required": false
402
396
  },
403
397
  {
404
- "name": "add_bcrypt",
398
+ "name": "add_devise",
405
399
  "description": "",
406
400
  "type": "boolean",
407
401
  "default": false,
408
402
  "required": false
409
403
  },
410
404
  {
411
- "name": "add_chartkick",
405
+ "name": "add_dotenv",
412
406
  "description": "",
413
407
  "type": "boolean",
414
408
  "default": false,
@@ -449,6 +443,13 @@
449
443
  "default": false,
450
444
  "required": false
451
445
  },
446
+ {
447
+ "name": "add_lograge",
448
+ "description": "",
449
+ "type": "boolean",
450
+ "default": false,
451
+ "required": false
452
+ },
452
453
  {
453
454
  "name": "add_mini_magick",
454
455
  "description": "",
@@ -464,14 +465,14 @@
464
465
  "required": false
465
466
  },
466
467
  {
467
- "name": "add_phony_rails",
468
+ "name": "add_public_suffix",
468
469
  "description": "",
469
470
  "type": "boolean",
470
471
  "default": false,
471
472
  "required": false
472
473
  },
473
474
  {
474
- "name": "add_public_suffix",
475
+ "name": "add_phony_rails",
475
476
  "description": "",
476
477
  "type": "boolean",
477
478
  "default": false,
@@ -491,6 +492,13 @@
491
492
  "default": false,
492
493
  "required": false
493
494
  },
495
+ {
496
+ "name": "add_rubocop",
497
+ "description": "",
498
+ "type": "boolean",
499
+ "default": false,
500
+ "required": false
501
+ },
494
502
  {
495
503
  "name": "add_twilio_ruby",
496
504
  "description": "",
@@ -7,7 +7,7 @@
7
7
  "quiet": false,
8
8
  "skip": false,
9
9
  "ruby": "/Users/davidcruwys/.asdf/installs/ruby/3.1.1/bin/ruby",
10
- "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/phony_rails/_.rb",
10
+ "template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/addons/administrate/_.rb",
11
11
  "database": "sqlite3",
12
12
  "skip_git": true,
13
13
  "skip_keeps": false,
@@ -40,27 +40,28 @@
40
40
  "skip_bundle": false,
41
41
  "note": "",
42
42
  "test": "rspec",
43
- "add_devise": false,
44
- "add_dotenv": false,
45
- "add_rubocop": false,
46
- "add_annotate": false,
47
- "add_lograge": false,
48
43
  "add_acts_as_list": false,
49
- "add_administrate": false,
50
- "add_browser": false,
44
+ "add_administrate": true,
45
+ "add_annotate": true,
46
+ "add_avo": false,
51
47
  "add_bcrypt": false,
48
+ "add_browser": false,
52
49
  "add_chartkick": false,
53
- "add_faker": false,
50
+ "add_devise": false,
51
+ "add_dotenv": false,
52
+ "add_faker": true,
54
53
  "add_groupdate": false,
55
54
  "add_hexapdf": false,
56
55
  "add_httparty": false,
57
56
  "add_honeybadger": false,
57
+ "add_lograge": false,
58
58
  "add_mini_magick": false,
59
59
  "add_motor_admin": false,
60
- "add_phony_rails": true,
61
60
  "add_public_suffix": false,
61
+ "add_phony_rails": false,
62
62
  "add_rails_html_sanitizer": false,
63
63
  "add_redcarpet": false,
64
+ "add_rubocop": true,
64
65
  "add_twilio_ruby": false
65
66
  }
66
67
  }
@@ -1,172 +1,178 @@
1
- <mxfile host="rva">
2
- <diagram id="v5l" name="In progress">
1
+ <mxfile host="x1H">
2
+ <diagram id="HND" name="In progress">
3
3
  <mxGraphModel dx="0" dy="0" background="#FFFAFA" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
4
4
  <root>
5
- <mxCell id="page_root_v5l" parent="v5l"/>
6
- <mxCell id="node_root_v5l" parent="page_root_v5l"/>
7
- <mxCell id="v5l-2" value="add profile - rag_tailwind_hotwire_flash" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_v5l">
5
+ <mxCell id="page_root_HND" parent="HND"/>
6
+ <mxCell id="node_root_HND" parent="page_root_HND"/>
7
+ <mxCell id="HND-2" value="add profile - rag_tailwind_hotwire_flash" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_HND">
8
8
  <mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
9
9
  </mxCell>
10
10
  </root>
11
11
  </mxGraphModel>
12
12
  </diagram>
13
- <diagram id="JYM" name="To Do">
13
+ <diagram id="cjP" name="To Do">
14
14
  <mxGraphModel dx="0" dy="0" background="#FFFAFA" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
15
15
  <root>
16
- <mxCell id="page_root_JYM" parent="JYM"/>
17
- <mxCell id="node_root_JYM" parent="page_root_JYM"/>
18
- <mxCell id="JYM-2" value="add google fonts" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_JYM">
16
+ <mxCell id="page_root_cjP" parent="cjP"/>
17
+ <mxCell id="node_root_cjP" parent="page_root_cjP"/>
18
+ <mxCell id="cjP-2" value="add google fonts" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_cjP">
19
19
  <mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
20
20
  </mxCell>
21
- <mxCell id="JYM-3" value="broken profile - tailwind-hotwire-form - tailwind-hotwire-form-search, tailwind-hotwire-flash, " style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_JYM">
21
+ <mxCell id="cjP-3" value="broken profile - tailwind-hotwire-form - tailwind-hotwire-form-search, tailwind-hotwire-flash, " style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_cjP">
22
22
  <mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
23
23
  </mxCell>
24
- <mxCell id="JYM-4" value="look at the sample tailwind pages in P7 and turn them into an addon" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_JYM">
24
+ <mxCell id="cjP-4" value="look at the sample tailwind pages in P7 and turn them into an addon" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_cjP">
25
25
  <mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
26
26
  </mxCell>
27
- <mxCell id="JYM-5" value="add auto open flag to profile and command line" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_JYM">
27
+ <mxCell id="cjP-5" value="add auto open flag to profile and command line" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_cjP">
28
28
  <mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
29
29
  </mxCell>
30
- <mxCell id="JYM-6" value="add profile - stimulas" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_JYM">
30
+ <mxCell id="cjP-6" value="add profile - stimulas" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_cjP">
31
31
  <mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
32
32
  </mxCell>
33
- <mxCell id="JYM-7" value="add profile - hotwire" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_JYM">
33
+ <mxCell id="cjP-7" value="add profile - hotwire" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_cjP">
34
34
  <mxGeometry x="650" y="90" width="300" height="60" as="geometry"/>
35
35
  </mxCell>
36
- <mxCell id="JYM-8" value="add profile - turbo" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_JYM">
36
+ <mxCell id="cjP-8" value="add profile - turbo" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_cjP">
37
37
  <mxGeometry x="10" y="170" width="300" height="60" as="geometry"/>
38
38
  </mxCell>
39
- <mxCell id="JYM-9" value="add profile - vue" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_JYM">
39
+ <mxCell id="cjP-9" value="add profile - vue" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_cjP">
40
40
  <mxGeometry x="330" y="170" width="300" height="60" as="geometry"/>
41
41
  </mxCell>
42
- <mxCell id="JYM-10" value="add profile - svelte" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_JYM">
42
+ <mxCell id="cjP-10" value="add profile - svelte" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_cjP">
43
43
  <mxGeometry x="650" y="170" width="300" height="60" as="geometry"/>
44
44
  </mxCell>
45
- <mxCell id="JYM-11" value="add profile - react" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_JYM">
45
+ <mxCell id="cjP-11" value="add profile - react" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_cjP">
46
46
  <mxGeometry x="10" y="250" width="300" height="60" as="geometry"/>
47
47
  </mxCell>
48
- <mxCell id="JYM-12" value="add profile - vite" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_JYM">
48
+ <mxCell id="cjP-12" value="add profile - vite" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_cjP">
49
49
  <mxGeometry x="330" y="250" width="300" height="60" as="geometry"/>
50
50
  </mxCell>
51
- <mxCell id="JYM-13" value="add profile - docker" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_JYM">
51
+ <mxCell id="cjP-13" value="add profile - docker" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_cjP">
52
52
  <mxGeometry x="650" y="250" width="300" height="60" as="geometry"/>
53
53
  </mxCell>
54
- <mxCell id="JYM-14" value="add encryption" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_JYM">
54
+ <mxCell id="cjP-14" value="add encryption" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_cjP">
55
55
  <mxGeometry x="10" y="330" width="300" height="60" as="geometry"/>
56
56
  </mxCell>
57
- <mxCell id="JYM-15" value="cli help support for diff" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_JYM">
57
+ <mxCell id="cjP-15" value="cli help support for diff" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_cjP">
58
58
  <mxGeometry x="330" y="330" width="300" height="60" as="geometry"/>
59
59
  </mxCell>
60
- <mxCell id="JYM-16" value="cli support for rails new (rag new should work like rails new) - buggy, need to work through" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_JYM">
60
+ <mxCell id="cjP-16" value="cli support for rails new (rag new should work like rails new) - buggy, need to work through" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_cjP">
61
61
  <mxGeometry x="650" y="330" width="300" height="60" as="geometry"/>
62
62
  </mxCell>
63
- <mxCell id="JYM-17" value="need an option for deleting target project path" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_JYM">
63
+ <mxCell id="cjP-17" value="need an option for deleting target project path" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_cjP">
64
64
  <mxGeometry x="10" y="410" width="300" height="60" as="geometry"/>
65
65
  </mxCell>
66
66
  </root>
67
67
  </mxGraphModel>
68
68
  </diagram>
69
- <diagram id="KWA" name="Done">
69
+ <diagram id="GXI" name="Done">
70
70
  <mxGraphModel dx="0" dy="0" background="#FFFAFA" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
71
71
  <root>
72
- <mxCell id="page_root_KWA" parent="KWA"/>
73
- <mxCell id="node_root_KWA" parent="page_root_KWA"/>
74
- <mxCell id="KWA-2" value="add addon - acts_as_list" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
72
+ <mxCell id="page_root_GXI" parent="GXI"/>
73
+ <mxCell id="node_root_GXI" parent="page_root_GXI"/>
74
+ <mxCell id="GXI-2" value="add addon - acts_as_list" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
75
75
  <mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
76
76
  </mxCell>
77
- <mxCell id="KWA-3" value="add addon - administrate" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
77
+ <mxCell id="GXI-3" value="add addon - administrate" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
78
78
  <mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
79
79
  </mxCell>
80
- <mxCell id="KWA-4" value="add addon - bcrypt" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
80
+ <mxCell id="GXI-4" value="add addon - annotate" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
81
81
  <mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
82
82
  </mxCell>
83
- <mxCell id="KWA-5" value="add addon - browser" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
83
+ <mxCell id="GXI-5" value="add addon - bcrypt" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
84
84
  <mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
85
85
  </mxCell>
86
- <mxCell id="KWA-6" value="add addon - chartkick" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
86
+ <mxCell id="GXI-6" value="add addon - browser" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
87
87
  <mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
88
88
  </mxCell>
89
- <mxCell id="KWA-7" value="add addon - dotenv" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
89
+ <mxCell id="GXI-7" value="add addon - chartkick" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
90
90
  <mxGeometry x="650" y="90" width="300" height="60" as="geometry"/>
91
91
  </mxCell>
92
- <mxCell id="KWA-8" value="add addon - faker" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
92
+ <mxCell id="GXI-8" value="add addon - dotenv" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
93
93
  <mxGeometry x="10" y="170" width="300" height="60" as="geometry"/>
94
94
  </mxCell>
95
- <mxCell id="KWA-9" value="add addon - hexapdf" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
95
+ <mxCell id="GXI-9" value="add addon - faker" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
96
96
  <mxGeometry x="330" y="170" width="300" height="60" as="geometry"/>
97
97
  </mxCell>
98
- <mxCell id="KWA-10" value="add addon - honeybadger" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
98
+ <mxCell id="GXI-10" value="add addon - groupdate" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
99
99
  <mxGeometry x="650" y="170" width="300" height="60" as="geometry"/>
100
100
  </mxCell>
101
- <mxCell id="KWA-11" value="add addon - httparty" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
101
+ <mxCell id="GXI-11" value="add addon - hexapdf" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
102
102
  <mxGeometry x="10" y="250" width="300" height="60" as="geometry"/>
103
103
  </mxCell>
104
- <mxCell id="KWA-12" value="add addon - lograge" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
104
+ <mxCell id="GXI-12" value="add addon - httparty" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
105
105
  <mxGeometry x="330" y="250" width="300" height="60" as="geometry"/>
106
106
  </mxCell>
107
- <mxCell id="KWA-13" value="add addon - mini_magick" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
107
+ <mxCell id="GXI-13" value="add addon - honeybadger" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
108
108
  <mxGeometry x="650" y="250" width="300" height="60" as="geometry"/>
109
109
  </mxCell>
110
- <mxCell id="KWA-14" value="add addon - motor_magick" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
110
+ <mxCell id="GXI-14" value="add addon - lograge" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
111
111
  <mxGeometry x="10" y="330" width="300" height="60" as="geometry"/>
112
112
  </mxCell>
113
- <mxCell id="KWA-15" value="add addon - phony_rails" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
113
+ <mxCell id="GXI-15" value="add addon - mini_magick" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
114
114
  <mxGeometry x="330" y="330" width="300" height="60" as="geometry"/>
115
115
  </mxCell>
116
- <mxCell id="KWA-16" value="add addon - groupdate" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
116
+ <mxCell id="GXI-16" value="add addon - motor_magick" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
117
117
  <mxGeometry x="650" y="330" width="300" height="60" as="geometry"/>
118
118
  </mxCell>
119
- <mxCell id="KWA-17" value="add addon - browser" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
119
+ <mxCell id="GXI-17" value="add addon - public_suffix" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
120
120
  <mxGeometry x="10" y="410" width="300" height="60" as="geometry"/>
121
121
  </mxCell>
122
- <mxCell id="KWA-18" value="add addon - faker" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
122
+ <mxCell id="GXI-18" value="add addon - phony_rails" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
123
123
  <mxGeometry x="330" y="410" width="300" height="60" as="geometry"/>
124
124
  </mxCell>
125
- <mxCell id="KWA-19" value="add addon - rubocop" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
125
+ <mxCell id="GXI-19" value="add addon - rails_html_sanitizer" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
126
126
  <mxGeometry x="650" y="410" width="300" height="60" as="geometry"/>
127
127
  </mxCell>
128
- <mxCell id="KWA-20" value="add addon - twilio" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
128
+ <mxCell id="GXI-20" value="add addon - redcarpet" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
129
129
  <mxGeometry x="10" y="490" width="300" height="60" as="geometry"/>
130
130
  </mxCell>
131
- <mxCell id="KWA-21" value="add profile - rails-html-sanitizer" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
131
+ <mxCell id="GXI-21" value="add addon - groupdate" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
132
132
  <mxGeometry x="330" y="490" width="300" height="60" as="geometry"/>
133
133
  </mxCell>
134
- <mxCell id="KWA-22" value="add profile - tailwind-emulating-bootstrap" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
134
+ <mxCell id="GXI-22" value="add addon - rubocop" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
135
135
  <mxGeometry x="650" y="490" width="300" height="60" as="geometry"/>
136
136
  </mxCell>
137
- <mxCell id="KWA-23" value="add profile - tailwind-hotwire-form-search" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
137
+ <mxCell id="GXI-23" value="add addon - twilio_ruby" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
138
138
  <mxGeometry x="10" y="570" width="300" height="60" as="geometry"/>
139
139
  </mxCell>
140
- <mxCell id="KWA-24" value="add profile - tailwind-hotwire-form" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
140
+ <mxCell id="GXI-24" value="add profile - tailwind-emulating-bootstrap" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
141
141
  <mxGeometry x="330" y="570" width="300" height="60" as="geometry"/>
142
142
  </mxCell>
143
- <mxCell id="KWA-25" value="add profile - tailwind-hotwire" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
143
+ <mxCell id="GXI-25" value="add profile - tailwind-hotwire-form-search" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
144
144
  <mxGeometry x="650" y="570" width="300" height="60" as="geometry"/>
145
145
  </mxCell>
146
- <mxCell id="KWA-26" value="add profile - import-map" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
146
+ <mxCell id="GXI-26" value="add profile - tailwind-hotwire-form" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
147
147
  <mxGeometry x="10" y="650" width="300" height="60" as="geometry"/>
148
148
  </mxCell>
149
- <mxCell id="KWA-27" value="profile - fix the bootstrap profile" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
149
+ <mxCell id="GXI-27" value="add profile - tailwind-hotwire" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
150
150
  <mxGeometry x="330" y="650" width="300" height="60" as="geometry"/>
151
151
  </mxCell>
152
- <mxCell id="KWA-28" value="cli support for profile" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
152
+ <mxCell id="GXI-28" value="add profile - import-map" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
153
153
  <mxGeometry x="650" y="650" width="300" height="60" as="geometry"/>
154
154
  </mxCell>
155
- <mxCell id="KWA-29" value="separate CLI methods into include modules" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
155
+ <mxCell id="GXI-29" value="profile - fix the bootstrap profile" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
156
156
  <mxGeometry x="10" y="730" width="300" height="60" as="geometry"/>
157
157
  </mxCell>
158
- <mxCell id="KWA-30" value="cli support for diff" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
158
+ <mxCell id="GXI-30" value="cli support for profile" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
159
159
  <mxGeometry x="330" y="730" width="300" height="60" as="geometry"/>
160
160
  </mxCell>
161
- <mxCell id="KWA-31" value="add diff tool - open in editor" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
161
+ <mxCell id="GXI-31" value="separate CLI methods into include modules" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
162
162
  <mxGeometry x="650" y="730" width="300" height="60" as="geometry"/>
163
163
  </mxCell>
164
- <mxCell id="KWA-32" value="add diff tool supporting lhs only, rhs only, same and different" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
164
+ <mxCell id="GXI-32" value="cli support for diff" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
165
165
  <mxGeometry x="10" y="810" width="300" height="60" as="geometry"/>
166
166
  </mxCell>
167
- <mxCell id="KWA-33" value="add project plan to do list" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_KWA">
167
+ <mxCell id="GXI-33" value="add diff tool - open in editor" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
168
168
  <mxGeometry x="330" y="810" width="300" height="60" as="geometry"/>
169
169
  </mxCell>
170
+ <mxCell id="GXI-34" value="add diff tool supporting lhs only, rhs only, same and different" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
171
+ <mxGeometry x="650" y="810" width="300" height="60" as="geometry"/>
172
+ </mxCell>
173
+ <mxCell id="GXI-35" value="add project plan to do list" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_GXI">
174
+ <mxGeometry x="10" y="890" width="300" height="60" as="geometry"/>
175
+ </mxCell>
170
176
  </root>
171
177
  </mxGraphModel>
172
178
  </diagram>