Skip to main content

ccal

Chinese Calendar with Lunar-Solar Conversion

インストールへ移動

ソース情報

リポジトリ
x-cmd/x-cmd
ソースの最終更新活動
2026年7月22日 04:00
検出された SKILL.md の言語
英語
スター
4,660
フォーク
166

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
30 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
ccal
description
Chinese Calendar with Lunar-Solar Conversion
## Overview ccal is a Chinese calendar module that provides: - Gregorian and lunar calendar conversion - Solar terms (节气) - Traditional Chinese holidays - Almanac guidance (黄历宜忌) - Heavenly Stems and Earthly Branches (干支) - Six-day cycle (六曜) - Duty star (值星) ## AI Agent Usage ### Output Modes | Mode | Command | Use Case | |------|---------|----------| | **YML** (default in pipe) | `x ccal info <date>` | AI parsing, structured key-value output | | **TSV** | `x ccal info --tsv <date>` | Piping to other tools, tab-separated | | **CSV** | `x ccal info --csv <date>` | Spreadsheet import | | **TTY** (default in terminal) | `x ccal info --tty <date>` | Human viewing, colorful calendar draw | ### Auto-Detection When output is not a TTY (piped to another process): - Automatically outputs YML format - Same as calling `x ccal info --yml <date>` When output is a TTY (interactive terminal): - Uses `x ccal draw` to render colorful calendar - Same as calling `x ccal info --tty <date>` ### Basic Examples ```bash # AI: Get today's date info (auto-detects pipe vs terminal) x ccal info # AI: Get specific date in YML format x ccal info --yml 2025-05-09 # AI: Parse YML output with your favorite tool x ccal info --yml 2025-05-09 | grep "jianchu" # TSV format (tab-separated) x ccal info --tsv 2025-05-09 # CSV format (comma-separated) x ccal info --csv 2025-05-09 # Force TTY mode even in pipe x ccal info --tty 2025-05-09 ``` ### YML Output Format ```yaml date: 2025-05-09 lunar_date: 2025-4-12 lunar_daycount: 29 jianchu: 收 weekday: 五 bazi: 乙巳 辛巳 戊寅 jieqi: 无 jieqi_next: 小满 (5, 21) holiday: 无 xiuxi: 无 related: 无 yi: 结网 解除 馀事勿取 ji: 诸事不宜 ``` ### YML Field Descriptions | Field | Description | Example | |-------|-------------|---------| | date | Gregorian date (YYYY-MM-DD) | 2025-05-09 | | lunar_date | Lunar date (YYYY-M-D) | 2025-4-12 | | lunar_daycount | Days in lunar month (29/30) | 29 | | **jianchu** | **值星** (auspicious/inauspicious star) | 收/满/定/执... | | weekday | Day of week (一-日) | 五 | | bazi | Year/Month/Day Heavenly Stems | 乙巳 辛巳 戊寅 | | **jieqi** | Solar term | 立夏/清明/无 | | jieqi_next | Next solar term with date | 小满 (5, 21) | | holiday | Holiday name | 劳动节/无 | | xiuxi | 休(holiday)/工(workday)/空 | 休 | | related | Holiday adjustment info | 劳动节 2025-05-01 | | **yi** | **宜** (auspicious activities) | 出行 嫁娶 安葬... | | **ji** | **忌** (inauspicious activities) | 动土 破土 祈福... | ### Key Fields for AI **值星 (jianchu)** - Duty star for the day: - 吉: 满/平/定/执 (auspicious) - 凶: 收/破 (inauspicious) **宜 (yi)** - Auspicious activities for the day **忌 (ji)** - Inauspicious activities for the day **六曜 (liuyao)** - Six-day cycle: - 大安 ( auspicious) - 赤口 (inauspicious) - 先胜/友引/先负/佛灭 ## Data Format (TSV) The raw TSV data has 13 columns: ``` date lunar_date daycount jianchu wd bazi jieqi jieqi_next holiday xiuxi related yi ji 2025-05-09 2025-4-12 29 收 五 乙巳 辛巳 戊寅 无 小满 (5, 21) 无 无 无 结网 解除 馀事勿取 诸事不宜 ``` ## Data Source ### Archive Location ``` $___X_CMD_ROOT_DATA/ccal/data/ ├── ccal-data-v0.0.6.tar.xz # Main archive (stream-read, not extracted) └── v0.0.6/cache/ # Pre-extracted index (after first run) ├── year.tsv # Year index └── month.tsv # Month index ``` ### Download - **URL**: https://codeberg.org/x-cmd/ccal-data/releases/download/v0.0.6/ccal-data.tar.xz - **Trigger**: First run or `x ccal lunar update` ### Archive Contents ``` ccal-data/ ├── index/ │ ├── year.tsv # Year index │ └── month.tsv # Month index └── lunar/ └── {year}_{month}.tsv # Monthly data (e.g., 2026_03.tsv) ``` ### Direct Read (No Extraction) ```bash DATA="$___X_CMD_ROOT_DATA/ccal/data/ccal-data-v0.0.6.tar.xz" # Read specific month: 2026 March x zuz cat "$DATA" ccal-data/lunar/2026_03.tsv # Read all months of 2026 x zuz cat "$DATA" ccal-data/lunar/2026_*.tsv ``` ## Reference - `lib/awk/lunar.awk` - Lunar calendar computation - `lib/awk/gongli.awk` - Gregorian calendar computation - `lib/awk/ccal.awk` - Main calendar logic
GitHubで見る