基于 skill-template 脚手架开发,包含: - payroll_config(费率配置,可编辑)+ payslip_snapshots(解析历史,只读)2 张业务表 - 全国默认 + 北上广 4 套费率(社保/公积金/个税起征点/7 级税率表) - 5 个业务 Action:calculate-payslip-simple / calculate-payslip-full / explain-term / view-config / edit-config - 个税累计预扣法计算,支持多月历史累加 - 20 个薪资名词库(社保/公积金/个税/全勤/加班费等) - 完整市场文档(README/TUTORIAL/DEMO/CHANGELOG) - 296 测试全部通过
39 lines
1.0 KiB
Python
39 lines
1.0 KiB
Python
#!/usr/bin/env python3
|
||
# -*- coding: utf-8 -*-
|
||
"""
|
||
skill-template CLI 入口。
|
||
|
||
复制为新技能后,请修改注释与常量,但保留当前分层结构:
|
||
cli(argv)→ service(业务编排)→ db(持久化)→ util(通用工具)。
|
||
|
||
jiangchang_skill_core 来自宿主共享 Python runtime 安装的 jiangchang-platform-kit,
|
||
不在技能仓库内 vendored。
|
||
"""
|
||
from __future__ import annotations
|
||
|
||
import os
|
||
import sys
|
||
|
||
if sys.platform == "win32":
|
||
import io
|
||
|
||
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8", errors="replace")
|
||
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding="utf-8", errors="replace")
|
||
|
||
_scripts_dir = os.path.dirname(os.path.abspath(__file__))
|
||
if _scripts_dir not in sys.path:
|
||
sys.path.insert(0, _scripts_dir)
|
||
|
||
from jiangchang_skill_core.runtime_env import apply_cli_local_defaults
|
||
|
||
apply_cli_local_defaults()
|
||
|
||
from util.config_bootstrap import bootstrap_skill_config
|
||
|
||
bootstrap_skill_config()
|
||
|
||
from cli.app import main
|
||
|
||
if __name__ == "__main__":
|
||
raise SystemExit(main())
|