Imported from bosens-China/blog (
AGENTS.md). Install upstream withnpx skills add bosens-China/blog. Copyright stays with the author.
AGENTS.md
这个项目是为了结合 GitHub Issues 而构建一个博客,主要技术栈会包含 Python 3.12 + Astro + Unocss + Uv + TypeScript + Langchain + langGraph + pnpm 来组成的。
博客的风格要求是简约、现代化,支持 pc、平板、移动端的访问,同时支持 dark 和 light 模式,受众群体主要是国内读者,这个博客的风格是记录技术文章以及生活随笔相关的主题,所以我们的设计要符合以上的要求。
注意这个项目为 MonoRepo 结构
- apps/blog 是前端的代码,主要是 SSG 博客
- packages/blog-core 是后端的代码,主要是用于 CI 时候运行一次,来输出 json 给前端来消费
规则
请严格遵守以下规则
- 代码注释和问答回复使用中文
- 默认是讨论模式,只有严格指定修改或者执行才允许执行和运行,而且每次修改之后下一次默认就是执行模式
- 确保书写的代码符合设计模式以及社区规范
- 优先使用成熟的框架和生态,而不是手动造轮子,此外在初始化的时候读取项目的 package.json 和 pyproject.toml 来确定当前已安装的依赖
- 默认情况下不需要创建测试文件,除非用户明确指定
- 每次修改之后,运行 ruff 和 pydantic 来检查代码,直到通过为止
- 默认安装的库没有特殊说明,应当为最新版本
- 我们在考虑生成文件的时候需要考虑单一原则,每个文件只负责一件事情,不要把太多的功能放到一个文件中,此外文件夹的命名和存放的位置需要符合工程实践
前端额外规则
- unocss优先,而不是写style或者class
- 定义颜色之类的,不要硬编码而是优先使用主题颜色的定义,除非没有定义
- 写样式需要考虑light和dark以及多端的适配
代码检查
- 应该先运行 pyright 来检查代码,其次运行 ruff 来检查格式
- 前端的代码检查应该可以通过运行 astro check 来检查代码
- 使用 pnpm 来安装依赖