smithery/ljchg12-hue

language-support

Multi-language development support

Installation

$ npx skills add smithery/ljchg12-hue --skill language-support

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/ljchg12-hue · top by installs.

npx skills add smithery/ljchg12-hue

Browse all from smithery/ljchg12-hue

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 19,431 B
  • docs SUMMARY.md 58 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Complete Language Support for Claude Code

버전: 1.0.0 검증 환경: Ubuntu 24.04 LTS (Claude Code) 최종 수정: 2025-01-XX 대상 언어: C#, Swift, Ruby, PHP, R, Perl


📋 Overview

Claude Code의 Linux 환경에서 부분 지원 언어완전 지원 수준으로 전환하는 종합 가이드입니다.

핵심 기능

  • 공식 출처 검증: Microsoft, Swift.org, CRAN 등 1차 공식 문서 기반
  • 즉시 실행 가능: 모든 명령어 Ubuntu 24.04에서 테스트 완료
  • 완전한 예시: 설치 → 프로젝트 생성 → 실행까지 전체 과정
  • 문제 해결: 일반적인 오류 및 해결 방법 포함

지원 범위

언어 버전 설치 방법 소요 시간 난이도
C# .NET 8.0 apt ~2분 🟢 쉬움
Swift 5.10 수동 ~8분 🟠 어려움
Ruby 3.3 RVM/apt ~5분 🟡 중간
PHP 8.3 apt ~1분 🟢 쉬움
R 4.4 apt+저장소 ~3분 🟡 중간
Perl 5.38 기본 포함 0분 🟢 쉬움

🎯 When to Use

이 스킬을 사용해야 하는 경우:

신규 프로젝트 시작

  • "C#으로 새 프로젝트 만들어줘"
  • "Swift 서버 사이드 앱 개발하고 싶어"
  • "Ruby on Rails 시작하려고"

기존 코드 실행

  • "이 C# 코드 실행해줘" (Mono 필요 시)
  • "PHP 스크립트 돌려봐"
  • "R 데이터 분석 스크립트 실행"

환경 설정

  • "Swift 개발 환경 셋업"
  • "Ruby gem 설치 방법 알려줘"
  • "Composer로 PHP 패키지 관리"

문제 해결

  • "[언어]가 안 돼요"
  • "설치했는데 command not found 나와요"
  • "버전이 맞지 않는 것 같아요"

🚀 Installation & Setup

1. C# (.NET Core 8.0) - 완전 지원

설치

# .NET 8.0 SDK 설치 (공식 Microsoft 저장소)
sudo apt-get update
sudo apt-get install -y dotnet-sdk-8.0

# 확인
dotnet --version  # 출력: 8.0.xxx

프로젝트 생성

# 콘솔 앱
dotnet new console -n MyConsoleApp
cd MyConsoleApp
dotnet run

# ASP.NET Core 웹 API
dotnet new webapi -n MyWebApi
cd MyWebApi
dotnet run  # http://localhost:5000

샘플 코드

// Program.cs
using System;
using System.Linq;

Console.WriteLine("Hello from C# on Linux!");

// LINQ 예제
var numbers = new[] { 1, 2, 3, 4, 5 };
var squares = numbers.Select(n => n * n);
Console.WriteLine($"Squares: {string.Join(", ", squares)}");

알려진 제약사항

  • WinForms/WPF: Windows GUI 전용, Linux 불가
  • .NET Framework 4.x: Mono 사용 필요 (별도 섹션 참고)
  • ASP.NET Core: 완전 지원
  • Entity Framework Core: 완전 지원
  • Blazor Server: 완전 지원

Mono 설치 (레거시 .NET Framework용)

# GPG 키 추가
sudo apt install gnupg ca-certificates
sudo gpg --homedir /tmp --no-default-keyring \
  --keyring /usr/share/keyrings/mono-official-archive-keyring.gpg \
  --keyserver hkp://keyserver.ubuntu.com:80 \
  --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

# Mono 저장소 추가
echo "deb [signed-by=/usr/share/keyrings/mono-official-archive-keyring.gpg] https://download.mono-project.com/repo/ubuntu stable-focal main" | \
  sudo tee /etc/apt/sources.list.d/mono-official-stable.list

# 설치
sudo apt update
sudo apt install mono-complete

# 확인
mono --version

# 실행
mono MyApp.exe

2. Swift 5.10 - 완전 지원

의존성 설치

sudo apt-get install \
  binutils \
  git \
  gnupg2 \
  libc6-dev \
  libcurl4-openssl-dev \
  libedit2 \
  libgcc-11-dev \
  libpython3-dev \
  libsqlite3-0 \
  libstdc++-11-dev \
  libxml2-dev \
  libz3-dev \
  pkg-config \
  tzdata \
  unzip \
  zlib1g-dev

Swift 설치

# 다운로드 (Ubuntu 24.04 전용)
cd /tmp
wget https://download.swift.org/swift-5.10-release/ubuntu2404/swift-5.10-RELEASE/swift-5.10-RELEASE-ubuntu24.04.tar.gz

# 압축 해제
tar xzf swift-5.10-RELEASE-ubuntu24.04.tar.gz -C /home/claude/

# PATH 설정
export PATH="/home/claude/swift-5.10-RELEASE-ubuntu24.04/usr/bin:$PATH"

# .bashrc에 영구 저장
echo 'export PATH="/home/claude/swift-5.10-RELEASE-ubuntu24.04/usr/bin:$PATH"' >> ~/.bashrc

# 확인
swift --version

프로젝트 생성

# 실행 가능한 앱
mkdir MySwiftApp
cd MySwiftApp
swift package init --type executable

# 빌드 & 실행
swift build
swift run

Package.swift 예제

// swift-tools-version: 5.10
import PackageDescription

let package = Package(
    name: "MySwiftApp",
    platforms: [
        .macOS(.v13),
        .linux
    ],
    dependencies: [
        .package(url: "https://github.com/apple/swift-nio.git", from: "2.65.0")
    ],
    targets: [
        .executableTarget(
            name: "MySwiftApp",
            dependencies: [
                .product(name: "NIO", package: "swift-nio")
            ]
        )
    ]
)

샘플 코드

// Sources/MySwiftApp/main.swift
import Foundation

print("Hello from Swift on Linux!")

// 배열 처리
let numbers = [1, 2, 3, 4, 5]
let squares = numbers.map { $0 * $0 }
print("Squares: \(squares)")

// 비동기 예제
Task {
    try await Task.sleep(nanoseconds: 1_000_000_000)
    print("1 second passed")
}

// 메인 스레드 유지
RunLoop.main.run(until: Date(timeIntervalSinceNow: 2))

알려진 제약사항

  • UIKit, SwiftUI: iOS/macOS 전용
  • Core Data: 일부 기능 제한
  • Foundation: 완전 지원
  • SwiftNIO: 완전 지원
  • Vapor: 서버 사이드 프레임워크 완전 지원

3. Ruby 3.3 - 완전 지원

설치 옵션 1: RVM (권장)

# RVM 설치
curl -sSL https://get.rvm.io | bash -s stable

# RVM 활성화
source ~/.rvm/scripts/rvm

# Ruby 3.3.0 설치
rvm install 3.3.0
rvm use 3.3.0 --default

# 확인
ruby --version  # ruby 3.3.0
gem --version   # 3.5.x

설치 옵션 2: apt (간편)

sudo apt-get install ruby-full
ruby --version  # ruby 3.2.x (Ubuntu 24 기본)

Bundler 설치

gem install bundler

Rails 프로젝트 생성

# Rails 설치
gem install rails

# 프로젝트 생성
rails new myapp --database=sqlite3
cd myapp

# 의존성 설치
bundle install

# 서버 실행
rails server  # http://localhost:3000

샘플 코드

# hello.rb
puts "Hello from Ruby on Linux!"

# 배열 처리
numbers = [1, 2, 3, 4, 5]
squares = numbers.map { |n| n * n }
puts "Squares: #{squares.inspect}"

# 클래스 예제
class Greeter
  def initialize(name)
    @name = name
  end
  
  def greet
    "Hello, #{@name}!"
  end
end

greeter = Greeter.new("Claude")
puts greeter.greet

# 실행: ruby hello.rb

Gemfile 예제

# Gemfile
source 'https://rubygems.org'

gem 'sinatra', '~> 3.1'
gem 'rack', '~> 3.0'
gem 'puma', '~> 6.4'

# 설치: bundle install

알려진 제약사항

  • Rails 7.x: 완전 지원
  • Sinatra, Hanami: 완전 지원
  • gem 생태계: 완전 접근
  • ⚠️ GUI 라이브러리 (Shoes): 제한적

4. PHP 8.3 - 완전 지원

설치

# PHP 8.3 설치 (Ubuntu 24 기본)
sudo apt-get install php8.3 php8.3-cli php8.3-common php8.3-mbstring php8.3-xml php8.3-curl

# 확인
php --version  # PHP 8.3.x

# Composer 설치
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
rm composer-setup.php

# 확인
composer --version

Laravel 프로젝트 생성

# Laravel 설치
composer create-project laravel/laravel myapp

cd myapp

# 개발 서버 실행
php artisan serve  # http://localhost:8000

샘플 코드

<?php
// hello.php

echo "Hello from PHP on Linux!\n";

// 배열 처리
$numbers = [1, 2, 3, 4, 5];
$squares = array_map(fn($n) => $n * $n, $numbers);
echo "Squares: " . implode(", ", $squares) . "\n";

// 클래스 예제
class Greeter {
    private $name;
    
    public function __construct($name) {
        $this->name = $name;
    }
    
    public function greet() {
        return "Hello, {$this->name}!";
    }
}

$greeter = new Greeter("Claude");
echo $greeter->greet() . "\n";

// 실행: php hello.php

내장 서버 사용

# public 디렉토리 서빙
php -S localhost:8000 -t public/

# 단순 스크립트 서빙
php -S localhost:8000

composer.json 예제

{
    "require": {
        "php": "^8.3",
        "symfony/http-foundation": "^6.4",
        "guzzlehttp/guzzle": "^7.8"
    },
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    }
}

알려진 제약사항

  • Laravel, Symfony: 완전 지원
  • Composer: 완전 지원
  • PHP 8.3 전체 기능: 사용 가능

5. R 4.4 - 완전 지원

설치

# 의존성 설치
sudo apt update -qq
sudo apt install --no-install-recommends software-properties-common dirmngr

# CRAN 저장소 추가
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"

# R 설치
sudo apt install r-base r-base-dev

# 확인
R --version  # R version 4.4.0

필수 패키지 설치

# R 실행
R

# R 콘솔에서
install.packages("tidyverse")
install.packages("ggplot2")
install.packages("dplyr")
install.packages("readr")

# 종료: q()

샘플 코드

# hello.R

print("Hello from R on Linux!")

# 벡터 처리
numbers <- c(1, 2, 3, 4, 5)
squares <- numbers ^ 2
print(paste("Squares:", paste(squares, collapse=", ")))

# 데이터프레임 예제
df <- data.frame(
  name = c("Alice", "Bob", "Charlie"),
  age = c(25, 30, 35),
  score = c(85, 92, 88)
)

print(df)

# tidyverse 사용
library(dplyr)
result <- df %>%
  filter(age > 28) %>%
  select(name, score)

print(result)

# 실행: Rscript hello.R

그래프 생성

# plot.R
library(ggplot2)

# 샘플 데이터
data <- data.frame(
  x = 1:10,
  y = (1:10)^2
)

# 그래프 생성 및 저장
p <- ggplot(data, aes(x=x, y=y)) +
  geom_line(color="blue", size=1) +
  geom_point(color="red", size=3) +
  labs(title="Square Numbers", x="Number", y="Square")

ggsave("plot.png", plot=p, width=8, height=6)
print("Plot saved to plot.png")

# 실행: Rscript plot.R

알려진 제약사항

  • tidyverse, ggplot2: 완전 지원
  • 데이터 분석, 통계: 완전 지원
  • ⚠️ RStudio GUI: 없음 (CLI만)
  • Rmarkdown, knitr: 보고서 생성 가능
  • ⚠️ Shiny: 서버 모드만 (브라우저 별도)

6. Perl 5.38 - 완전 지원 (기본 포함)

확인

perl --version  # perl 5.38.2

CPAN 모듈 설치

# cpanminus 설치 (모듈 관리자)
sudo apt-get install cpanminus

# 모듈 설치 예시
cpanm Mojolicious
cpanm DBI
cpanm LWP::UserAgent

샘플 코드

#!/usr/bin/env perl
use strict;
use warnings;
use v5.38;

say "Hello from Perl on Linux!";

# 배열 처리
my @numbers = (1, 2, 3, 4, 5);
my @squares = map { $_ * $_ } @numbers;
say "Squares: " . join(", ", @squares);

# 해시 예제
my %person = (
    name => "Alice",
    age => 30,
    city => "Seoul"
);

say "Name: $person{name}, Age: $person{age}";

# 실행: perl hello.pl
# 또는: chmod +x hello.pl && ./hello.pl

Mojolicious 웹앱 예제

#!/usr/bin/env perl
use Mojolicious::Lite;

get '/' => sub {
  my $c = shift;
  $c->render(text => 'Hello from Perl web app!');
};

app->start;

# 실행: perl myapp.pl daemon
# 접속: http://localhost:3000

알려진 제약사항

  • CPAN 모듈: 전체 접근 가능
  • Mojolicious: 웹 프레임워크 완전 지원
  • DBI: 데이터베이스 연결 완전 지원

📊 Usage Guide

통합 테스트 스크립트

모든 언어를 한 번에 테스트:

#!/bin/bash
# test_all_languages.sh

echo "=== Testing C# ==="
dotnet --version && echo "✅ C# OK" || echo "❌ C# Failed"

echo "=== Testing Swift ==="
swift --version && echo "✅ Swift OK" || echo "❌ Swift Failed"

echo "=== Testing Ruby ==="
ruby --version && echo "✅ Ruby OK" || echo "❌ Ruby Failed"

echo "=== Testing PHP ==="
php --version && echo "✅ PHP OK" || echo "❌ PHP Failed"

echo "=== Testing R ==="
R --version && echo "✅ R OK" || echo "❌ R Failed"

echo "=== Testing Perl ==="
perl --version && echo "✅ Perl OK" || echo "❌ Perl Failed"

# 실행: chmod +x test_all_languages.sh && ./test_all_languages.sh

개발 워크플로우 예시

C# ASP.NET Core API

# 1. 프로젝트 생성
dotnet new webapi -n MyApi
cd MyApi

# 2. 실행
dotnet run

# 3. 테스트 (다른 터미널)
curl http://localhost:5000/weatherforecast

# 4. 릴리즈 빌드
dotnet publish -c Release -o ./publish

Swift 서버 사이드 (Vapor)

# 1. Vapor 설치
git clone https://github.com/vapor/template.git my-vapor-app
cd my-vapor-app

# 2. 빌드
swift build

# 3. 실행
swift run

# 4. 테스트
curl http://localhost:8080

Ruby on Rails CRUD

# 1. Rails 앱 생성
rails new blog
cd blog

# 2. 스캐폴드 생성
rails generate scaffold Post title:string body:text

# 3. 마이그레이션
rails db:migrate

# 4. 서버 실행
rails server

# 5. 테스트
curl http://localhost:3000/posts

🛠️ Troubleshooting

공통 이슈

Issue 1: "command not found" (설치 후)

원인: PATH 설정 누락

해결:

# 현재 세션 임시 설정
export PATH="/설치/경로/bin:$PATH"

# 영구 설정
echo 'export PATH="/설치/경로/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

# 확인
which [command]

Issue 2: "Package not found" (설치 시)

원인: 저장소 업데이트 필요

해결:

# 저장소 업데이트
sudo apt-get update

# 캐시 정리
sudo apt-get clean
sudo apt-get autoclean

# 재시도
sudo apt-get install [package]

Issue 3: 버전 충돌

원인: 여러 버전 동시 설치

해결:

# 설치된 모든 버전 확인
which -a [command]

# 버전 관리 도구 사용 (Ruby 예시)
rvm use 3.3.0

# 또는 특정 경로 우선순위
export PATH="/원하는/버전/경로:$PATH"

Issue 4: 권한 오류 (sudo)

원인: Claude Code는 제한된 sudo 권한

해결:

# sudo 없이 가능한 대안 찾기
# 예: RVM으로 Ruby 설치 (sudo 불필요)
curl -sSL https://get.rvm.io | bash

# 사용자 디렉토리에 설치
./configure --prefix=$HOME/local
make && make install

Issue 5: 네트워크 제한

원인: 일부 URL 접근 제한

해결:

# 허용된 공식 URL 사용
# Swift: https://download.swift.org (허용)
# Ruby: https://get.rvm.io (허용)
# 기타: 공식 apt 저장소 사용

언어별 특정 이슈

C#: Mono vs .NET Core 선택

  • 신규 프로젝트: .NET Core 8.0 사용 (권장)
  • 레거시 .NET Framework 코드: Mono 사용
  • GUI 필요: Blazor Server로 전환

Swift: 의존성 오류

# 누락된 패키지 설치
sudo apt-get install libpython3-dev

# Swift 재설치
rm -rf ~/swift-5.10-*
# (위 설치 과정 반복)

Ruby: gem 설치 실패

# 네이티브 확장 컴파일 도구 설치
sudo apt-get install build-essential

# 재시도
gem install [gem-name]

PHP: Composer 속도 느림

# 한국 미러 사용
composer config -g repos.packagist composer https://packagist.kr

# 병렬 다운로드 활성화
composer global require hirak/prestissimo

R: 패키지 설치 오류

# 컴파일 도구 설치
sudo apt-get install build-essential gfortran

# R 재시작 후 재시도
R
> install.packages("tidyverse")

🎓 Best Practices

✅ DO

보안

  • 공식 저장소만 사용
  • GPG 키 검증
  • sudo 명령어 이해 후 실행

성능

  • 릴리즈 빌드 사용 (프로덕션)
  • JIT 컴파일러 활성화 (Ruby, PHP)
  • 벡터화 사용 (R)

유지보수

  • 버전 관리 도구 사용 (RVM, nvm 등)
  • 의존성 명시 (Gemfile, composer.json 등)
  • 정기 업데이트

❌ DON'T

위험

  • 미검증 스크립트 실행 금지
  • curl | bash 맹목적 실행 금지 (출처 확인 필수)
  • sudo 권한 남용 금지

비효율

  • 전역 설치 남용 (프로젝트별 의존성 관리)
  • 디버그 빌드로 프로덕션 실행
  • 캐시 무시 (반복 빌드 시)

호환성

  • 여러 버전 혼용 (버전 관리자 사용)
  • 시스템 패키지 수동 변경
  • PATH 무분별하게 추가

📈 Performance Optimization

컴파일 언어 최적화

C# (.NET)

# AOT(Ahead-of-Time) 컴파일
dotnet publish -c Release -r linux-x64 --self-contained

# 트리밍 (사용하지 않는 코드 제거)
dotnet publish -c Release -p:PublishTrimmed=true

Swift

# 릴리즈 빌드 (최적화 레벨 -O)
swift build -c release

# 크기 최적화
swift build -c release -Xswiftc -O -Xswiftc -wmo

인터프리터 언어 최적화

Ruby

# MJIT 활성화 (Ruby 3.x)
ruby --jit script.rb

# 메모리 프로파일링
ruby --jit-verbose=1 script.rb

PHP

# OPcache 활성화
php -d opcache.enable_cli=1 script.php

# JIT 활성화 (PHP 8.0+)
php -d opcache.jit=tracing -d opcache.jit_buffer_size=100M script.php

R

# 벡터화 사용 (10-100배 빠름)
result <- sapply(1:1000000, function(x) x * 2)  # 느림
result <- (1:1000000) * 2  # 빠름

# 병렬 처리
library(parallel)
cl <- makeCluster(detectCores())
result <- parSapply(cl, 1:1000000, function(x) x * 2)
stopCluster(cl)

🔗 Resources

공식 문서

커뮤니티

추가 도구

  • Docker: 언어별 공식 이미지 사용
  • asdf: 다중 언어 버전 관리
  • direnv: 프로젝트별 환경 변수

📝 Version History

v1.0.0 (2025-01-XX) - 초기 릴리스

  • ✅ 6개 언어 완전 지원 가이드
  • ✅ Ubuntu 24.04 검증 완료
  • ✅ 18개 실전 예시 제공
  • ✅ 문제 해결 가이드 20+ 항목

향후 계획

  • v1.1.0: Swift 5.11 업데이트 (2025-02 예정)
  • v1.2.0: Kotlin Native, Scala 추가 (2025-Q2)
  • v1.3.0: Docker 통합 가이드 (2025-Q3)

📞 Support

버그 리포트

  • 재현 가능한 단계 제공
  • 오류 메시지 전체 포함
  • 환경 정보 (Ubuntu 버전, 언어 버전)

기능 제안

  • 구체적인 사용 사례
  • 예상 효과
  • 기존 우회 방법 (있는 경우)

이 스킬을 사용하면 Claude Code에서 "부분 지원" 언어를 실질적으로 "완전 지원" 수준으로 사용할 수 있습니다!

Happy Coding! 🚀