Search by

cable8mm / prompt-weaver

Sam Lee

Prompt Weaver is a simple library for creating and managing prompts in PHP.

Package info

github.com/cable8mm/prompt-weaver

pkg:composer/cable8mm/prompt-weaver

Statistics

Installs: 255

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.1.1 2026-09-18 15:19 UTC

README

code-style run-tests PHP Version Laravel Version Packagist Version Packagist Downloads Packagist License

Prompt Weaver는 Wi-Fi signage 제작을 위한 프롬프트와 이미지 결과를 생성·보정·내보내는 PHP/Laravel 패키지입니다.

주요 기능은 다음과 같습니다.

  • 디자인 브리프 프롬프트 생성
  • JSON 설정 프롬프트 생성
  • 이미지 생성 프롬프트 생성
  • 생성 이미지의 텍스트·QR 위치 보정
  • PNG, HTML, 최종 설정 내보내기

요구사항

  • PHP 8.3 이상
  • Composer 2.x
  • Workbench 개발 환경은 Laravel 12 또는 13
  • GD PHP extension
  • QR calibration을 사용할 경우 uv와 OpenCV 실행 환경

설치

composer require cable8mm/prompt-weaver

Laravel package discovery가 service provider를 자동으로 등록합니다. 설정을 서비스의 config/prompt-weaver.php로 복사하려면 다음을 실행합니다.

php artisan vendor:publish --tag=prompt-weaver-config

어떤 방식으로 사용하는가

standalone CLI

standalone으로 사용할 때는 저장소를 clone한 뒤 Composer 의존성을 설치합니다.

git clone https://github.com/cable8mm/prompt-weaver.git
cd prompt-weaver
composer update
uv sync --locked

기본 CLI 흐름은 init → pipe → calibrate → preview입니다. 미리보기를 확인한 뒤 code → export를 실행합니다.

./weaver init cafe-restaurant
./weaver pipe cafe-restaurant
./weaver calibrate cafe-restaurant
./weaver preview cafe-restaurant
./weaver code cafe-restaurant
./weaver export cafe-restaurant

pipe 대신 brief, config, image를 단계별로 실행하면 각 AI 단계의 입력과 결과를 확인하면서 디버깅할 수 있습니다. 자세한 명령 순서는 CLI 사용법을 참고하세요.

Laravel 서비스

Laravel 서비스에서는 Python 환경을 먼저 준비한 뒤 서비스의 Artisan command나 job에서 패키지를 사용합니다.

php artisan prompt-weaver:install
php artisan prompt-weaver:doctor

서비스에서 실행할 calibration command와 도메인 workflow는 패키지가 대신 만들지 않습니다. Laravel 통합 방법은 Laravel 서비스 통합을 참고하세요.

패키지 저장소에서 Laravel workflow를 직접 확인하려면 composer serve로 Workbench를 실행할 수 있습니다. fixture 기반 init + pipe, 이미지 업로드, 실제 calibration, preview 흐름은 Laravel 서비스 통합에 설명되어 있습니다.

Docker와 Coolify

Docker 또는 Coolify 배포에서는 서비스 이미지에 uv를 설치하고, 이미지 빌드 중 위 Artisan 명령을 실행해야 합니다. 첫 웹 요청에서 Python 환경을 설치하면 안 됩니다.

자세한 내용은 Docker와 Coolify 배포를 참고하세요.

문서

패키지 개발

패키지 자체를 수정하는 경우 다음과 같이 개발 의존성을 설치합니다.

git clone https://github.com/cable8mm/prompt-weaver.git
cd prompt-weaver
composer install
uv sync --locked

PHP 테스트와 정적 검사는 다음 명령으로 실행합니다.

composer test
composer lint

Python detector 테스트는 다음과 같습니다.

uv run --locked python scripts/test_calibrate_qr.py

실제 AI provider를 사용하는 E2E 테스트는 명시적으로 활성화해야 합니다.

composer test:e2e

패키지의 CLI 명령을 변경하면 CLI 사용법과 테스트를 함께 수정합니다. Laravel 통합 명령을 변경하면 Laravel 서비스 통합Docker/Coolify 배포를 함께 확인합니다. pyproject.toml 또는 uv.lock을 변경하면 Python 환경 설치와 Docker 배포 예시도 함께 확인합니다.

서비스 고유의 command 이름은 패키지에 추가하지 않고 소비 서비스에서 정의합니다.

라이선스

MIT