sxn 0.3.0 → 0.4.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.
data/sxn.gemspec ADDED
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/sxn/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "sxn"
7
+ spec.version = Sxn::VERSION
8
+ spec.authors = ["Ernest Sim"]
9
+ spec.email = ["ernest.codes@gmail.com"]
10
+
11
+ spec.summary = "Session management for multi-repository development"
12
+ spec.description = "Sxn simplifies git worktree management with intelligent project rules and secure automation"
13
+ spec.homepage = "https://github.com/idl3/sxn"
14
+ spec.license = "MIT"
15
+ spec.required_ruby_version = ">= 3.2.0"
16
+
17
+ spec.metadata["allowed_push_host"] = "https://rubygems.org"
18
+ spec.metadata["homepage_uri"] = spec.homepage
19
+ spec.metadata["source_code_uri"] = spec.homepage
20
+ spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/main/CHANGELOG.md"
21
+ spec.metadata["rubygems_mfa_required"] = "true"
22
+
23
+ # Specify which files should be added to the gem when it is released.
24
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
26
+ `git ls-files -z`.split("\x0").reject do |f|
27
+ (f == __FILE__) ||
28
+ f.match(%r{\A(?:(?:test|spec|features)/|\.(?:git|travis|circleci)|appveyor)}) ||
29
+ f.match(/\.db-(?:shm|wal)\z/) || # Exclude SQLite temp files
30
+ f.match(/\.gem\z/) # Exclude gem files
31
+ end
32
+ end
33
+
34
+ spec.bindir = "bin"
35
+ spec.executables = spec.files.grep(%r{\Abin/}) { |f| File.basename(f) }
36
+ spec.require_paths = ["lib"]
37
+
38
+ # Core CLI dependencies
39
+ spec.add_dependency "pastel", "~> 0.8" # Terminal colors
40
+ spec.add_dependency "thor", "~> 1.3" # CLI framework
41
+ spec.add_dependency "tty-progressbar", "~> 0.18" # Progress bars
42
+ spec.add_dependency "tty-prompt", "~> 0.23" # Interactive prompts
43
+ spec.add_dependency "tty-table", "~> 0.12" # Table formatting
44
+
45
+ # Configuration and data management
46
+ spec.add_dependency "dry-configurable", "~> 1.0" # Configuration management
47
+ spec.add_dependency "sqlite3", "~> 1.6" # Session database
48
+ spec.add_dependency "zeitwerk", "~> 2.6" # Code loading
49
+
50
+ # Template engine (secure, sandboxed)
51
+ spec.add_dependency "liquid", "~> 5.4" # Safe template processing
52
+
53
+ # MCP server dependencies
54
+ spec.add_dependency "async", "~> 2.0" # Async operations
55
+ spec.add_dependency "json-schema", "~> 4.0" # Schema validation
56
+ spec.add_dependency "mcp", "~> 0.4" # MCP server SDK
57
+
58
+ # Security and encryption
59
+ spec.add_dependency "bcrypt", "~> 3.1" # Password hashing
60
+ spec.add_dependency "openssl", ">= 3.0" # Encryption support
61
+ spec.add_dependency "ostruct" # OpenStruct for Ruby 3.5+ compatibility
62
+
63
+ # File system operations
64
+ spec.add_dependency "listen", "~> 3.8" # File watching for config cache
65
+ spec.add_dependency "parallel", "~> 1.23" # Parallel execution
66
+
67
+ # Development dependencies
68
+ spec.add_development_dependency "aruba", "~> 2.1" # CLI testing
69
+ spec.add_development_dependency "benchmark" # Benchmark for Ruby 3.5+ compatibility
70
+ spec.add_development_dependency "benchmark-ips", "~> 2.12" # Performance benchmarking
71
+ spec.add_development_dependency "bundler", "~> 2.4"
72
+ spec.add_development_dependency "climate_control", "~> 1.2" # Environment variable testing
73
+ spec.add_development_dependency "faker", "~> 3.2" # Test data generation
74
+ spec.add_development_dependency "memory_profiler", "~> 1.0" # Memory profiling
75
+ spec.add_development_dependency "rake", "~> 13.0"
76
+ spec.add_development_dependency "rspec", "~> 3.12"
77
+ spec.add_development_dependency "rubocop", "~> 1.50" # Code linting
78
+ spec.add_development_dependency "rubocop-performance", "~> 1.16"
79
+ spec.add_development_dependency "rubocop-rspec", "~> 2.19"
80
+ spec.add_development_dependency "simplecov", "~> 0.22" # Code coverage
81
+ spec.add_development_dependency "vcr", "~> 6.2" # HTTP interaction recording
82
+ spec.add_development_dependency "webmock", "~> 3.19" # HTTP mocking for MCP tests
83
+
84
+ # For more information and examples about making a new gem, check out our
85
+ # guide at: https://bundler.io/guides/creating_gem.html
86
+ end
data/test.txt ADDED
@@ -0,0 +1 @@
1
+ content
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sxn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ernest Sim
@@ -163,6 +163,20 @@ dependencies:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
165
  version: '4.0'
166
+ - !ruby/object:Gem::Dependency
167
+ name: mcp
168
+ requirement: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '0.4'
173
+ type: :runtime
174
+ prerelease: false
175
+ version_requirements: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '0.4'
166
180
  - !ruby/object:Gem::Dependency
167
181
  name: bcrypt
168
182
  requirement: !ruby/object:Gem::Requirement
@@ -449,6 +463,7 @@ email:
449
463
  - ernest.codes@gmail.com
450
464
  executables:
451
465
  - sxn
466
+ - sxn-mcp
452
467
  extensions: []
453
468
  extra_rdoc_files: []
454
469
  files:
@@ -501,11 +516,14 @@ files:
501
516
  - Rakefile
502
517
  - Steepfile
503
518
  - bin/sxn
519
+ - bin/sxn-mcp
520
+ - docs/MCP_IMPLEMENTATION.md
504
521
  - docs/parallel_testing.md
505
522
  - lib/sxn.rb
506
523
  - lib/sxn/CLI.rb
507
524
  - lib/sxn/commands.rb
508
525
  - lib/sxn/commands/init.rb
526
+ - lib/sxn/commands/mcp.rb
509
527
  - lib/sxn/commands/projects.rb
510
528
  - lib/sxn/commands/rules.rb
511
529
  - lib/sxn/commands/sessions.rb
@@ -528,6 +546,16 @@ files:
528
546
  - lib/sxn/database/errors.rb
529
547
  - lib/sxn/database/session_database.rb
530
548
  - lib/sxn/errors.rb
549
+ - lib/sxn/mcp.rb
550
+ - lib/sxn/mcp/prompts/workflow_prompts.rb
551
+ - lib/sxn/mcp/resources/session_resources.rb
552
+ - lib/sxn/mcp/server.rb
553
+ - lib/sxn/mcp/tools/base_tool.rb
554
+ - lib/sxn/mcp/tools/projects.rb
555
+ - lib/sxn/mcp/tools/rules.rb
556
+ - lib/sxn/mcp/tools/sessions.rb
557
+ - lib/sxn/mcp/tools/templates.rb
558
+ - lib/sxn/mcp/tools/worktrees.rb
531
559
  - lib/sxn/rules.rb
532
560
  - lib/sxn/rules/base_rule.rb
533
561
  - lib/sxn/rules/copy_files_rule.rb
@@ -614,6 +642,8 @@ files:
614
642
  - sig/sxn/ui/prompt.rbs
615
643
  - sig/sxn/ui/table.rbs
616
644
  - sig/sxn/version.rbs
645
+ - sxn.gemspec
646
+ - test.txt
617
647
  homepage: https://github.com/idl3/sxn
618
648
  licenses:
619
649
  - MIT