A tiny CLI initializer for vibe coding projects that generates .memory and .harness scaffolding.
Project description
vibefree 🚀
vibefree 是一个轻量级 vibe coding 项目初始化工具,用于生成 .memory 和 .harness 上下文结构。
它的目标是帮助开发者在使用 opencode / coding agent / AI coding workflow 时,快速建立项目记忆、开发规则、架构上下文和任务交接入口。
GitHub: https://github.com/lemonmindyes/vibefree
作者: lemonmindyes
✨ 功能特性
- 一键生成
.memory - 一键生成
.harness - 默认不覆盖已有文件
- 支持
--force重置受管.memory文件 - 适合 opencode / coding agent 工作流
- 轻量、可读、可手动维护
- 支持当前目录初始化
- 支持创建新项目目录并初始化
📦 安装
从 PyPI 安装:
pip install vibefree
⚡ 使用
在当前目录初始化:
vibefree init
创建并初始化一个新项目目录:
vibefree init my-project
如果 my-project 不存在,vibefree 会创建它;如果已存在,则会在其中补齐缺失的上下文文件。
已有文件不会被覆盖,适合在项目演进过程中重复运行。
如需重置受管 .memory 文件为默认模板:
vibefree init --force
重复运行 init 会清理 .memory 下非目标结构并补齐缺失文件;默认不覆盖已有的 README.md、rules.md、meta.md、project.md,使用 --force 时会覆盖这些受管 memory 文件。
🧠 .memory
.memory 用于保存长期有效的项目上下文,让 coding agent 能够快速恢复项目状态。
README.md: Agent 入口文件,说明读取顺序、文件职责和维护边界。rules.md: memory 维护规则,说明何时创建、更新、删除和替换内容。meta.md: 项目必要元信息,包括项目名称、用途、阶段、技术栈、常用命令、环境说明和约束。project.md: 项目重要信息,包括当前目标、关键设计、关键修改、当前状态、TODO、已知问题和决策。
.memory 只维护以上四个文件。旧信息过期时直接更新或删除,不归档;Agent 应优先更新已有内容,避免重复追加。
Agent 使用流程
- 初始化 memory:运行
vibefree init,生成.memory和.harness。 - 新 session 读取 memory:先读
.memory/README.md,再按顺序读.memory/rules.md、.memory/meta.md、.memory/project.md。 - 完成任务后更新
project.md:记录长期有价值的关键修改、当前状态、TODO、已知问题或决策。 - 项目信息变化后更新
meta.md:维护项目用途、阶段、技术栈、常用命令、环境说明和约束。
不要创建旧结构文件或目录;不再使用 archive、logs、context.md、decisions.md、sessions.md。
🧭 .harness
.harness 用于保存 coding agent 的协作入口、架构说明、工作流和质量规则。
AGENTS.md: agent 开始工作时的推荐读取顺序ARCHITECTURE.md: 系统结构和架构决策记录WORKFLOW.md: 开发流程和 memory 使用方式QUALITY.md: 测试、质量和安全规则plans/: 可选的任务计划目录
🗂️ 生成结构
.memory/
├── README.md
├── rules.md
├── meta.md
└── project.md
.harness/
├── AGENTS.md
├── ARCHITECTURE.md
├── WORKFLOW.md
├── QUALITY.md
└── plans/
├── active/
│ └── .gitkeep
└── completed/
└── .gitkeep
🛠️ 本地开发
创建虚拟环境:
python -m venv venv
安装本地开发版本:
pip install -e ".[dev]"
运行测试:
pytest
构建发布包:
python -m build
✅ CI
项目使用 GitHub Actions 运行 CI。
- Pull Request 会自动运行测试和构建检查。
- push 到
main或master会自动运行测试和构建检查。 - CI 会执行:
pip install -e .pytestpython -m buildtwine check dist/*
🚢 Release
项目通过 GitHub Actions 和 PyPI Trusted Publishing 发布到正式 PyPI。
当前 memory scaffolding 统一为四文件结构:README.md、rules.md、meta.md、project.md,并保持项目轻量。
发布流程:
- 确认
pyproject.toml中的version已更新。 - 确认测试通过。
- 创建并推送 tag:
git tag v0.2.0
git push origin v0.2.0
推送匹配 v* 的 tag 后,GitHub Actions 会构建包并发布到正式 PyPI。
发布使用 PyPI Trusted Publishing / OIDC,不推荐在仓库或 GitHub Secrets 中保存 PyPI API Token。
🔒 安全提示
- 不要把 token、API key、password、secret 或私有凭据写入
.memory或.harness。 - 提交前检查上下文文件,避免包含本地绝对路径、私有账号或临时调试信息。
vibefree init默认不会覆盖已有文件,但仍建议在重要项目中配合 Git 使用。
📄 License
Apache License 2.0. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vibefree-0.2.1.tar.gz.
File metadata
- Download URL: vibefree-0.2.1.tar.gz
- Upload date:
- Size: 17.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
116eecfd571eabcd0c5a67f314a70ccd6cf7b3f7e2c8883c73325e1f207d3953
|
|
| MD5 |
1f138acb6670dcb4c3a3b90445338039
|
|
| BLAKE2b-256 |
b749ab28645b5a6f585f69f6a4d64356a6b8bd0977a82e34ccf734115dbec4b2
|
Provenance
The following attestation bundles were made for vibefree-0.2.1.tar.gz:
Publisher:
publish.yml on lemonmindyes/vibefree
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vibefree-0.2.1.tar.gz -
Subject digest:
116eecfd571eabcd0c5a67f314a70ccd6cf7b3f7e2c8883c73325e1f207d3953 - Sigstore transparency entry: 1408546938
- Sigstore integration time:
-
Permalink:
lemonmindyes/vibefree@7a112c47bf5722d2cda971e7cb82c0a31c058071 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/lemonmindyes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7a112c47bf5722d2cda971e7cb82c0a31c058071 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vibefree-0.2.1-py3-none-any.whl.
File metadata
- Download URL: vibefree-0.2.1-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9156fbb35f41fd78f3458c188666ec6cd82653eb9f18ce16c0e8c29773ed9eef
|
|
| MD5 |
11e258aeeb1b6a036c81d50ae6b2acc7
|
|
| BLAKE2b-256 |
aa501a2f7b6a415d3fbe3a8fbca4674233f1991afc9306ba82ccb06f7443e8dd
|
Provenance
The following attestation bundles were made for vibefree-0.2.1-py3-none-any.whl:
Publisher:
publish.yml on lemonmindyes/vibefree
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vibefree-0.2.1-py3-none-any.whl -
Subject digest:
9156fbb35f41fd78f3458c188666ec6cd82653eb9f18ce16c0e8c29773ed9eef - Sigstore transparency entry: 1408547032
- Sigstore integration time:
-
Permalink:
lemonmindyes/vibefree@7a112c47bf5722d2cda971e7cb82c0a31c058071 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/lemonmindyes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7a112c47bf5722d2cda971e7cb82c0a31c058071 -
Trigger Event:
push
-
Statement type: