smdev 1.2.0 → 1.2.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5f4e2aa439eb52fe028b25c321831575d0f1a9543da3320b849f07187d66ccc8
4
- data.tar.gz: 66f79482307a323b1c96bf2f2e6bee35ae4b700ed9fa6fa6dcff7cd9b61c7d7c
3
+ metadata.gz: 3944688b5f28438bdb286304bbdc06115afbe3d7e1548aaa37e933fbaa0a2ddf
4
+ data.tar.gz: a1be710fc98a0add8e63dcca21a3a5d59a429e5a50fea27e13365060cbb9ef2c
5
5
  SHA512:
6
- metadata.gz: 55da40456e494d693c8aeff2e47dcffb4d82731db5129f2e1a1b0a3e33050e6be7bdc1833ffbed49d514be3ac45f9182387d15ecd29f574a8d526f11efa265c1
7
- data.tar.gz: 3577639b832c7064b7fe54a90688eba6cc1eaa72aa09757a7fb82bb5c8f4ffdeeb6133d5dd23890e73f725ecf03b1a96575a09485dcbfbfcf788dd3b7b7a14bb
6
+ metadata.gz: d45c90193af9f78347a13f05d44cb86d91f1b50bbf06c81882680a5df24a31ff62753774f0d16107918120dda7929f2a40fd514bee3e0b9daa4bb10703439b1c
7
+ data.tar.gz: f0cd7a754c05b6f96783e73e3addb3e43de06fa335abf36cf8cc9b7f98a695d7b6310ac8e72157713d8b89944eb60bb428ffa6e377c4d683eecf62f3f71dc6e1
@@ -11,16 +11,19 @@ alwaysApply: false
11
11
  - Maintains code quality and readability
12
12
  - Guides architectural decisions
13
13
 
14
+
14
15
  ## Critical Rules
15
16
  - Follow current Rails version conventions
16
17
  - Use Rails generators for database changes
17
18
  - Use Ruby 3.x syntax
18
19
  - Use string interpolation over concatenation
19
20
  - Use double quotes only for interpolation
20
- - Follow "skinny controller, fat model" pattern
21
21
  - Use concerns for shared functionality
22
22
  - Use service objects for complex business logic
23
23
  - Prefer server-side solutions using Turbo over client-side JS
24
+ - Follow "skinny controller, fat model" pattern
25
+ - When refactoring controllers move logic to models before jumping to concerns or service objects
26
+ - When refactoring models move logic to concerns before jumping to service objects
24
27
 
25
28
  ## Examples
26
29
 
@@ -24,6 +24,16 @@ alwaysApply: false
24
24
  4. Typography
25
25
  5. Colors and visual effects
26
26
  - Use semantic HTML elements as base components when possible
27
+ - When using Tailwind or traditional CSS...
28
+ - Only use "flex" and flex properties when laying out a page
29
+ - Avoid "w-full" on block elements, use "flex-1" instead
30
+ - Avoid "width: 100%" on block elements, use "flex-1" instead
31
+ - Avoid "h-full" on block elements, use "flex-1" instead
32
+ - Avoid "height: 100%" on block elements, use "flex-1" instead
33
+ - Minimize the use of margins or its Tailwind equivalents "m-*" or "mb-*", use "gap" instead
34
+ - When an element has "position: absolute;", its parent container should have "position: relative;"
35
+ - When using z-index, it should be increments of 10, starting at 0 to prevent runaway values and overlapping elements.
36
+ - When applying breakpoints, it should have a mobile-first approach
27
37
 
28
38
  ## Examples
29
39
 
data/lib/smdev.rb CHANGED
@@ -12,10 +12,23 @@ module Smdev
12
12
 
13
13
  class CLI
14
14
  def run(args = ARGV)
15
+ options = parse_options
15
16
  command = args.shift || 'help'
16
17
  subcommand = args.shift
17
18
 
18
19
  case command
20
+ when 'local_app_setup'
21
+ execute_local_app_setup
22
+ when 'system_install'
23
+ system_install
24
+ when 'clone_repos'
25
+ clone_repos(options)
26
+ when 'update_repos'
27
+ update_repos(options)
28
+ when 'console'
29
+ execute_console(options)
30
+ when 'ssh'
31
+ execute_ssh(options)
19
32
  when 'update'
20
33
  handle_update_command(subcommand)
21
34
  when 'help'
@@ -46,6 +59,18 @@ module Smdev
46
59
  puts parser
47
60
  exit
48
61
  end
62
+ parser.on("-s", "--https", "Use HTTPS instead of SSH for git operations") do
63
+ options[:https] = true
64
+ end
65
+ parser.on("-t", "--team TEAM", "Specify team name for repository operations") do |team|
66
+ options[:team] = team
67
+ end
68
+ parser.on("--cluster CLUSTER", "Specify ECS cluster for console/ssh commands") do |cluster|
69
+ options[:cluster] = cluster
70
+ end
71
+ parser.on("--service SERVICE", "Specify ECS service for console/ssh commands") do |service|
72
+ options[:service] = service
73
+ end
49
74
  end.parse!
50
75
  options
51
76
  end
@@ -53,10 +78,20 @@ module Smdev
53
78
  def display_help
54
79
  puts "Usage: smdev COMMAND [options]"
55
80
  puts "\nCommands:"
81
+ puts " local_app_setup - Set up local development environment"
82
+ puts " system_install - Install system dependencies"
83
+ puts " clone_repos - Clone repositories"
84
+ puts " update_repos - Update repositories"
85
+ puts " console - Open Rails console"
86
+ puts " ssh - SSH into ECS container"
56
87
  puts " update cursor - Install or update cursor rules"
57
88
  puts " help - Show this help message"
58
89
  puts "\nOptions:"
59
90
  puts " -h, --help - Show this help message"
91
+ puts " -s, --https - Use HTTPS instead of SSH for git operations"
92
+ puts " -t, --team - Specify team name for repository operations"
93
+ puts " --cluster - Specify ECS cluster for console/ssh commands"
94
+ puts " --service - Specify ECS service for console/ssh commands"
60
95
  end
61
96
 
62
97
  def handle_pr_critic(options)
metadata CHANGED
@@ -1,16 +1,86 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smdev
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derek Neighbors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-03-31 00:00:00.000000000 Z
12
- dependencies: []
13
- description: StrongMind Development Tool
11
+ date: 2025-04-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: colorize
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: clipboard
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: dotenv
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.1'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: octokit
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '6.1'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '6.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: base64
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.2'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.2'
83
+ description: Collection of tools for StrongMind development
14
84
  email: derek.neighbors@strongmind.com
15
85
  executables:
16
86
  - smdev
@@ -65,7 +135,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
65
135
  requirements:
66
136
  - - ">="
67
137
  - !ruby/object:Gem::Version
68
- version: '0'
138
+ version: '3.0'
69
139
  required_rubygems_version: !ruby/object:Gem::Requirement
70
140
  requirements:
71
141
  - - ">="