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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3944688b5f28438bdb286304bbdc06115afbe3d7e1548aaa37e933fbaa0a2ddf
|
4
|
+
data.tar.gz: a1be710fc98a0add8e63dcca21a3a5d59a429e5a50fea27e13365060cbb9ef2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
|
data/lib/smdev/cursor_rules/templates/.cursor/rules/ui-rules/ui-component-standards-agent.mdc
CHANGED
@@ -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.
|
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-
|
12
|
-
dependencies:
|
13
|
-
|
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
|
- - ">="
|