如何使用Summoner快速创建Haskell项目?CLI与TUI双界面完整指南
【免费下载链接】summoner🔮 🔧 Tool for scaffolding batteries-included production-level Haskell projects项目地址: https://gitcode.com/gh_mirrors/su/summoner
Summoner是一款功能强大的Haskell项目脚手架工具,能够帮助开发者快速创建配置完善的生产级项目。无论是需要上传到Hackage/Stackage的库,还是使用自定义 prelude 的生产应用,Summoner都能轻松应对,甚至还能直接将项目上传到GitHub。它提供CLI(命令行界面)和TUI(终端用户界面)两种操作方式,满足不同用户的使用习惯。
🌟 Summoner 核心功能亮点
Summoner作为Haskell项目脚手架工具,具备以下核心特性:
- 双界面支持:同时提供直观的TUI图形界面和高效的CLI命令行操作
- 完整项目结构:自动生成符合Haskell最佳实践的项目架构
- 多构建工具兼容:支持Cabal和Stack两种主流构建系统
- CI/CD集成:内置GitHub Actions、Travis和AppVeyor配置
- 自定义配置:通过配置文件保存个人偏好,实现一键项目创建
- 许可证管理:支持多种开源许可证自动生成
📥 快速安装指南
TUI 界面安装
Homebrew 安装(macOS)
brew install kowainik/tap/summoner-tuiUbuntu 系统安装
sudo add-apt-repository ppa:kowainik/summoner-tui sudo apt update sudo apt install summoner-tui从 Hackage 安装
cabal update cabal install summoner-tui从源码构建
git clone https://gitcode.com/gh_mirrors/su/summoner cd summoner cabal install summoner-tui:exe:summon-tui # 或使用 Stack stack install summoner-tui:exe:summon-tuiCLI 界面安装
CLI版本的安装方式与TUI类似,主要区别在于包名称和可执行文件:
# 使用 Cabal cabal install summoner-cli # 使用 Stack stack install summoner-cli:exe:summon⚙️ 配置文件设置
Summoner支持通过配置文件保存项目默认设置,位于用户主目录下的.summoner.toml。项目示例中提供了配置模板:summoner-cli/examples/summoner-default.toml
主要配置选项包括:
# GitHub用户名 owner = "your-github-username" # 全名 fullName = "Your Name" # 邮箱 email = "your.email@example.com" # 默认许可证 license = "MIT" # 项目组件设置 # cabal = true # stack = true # lib = true # exe = true # test = true # bench = true🚀 两种界面使用教程
TUI 图形界面使用
TUI提供直观的交互式操作界面,只需在终端中运行:
summon-tui启动后会显示图形化配置界面,通过方向键和回车键进行选择和确认,逐步完成项目名称、描述、许可证、组件等选项的配置。配置完成后,Summoner会自动生成完整的项目结构。
CLI 命令行界面使用
CLI适合喜欢高效操作的用户,基本命令格式为:
summon new PROJECT_NAME [选项]常用选项
--ignore-config:忽略配置文件,使用默认设置--no-upload:创建项目但不上传到GitHub--offline:离线模式,使用"All Rights Reserved"许可证--cabal/--stack:指定构建工具--prelude-package:设置自定义prelude包--prelude-module:设置自定义prelude模块
示例命令
创建一个包含库、可执行文件和测试的项目:
summon new my-haskell-project --cabal --stack with lib exe test使用自定义prelude创建项目:
summon new my-project --prelude-package relude --prelude-module Relude📁 生成的项目结构
Summoner创建的项目包含完整的生产级配置,以full-batteries示例项目为例:summoner-cli/examples/full-batteries/
典型结构包括:
src/:源代码目录app/:可执行文件目录test/:测试代码目录benchmark/:基准测试目录- 多种构建配置文件(.cabal和stack.yaml)
- CI配置文件
- 许可证和文档文件
💡 使用技巧与最佳实践
- 利用配置文件:通过配置文件保存常用设置,避免重复输入
- 组合使用界面:复杂项目使用TUI配置,简单项目使用CLI快速创建
- 自定义模板:高级用户可通过修改模板文件自定义项目结构:headroom-templates/haskell.mustache
- 离线工作:使用
--offline选项在无网络环境下创建项目 - 版本控制:Summoner会自动初始化Git仓库,便于立即开始版本控制
❓ 常见问题解答
Q: Summoner支持哪些许可证?
A: 支持多种开源许可证,可通过summon show license命令查看完整列表。
Q: 如何更新Summoner到最新版本?
A: 根据安装方式不同,使用对应的包管理器更新(如brew upgrade summoner-tui或cabal update && cabal install summoner-tui)。
Q: 可以同时使用Cabal和Stack吗?
A: 是的,Summoner支持同时生成两种构建系统的配置文件。
通过Summoner,Haskell开发者可以告别繁琐的项目配置,专注于核心功能的实现。无论是新手还是经验丰富的开发者,都能通过这个强大的工具快速搭建专业的Haskell项目。
【免费下载链接】summoner🔮 🔧 Tool for scaffolding batteries-included production-level Haskell projects项目地址: https://gitcode.com/gh_mirrors/su/summoner
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考