Skip to content

Commit ca6a1aa

Browse files
committed
feat: initial public release
1 parent fc3d1aa commit ca6a1aa

35 files changed

Lines changed: 3922 additions & 678 deletions

.github/workflows/ci.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: CI
2+
on:
3+
push:
4+
branches: [ main, release ]
5+
pull_request:
6+
branches: [ main, release ]
7+
8+
jobs:
9+
lint-and-test:
10+
name: Lint & Test
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Set up Python 3.11
17+
uses: actions/setup-python@v4
18+
with:
19+
python-version: "3.11"
20+
21+
- name: Install dependencies
22+
run: |
23+
python -m pip install --upgrade pip
24+
pip install -e ".[dev]" ruff pytest
25+
26+
- name: Lint with Ruff
27+
run: |
28+
# stop the build if there are Python syntax errors or undefined names
29+
ruff check . --select=E9,F63,F7,F82 --output-format=full
30+
# exit-zero treats all errors as warnings
31+
ruff check . --exit-zero
32+
33+
- name: Run tests
34+
run: pytest tests/ -v

.github/workflows/claude.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Claude Code
2+
3+
on:
4+
issue_comment:
5+
types: [created]
6+
pull_request_review_comment:
7+
types: [created]
8+
issues:
9+
types: [opened, assigned]
10+
pull_request_review:
11+
types: [submitted]
12+
13+
jobs:
14+
claude:
15+
if: |
16+
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
17+
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
18+
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
19+
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
20+
runs-on: ubuntu-latest
21+
permissions:
22+
contents: read
23+
pull-requests: read
24+
issues: read
25+
id-token: write
26+
actions: read # Required for Claude to read CI results on PRs
27+
steps:
28+
- name: Checkout repository
29+
uses: actions/checkout@v4
30+
with:
31+
fetch-depth: 1
32+
33+
- name: Run Claude Code
34+
id: claude
35+
uses: anthropics/claude-code-action@v1
36+
with:
37+
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
38+
39+
# This is an optional setting that allows Claude to read CI results on PRs
40+
additional_permissions: |
41+
actions: read
42+
43+
# Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
44+
# prompt: 'Update the pull request description to include a summary of changes.'
45+
46+
# Optional: Add claude_args to customize behavior and configuration
47+
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
48+
# or https://docs.claude.com/en/docs/claude-code/sdk#command-line for available options
49+
# claude_args: '--model claude-opus-4-1-20250805 --allowed-tools Bash(gh pr:*)'
50+

.gitignore

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Python
2+
__pycache__/
3+
*.py[cod]
4+
*.so
5+
*.egg-info/
6+
build/
7+
dist/
8+
9+
# Virtual environments
10+
.env
11+
.venv
12+
env/
13+
venv/
14+
15+
# IDE
16+
.vscode/
17+
.idea/
18+
19+
# OS
20+
.DS_Store
21+
Thumbs.db
22+
23+
# Logs
24+
*.log
25+
26+
# User configuration and generated outputs
27+
config/
28+
output/
29+
data/
30+
31+
# Claude Code guidance
32+
CLAUDE.md

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[submodule "modules/CIMFlow-Compiler"]
2+
path = modules/CIMFlow-Compiler
3+
url = https://github.com/BUAA-CI-LAB/CIMFlow-Compiler.git
4+
[submodule "modules/CIMFlow-Simulator"]
5+
path = modules/CIMFlow-Simulator
6+
url = https://github.com/BUAA-CI-LAB/CIMFlow-Simulator.git

CODE_OF_CONDUCT.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
6+
7+
## Our Standards
8+
9+
Examples of behavior that contributes to creating a positive environment include:
10+
11+
* Using welcoming and inclusive language
12+
* Being respectful of differing viewpoints and experiences
13+
* Gracefully accepting constructive criticism
14+
* Focusing on what is best for the community
15+
* Showing empathy towards other community members
16+
17+
Examples of unacceptable behavior by participants include:
18+
19+
* The use of sexualized language or imagery and unwelcome sexual attention or advances
20+
* Trolling, insulting/derogatory comments, and personal or political attacks
21+
* Public or private harassment
22+
* Publishing others' private information, such as a physical or electronic address, without explicit permission
23+
* Other conduct which could reasonably be considered inappropriate in a professional setting
24+
25+
## Our Responsibilities
26+
27+
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28+
29+
## Scope
30+
31+
This Code of Conduct applies within all project spaces, and it also applies when an individual is representing the project or its community in public spaces.
32+
33+
## Enforcement
34+
35+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident.
36+
37+
## Attribution
38+
39+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

CONTRIBUTING.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Contributing to CIMFlow
2+
3+
Thank you for your interest in contributing to CIMFlow! We welcome contributions from the community to help improve the framework.
4+
5+
## Getting Started
6+
7+
1. **Fork the repository**: Click the "Fork" button on the GitHub repository page.
8+
2. **Clone your fork**:
9+
```bash
10+
git clone https://github.com/YOUR_USERNAME/CIMFlow.git
11+
cd CIMFlow
12+
./install.sh
13+
```
14+
3. **Create a branch**:
15+
```bash
16+
git checkout -b feature/my-new-feature
17+
```
18+
19+
## Development Workflow
20+
21+
1. **Make your changes**: Implement your feature or fix.
22+
2. **Run tests**: Ensure all tests pass.
23+
```bash
24+
pytest
25+
```
26+
3. **Lint your code**: We use `ruff` for linting.
27+
```bash
28+
pip install ruff
29+
ruff check src/
30+
```
31+
32+
## Submitting a Pull Request
33+
34+
1. Push your branch to your fork.
35+
2. Open a Pull Request (PR) against the `main` branch of the official repository.
36+
3. Provide a clear description of your changes and link to any relevant issues.
37+
38+
## Reporting Issues
39+
40+
If you find a bug or have a feature request, please open an issue on the [GitHub Issues](https://github.com/BUAA-CI-LAB/CIMFlow/issues) page.

0 commit comments

Comments
 (0)