Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
188 commits
Select commit Hold shift + click to select a range
fb53ac1
rookie auto release workflow
qidanrui Aug 23, 2025
fa47a07
initial draft of doc htmls
qidanrui Sep 8, 2025
27dc2df
update doc requirements
qidanrui Sep 10, 2025
ed35b9d
update docs
qidanrui Sep 10, 2025
c09fea7
solve some warnings
qidanrui Sep 10, 2025
5a66094
Add Kimi/Moonshot API key support and update the chat compeltions bas…
praneeth999 Sep 12, 2025
cf8fd58
refactored backend_utilis file
praneeth999 Sep 13, 2025
2bfed94
MCP Implementation of Claude Backend
praneeth999 Sep 13, 2025
6ffca8f
Implementation docs
praneeth999 Sep 13, 2025
8ebb825
clean redundant file
qidanrui Sep 13, 2025
e4c9867
improve presentation
sonichi Sep 15, 2025
2c98d9a
Merge pull request #201 from Leezekun/clean_main_file
qidanrui Sep 15, 2025
1429cc5
Merge pull request #198 from Leezekun/dev/v0.0.19
a5507203 Sep 15, 2025
95fe5fc
delete ROADMAP_v0.0.19.md
Henry-811 Sep 15, 2025
69b9d53
minor update in CHANGELLOG
Henry-811 Sep 15, 2025
220cc85
Update README.md
Henry-811 Sep 15, 2025
58aeaaf
Merge pull request #204 from Leezekun/cleanup-ROADMAP_v0.0.19
qidanrui Sep 15, 2025
d889505
initialize 0.0.20
qidanrui Sep 15, 2025
a43fae8
First attempt at filesystem read/write management
ncrispino Sep 16, 2025
a52846a
Merge pull request #202 from Leezekun/aibuilders
qidanrui Sep 16, 2025
e74cf8f
Specifying only for the final agent; also, adjusting sys prompt
ncrispino Sep 16, 2025
5463475
update presentation
sonichi Sep 16, 2025
520c4b7
rewrite the problem slide
sonichi Sep 16, 2025
4878cf0
Working for GPT blocking permissions
ncrispino Sep 16, 2025
ed7152d
update
sonichi Sep 16, 2025
5ea85bf
Gemini is working, though responses py not
ncrispino Sep 16, 2025
87e2e44
Removing unnecessary logging
ncrispino Sep 16, 2025
6e10abe
Merge pull request #206 from Leezekun/v0.0.19-post1
qidanrui Sep 17, 2025
72ed1e4
Adjusted function hook manager to be per-agent, not global; ensured e…
ncrispino Sep 17, 2025
24b2e06
Works on Claude Code
ncrispino Sep 17, 2025
aadff9c
add test file, fix bugs
qidanrui Sep 17, 2025
731f5a5
Merge branch 'dev/v0.0.20' of https://github.com/Leezekun/MassGen int…
qidanrui Sep 17, 2025
b506105
reformat code
qidanrui Sep 17, 2025
b1b2e63
Merge pull request #200 from Leezekun/MCP_Draft_2
qidanrui Sep 17, 2025
356416b
update gpt5_mini_mcp
qidanrui Sep 17, 2025
2ea9200
Update docs
Henry-811 Sep 17, 2025
9ffd8d2
Merge branch 'dev/v0.0.20' into docs_for_v0.0.20
Henry-811 Sep 17, 2025
8676ee7
Update __init__.py
Henry-811 Sep 17, 2025
21c853e
Update CHANGELOG.md
Henry-811 Sep 17, 2025
aedaacb
Update CHANGELOG.md
Henry-811 Sep 17, 2025
f817aa0
Update CHANGELOG.md
Henry-811 Sep 17, 2025
298b936
Update Kimi API
Henry-811 Sep 17, 2025
e3fd031
Add contributor
Henry-811 Sep 17, 2025
2dd6d93
minor update
Henry-811 Sep 17, 2025
e57f7b8
Update README.md
Henry-811 Sep 17, 2025
5ed6077
Update README.md
Henry-811 Sep 17, 2025
3ba9146
Update
Henry-811 Sep 17, 2025
1393014
Merge pull request #208 from Leezekun/docs_for_v0.0.20
Henry-811 Sep 17, 2025
a27b666
Merge pull request #205 from Leezekun/dev/v0.0.20
Henry-811 Sep 17, 2025
4a5e1ea
Working for chat completions
ncrispino Sep 17, 2025
ac8e48b
Add necessary fallback else the text in the terminal after massgen fi…
ncrispino Sep 17, 2025
48a21d4
Merge main into dev/v0.0.20-context-files
ncrispino Sep 17, 2025
c17fe51
Support extra files for Claude
ncrispino Sep 17, 2025
92c71f1
initialize dev/0.0.21
qidanrui Sep 17, 2025
98dcf92
Update grok backend to use chatcompletion backend
Eric-Shang Sep 17, 2025
f4254e2
Add docs for filesystem MCP
ncrispino Sep 17, 2025
9c1aafe
Another another example
Eric-Shang Sep 17, 2025
43a89e6
Add example config
ncrispino Sep 18, 2025
2f7efd5
change to rich terminal
qidanrui Sep 18, 2025
13101c4
Merge pull request #211 from Eric-Shang/grok-mcp
qidanrui Sep 18, 2025
5b67a77
minor system prompt adjustments for context paths
ncrispino Sep 18, 2025
25f669e
test functions within permission manager for validation of paths
ncrispino Sep 18, 2025
1280528
design doc
qidanrui Sep 19, 2025
e583b53
update implementation phases
qidanrui Sep 19, 2025
87d078e
solve conflict
qidanrui Sep 19, 2025
42aa5a1
Merge pull request #207 from Leezekun/dev/v0.0.20-context-files
qidanrui Sep 19, 2025
452a7c7
update docs for v0.0.21
Henry-811 Sep 19, 2025
3c3cd9c
update
Henry-811 Sep 19, 2025
373cb8e
Add new section 7
Henry-811 Sep 19, 2025
3e1dd9e
Merge pull request #215 from Leezekun/Docs_for_v0.0.21
a5507203 Sep 19, 2025
516bea6
Merge pull request #209 from Leezekun/dev/v0.0.21
a5507203 Sep 19, 2025
36b8dc5
update use case
qidanrui Sep 19, 2025
fdffcd2
Adding copy tools for mcp
ncrispino Sep 19, 2025
5fb156b
Copying files works as MCP, though need to double check for temp work…
ncrispino Sep 19, 2025
3c6a7a4
initialize v0.0.22
qidanrui Sep 20, 2025
12edde6
Added testing for copy; run through fastmcp to avoid banner
ncrispino Sep 20, 2025
b955d7e
Fix abs path copy problem and the way we handle clearing workspaces
ncrispino Sep 20, 2025
1ee0e99
v1 of refactor for readme with examples & configs
ncrispino Sep 21, 2025
87690c4
Adjust docs and readme
ncrispino Sep 21, 2025
6d513d1
Changes in READMEs
ncrispino Sep 21, 2025
9524cd8
More cleaning
ncrispino Sep 21, 2025
affca69
Fix chornology
ncrispino Sep 21, 2025
1d737c7
More structures
ncrispino Sep 21, 2025
0b9c321
Resource repo added for v0.0.21
ncrispino Sep 21, 2025
71cfd93
Adding v0.0.21 yaml
ncrispino Sep 21, 2025
69b3c3e
Fix relative path workspace issue
ncrispino Sep 22, 2025
7311bb7
Fix temp workspace issue
ncrispino Sep 22, 2025
36d2f53
restructure config part
Henry-811 Sep 22, 2025
f90f83b
Add fix for when write tool call involves too many characters; remove…
ncrispino Sep 22, 2025
9f600ef
update
Henry-811 Sep 22, 2025
2683eff
Update README.md
Henry-811 Sep 22, 2025
8cbb7fc
Update README.md
Henry-811 Sep 22, 2025
f32ac64
update table of content
Henry-811 Sep 22, 2025
604ac4f
update link
Henry-811 Sep 22, 2025
3b1dc99
remove similar section
Henry-811 Sep 22, 2025
071552f
Added text to introducing the video
Henry-811 Sep 22, 2025
8b1e368
added claude to provider and fix config path
Henry-811 Sep 22, 2025
9cc1784
Merge pull request #220 from Leezekun/improve_workspace_copy
qidanrui Sep 22, 2025
748007e
Merge pull request #222 from Leezekun/restructure_readme
qidanrui Sep 22, 2025
91f080e
Merge pull request #221 from Leezekun/restructure-readme-configs
Henry-811 Sep 22, 2025
787323c
docs
Henry-811 Sep 22, 2025
80a4ca4
fix path and remove uncertain commands
Henry-811 Sep 22, 2025
eb1eeaa
Update README.md
Henry-811 Sep 22, 2025
3934166
updated
Henry-811 Sep 22, 2025
ecc7d28
Merge pull request #223 from Leezekun/Docs_for_v0.0.22
Henry-811 Sep 22, 2025
7c3d85d
Merge pull request #216 from Leezekun/dev/v0.0.22
a5507203 Sep 22, 2025
ba7aadd
Minor re-ordering and clarity
ncrispino Sep 22, 2025
f955e93
f-string issue, 'selected agent' as None error issue, and clarity in …
ncrispino Sep 22, 2025
26186e5
add precommit check
qidanrui Sep 22, 2025
f8b9a9f
Merge pull request #227 from Leezekun/dev/v0.0.22-readme-p1
qidanrui Sep 22, 2025
21f6b10
update contributing guide
qidanrui Sep 22, 2025
e26d507
add precommit and pr title workflows
qidanrui Sep 22, 2025
5a77e46
update pre-commit.yml
qidanrui Sep 22, 2025
c97f7ef
fix pre-commit.yml
qidanrui Sep 22, 2025
38a1e3f
Merge pull request #228 from Leezekun/add_precommit_check
qidanrui Sep 22, 2025
043bdb6
update presentation
sonichi Sep 23, 2025
e771f78
pre-commit
sonichi Sep 23, 2025
dbbacbc
pre-commit
sonichi Sep 23, 2025
6d1c72e
initialize dev/v0.0.23
qidanrui Sep 23, 2025
0040551
precommit fix
qidanrui Sep 23, 2025
b0a94fb
debug pr template
qidanrui Sep 23, 2025
bb012d8
ci: Remove mypy and pylint hooks, update black and flake8 args
qidanrui Sep 23, 2025
fbb1914
Merge pull request #233 from Leezekun/qidanrui-patch-2
qidanrui Sep 23, 2025
752cbcc
Merge branch 'main' of https://github.com/Leezekun/MassGen into dev/v…
qidanrui Sep 23, 2025
53a6548
context & permission
sonichi Sep 23, 2025
5d27cdd
initial fallback
qidanrui Sep 23, 2025
5ed6896
clean the cost calculator
qidanrui Sep 23, 2025
d7abdd6
clean extract tool name...
qidanrui Sep 23, 2025
ef4540b
renumber slides
sonichi Sep 23, 2025
5f1cbe5
Merge branch 'main' into v0.0.22-post1
sonichi Sep 23, 2025
028cfc8
extract formatter and token_manager
qidanrui Sep 23, 2025
c2449f0
move mcp docs
qidanrui Sep 23, 2025
4dfa8b9
ci: Simplify pre-commit hook arguments
qidanrui Sep 23, 2025
9c5045a
Merge pull request #234 from Leezekun/qidanrui-patch-2
qidanrui Sep 23, 2025
31dacc3
Merge branch 'main' into v0.0.22-post1
sonichi Sep 23, 2025
ad4bbdc
pre-commit
sonichi Sep 23, 2025
c031b5a
Merge branch 'main' of https://github.com/Leezekun/MassGen into v0.0.…
qidanrui Sep 23, 2025
63fb576
Merge branch 'v0.0.22-post1' of https://github.com/Leezekun/MassGen i…
qidanrui Sep 23, 2025
d0d7e8a
update pr template
qidanrui Sep 23, 2025
7c4fc95
Merge pull request #229 from Leezekun/v0.0.22-post1
qidanrui Sep 23, 2025
83cae21
Use one backend and different adapters
Eric-Shang Sep 23, 2025
b3de679
Fix graph
Eric-Shang Sep 23, 2025
25058a2
refine response.py
qidanrui Sep 23, 2025
16f49dd
update doc
qidanrui Sep 23, 2025
3886bd6
update some config yaml examples.
Eric-Shang Sep 23, 2025
7e0face
sync with main
qidanrui Sep 23, 2025
663aedb
sync with 0.0.23
qidanrui Sep 23, 2025
6ab7d1f
open pylint
qidanrui Sep 23, 2025
c30f973
Coordination table esc fix on mac
ncrispino Sep 23, 2025
c9b04c4
open pylint
qidanrui Sep 23, 2025
95cf3fb
Fix for adding fastmcp to support copy mcp
ncrispino Sep 23, 2025
fd4fdd6
recsys presentation
sonichi Sep 23, 2025
f4ce51a
mcp refactor
qidanrui Sep 24, 2025
98dc8b4
update pr template
qidanrui Sep 24, 2025
57f3404
change to relative path
qidanrui Sep 24, 2025
bb803c5
test
qidanrui Sep 24, 2025
17a3f14
update gitignore
qidanrui Sep 24, 2025
e10701f
pass precommit
qidanrui Sep 24, 2025
b8895d0
add issue template
qidanrui Sep 24, 2025
cc1c687
Merge pull request #238 from Leezekun/v0.0.22-post2
qidanrui Sep 24, 2025
2510d04
Merge branch 'main' of https://github.com/Leezekun/MassGen into refac…
qidanrui Sep 24, 2025
38a7581
add auto release workflow
qidanrui Sep 24, 2025
29248d7
add stale workflow
qidanrui Sep 24, 2025
a36e85e
Merge pull request #237 from Leezekun/fix_coord_table
qidanrui Sep 24, 2025
0ef9bd2
sync with 0.0.23
qidanrui Sep 24, 2025
dc8b5d0
Merge pull request #236 from Leezekun/refactor_base_2
qidanrui Sep 24, 2025
689a90f
update auto release
qidanrui Sep 24, 2025
a8dd5b3
Merge branch 'auto_release' of https://github.com/Leezekun/MassGen in…
qidanrui Sep 24, 2025
d48ca04
update auto release
qidanrui Sep 24, 2025
50faf82
sync with main
qidanrui Sep 24, 2025
9d4b066
doc: Update docs for v0.0.23
Henry-811 Sep 24, 2025
5e31f50
doc: Update docs for v0.0.23
Henry-811 Sep 24, 2025
16c21f8
chore: apply pre-commit fixes
Henry-811 Sep 24, 2025
0dc047e
chore: apply pre-commit fixes
Henry-811 Sep 24, 2025
e785704
Merge pull request #241 from Leezekun/docs_for_v0.0.23
Henry-811 Sep 24, 2025
c358367
update webpage
qidanrui Sep 24, 2025
a0dde1c
Merge pull request #239 from Leezekun/auto_release
qidanrui Sep 26, 2025
9d76dbe
Merge pull request #235 from Leezekun/multi_source_agent_integration_…
qidanrui Sep 26, 2025
6f669a5
update auto release
qidanrui Sep 26, 2025
d1b07a2
Merge branch 'main' of https://github.com/Leezekun/MassGen into multi…
qidanrui Sep 26, 2025
42fbb0c
update auto release
qidanrui Sep 26, 2025
4c3ba7f
Merge pull request #248 from Leezekun/update_auto_release
qidanrui Sep 26, 2025
cbc7aa4
move to docs
qidanrui Sep 26, 2025
58cba39
Merge pull request #214 from Leezekun/multi_source_agent_integration
qidanrui Sep 26, 2025
14e653a
Merge branch 'main' of https://github.com/Leezekun/MassGen into doc_web
qidanrui Sep 26, 2025
c345e08
sync with main
qidanrui Sep 26, 2025
a25ac17
change theme
qidanrui Sep 26, 2025
02caa7e
update
qidanrui Sep 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ XAI_API_KEY=your-xai-key-here
# Z AI API Key (required for GLM-4.5 models)
ZAI_API_KEY=your-zai-key-here

# Anthropic API Key (required for Claude models)
# Anthropic API Key (required for Claude models -- comment out if using Anthropic local login instead)
ANTHROPIC_API_KEY=your-anthropic-key-here

# Google Gemini API Key
Expand All @@ -34,3 +34,5 @@ NEBIUS_API_KEY=your-nebius-key-here
# OPENROUTER API Key
OPENROUTER_API_KEY=your-openrouter-key-here

# KIMI API KEY
MOONSHOT_API_KEY=your-kimi-key-here
48 changes: 48 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
name: Bug Report
about: Create a report to help us improve MassGen
title: "[BUG] "
labels: bug
assignees: ''

---

## Bug Description
<!-- A clear and concise description of what the bug is -->

## To Reproduce
<!-- Steps to reproduce the behavior -->
1. Configuration file used:
2. Command run:
3. Input provided:
4. Error seen:

## Expected Behavior
<!-- A clear and concise description of what you expected to happen -->

## Actual Behavior
<!-- Describe what actually happened -->

## Screenshots
<!-- If applicable, add screenshots to help explain your problem -->

## Environment
- OS: [e.g., macOS, Linux, Windows]
- Python Version: [e.g., 3.9, 3.10, 3.11]
- MassGen Version: [e.g., 0.0.23]
- LLM Backend Used: [e.g., OpenAI, Claude, Gemini, Grok]

## Configuration File
<!-- If relevant, paste your configuration file content (please remove any sensitive information like API keys) -->
```yaml
# Your config file content
```

## Error Logs
<!-- If there are error logs, please paste the relevant parts -->
```
# Error log content
```

## Additional Context
<!-- Add any other context about the problem here -->
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Documentation
url: https://github.com/adithyagaurav/MassGen/blob/main/README.md
about: Check our documentation for usage guides and examples
- name: Discussions
url: https://github.com/adithyagaurav/MassGen/discussions
about: Ask questions and discuss ideas with the community
- name: Discord Community
url: https://discord.massgen.ai
about: Join our Discord for real-time support and discussions
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: Feature Request
about: Suggest an idea for MassGen
title: "[FEATURE] "
labels: enhancement
assignees: ''

---

## Feature Description
<!-- A clear and concise description of the feature you'd like -->

## Motivation
<!-- Explain why this feature would be useful for MassGen users -->

## Proposed Solution
<!-- Describe the solution you'd like to see implemented -->

## Alternatives Considered
<!-- Describe any alternative solutions or features you've considered -->

## Use Cases
<!-- Provide specific examples of how this feature would be used -->
1.
2.
3.

## Implementation Suggestions
<!-- If you have ideas about how this could be implemented, share them here -->

## Additional Context
<!-- Add any other context, mockups, or examples about the feature request here -->
59 changes: 59 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
## PR Title Format
Your PR title must follow the format: `<type>: <brief description>`

Valid types:
- `fix:` - Bug fixes
- `feat:` - New features
- `breaking:` - Breaking changes
- `docs:` - Documentation updates
- `refactor:` - Code refactoring
- `test:` - Test additions/modifications
- `chore:` - Maintenance tasks
- `perf:` - Performance improvements
- `style:` - Code style changes
- `ci:` - CI/CD configuration changes

Examples:
- `fix: resolve memory leak in data processing`
- `feat: add export to CSV functionality`
- `breaking: change API response format`
- `docs: update installation guide`

## Description
Brief description of the changes in this PR

## Type of change
- [ ] Bug fix (`fix:`) - Non-breaking change which fixes an issue
- [ ] New feature (`feat:`) - Non-breaking change which adds functionality
- [ ] Breaking change (`breaking:`) - Fix or feature that would cause existing functionality to not work as expected
- [ ] Documentation (`docs:`) - Documentation updates
- [ ] Code refactoring (`refactor:`) - Code changes that neither fix a bug nor add a feature
- [ ] Tests (`test:`) - Adding missing tests or correcting existing tests
- [ ] Chore (`chore:`) - Maintenance tasks, dependency updates, etc.
- [ ] Performance improvement (`perf:`) - Code changes that improve performance
- [ ] Code style (`style:`) - Changes that do not affect the meaning of the code (formatting, missing semi-colons, etc.)
- [ ] CI/CD (`ci:`) - Changes to CI/CD configuration files and scripts

## Checklist
- [ ] I have run pre-commit on my changed files and all checks pass
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes

## Pre-commit status
```
# Paste the output of running pre-commit on your changed files:
# uv run pre-commit install
# git diff --name-only HEAD~1 | xargs uv run pre-commit run --files # for last commit
# git diff --name-only origin/<base branch>...HEAD | xargs uv run pre-commit run --files # for all commits in PR
# git add <your file> # if any fixes were applied
# git commit -m "chore: apply pre-commit fixes"
# git push origin <branch-name>
```

## Additional context
Add any other context about the PR here.
125 changes: 125 additions & 0 deletions .github/workflows/auto-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
# Steps to trigger the release:
# # 1. Switch to main branch
# git checkout main

# # 2. Ensure main is up to date
# git pull origin main

# # 3. Create tag
# git tag v1.0.0

# # 4. Push tag to remote
# git push origin v1.0.0

name: Auto Release

on:
push:
tags:
- 'v*.*.*'
- 'v*.*.*-*'

permissions:
contents: write
pull-requests: write
issues: write

jobs:
release:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build twine

- name: Get version from tag
id: version
run: |
echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
echo "VERSION_WITHOUT_V=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT

- name: Generate changelog
id: changelog
run: |
# Get the previous tag
PREVIOUS_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "")

# Generate changelog between tags
if [ -z "$PREVIOUS_TAG" ]; then
echo "CHANGELOG<<EOF" >> $GITHUB_OUTPUT
echo "## What's Changed" >> $GITHUB_OUTPUT
echo "" >> $GITHUB_OUTPUT
echo "Initial release 🎉" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
else
echo "CHANGELOG<<EOF" >> $GITHUB_OUTPUT
echo "## What's Changed" >> $GITHUB_OUTPUT
echo "" >> $GITHUB_OUTPUT

# Get commit messages
git log ${PREVIOUS_TAG}..HEAD --pretty=format:"* %s by @%an in %h" | while read line; do
echo "$line" >> $GITHUB_OUTPUT
done

echo "" >> $GITHUB_OUTPUT
echo "" >> $GITHUB_OUTPUT
echo "**Full Changelog**: https://github.com/${{ github.repository }}/compare/${PREVIOUS_TAG}...${{ steps.version.outputs.VERSION }}" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
fi

- name: Build distribution
run: |
python -m build
ls -la dist/

- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.version.outputs.VERSION }}
release_name: Release ${{ steps.version.outputs.VERSION }}
body: |
# Release ${{ steps.version.outputs.VERSION }}

${{ steps.changelog.outputs.CHANGELOG }}

## Installation

You can install this version directly from the source:
```bash
pip install git+https://github.com/${{ github.repository }}@${{ steps.version.outputs.VERSION }}
```

Or download the source code and install locally:
```bash
tar -xzf <archive>.tar.gz
cd <directory>
pip install .
```
draft: false
prerelease: ${{ contains(steps.version.outputs.VERSION, '-') }}

- name: Post release summary
run: |
echo "### 🎉 Release ${{ steps.version.outputs.VERSION }} Created Successfully!" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Release URL**: https://github.com/${{ github.repository }}/releases/tag/${{ steps.version.outputs.VERSION }}" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Assets**:" >> $GITHUB_STEP_SUMMARY
echo "- Source code (tar.gz)" >> $GITHUB_STEP_SUMMARY
echo "- Source code (zip)" >> $GITHUB_STEP_SUMMARY
ls -la dist/ | grep -E "\.(tar\.gz|whl)$" | awk '{print "- "$9}' >> $GITHUB_STEP_SUMMARY
86 changes: 86 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Build and Deploy Documentation

on:
push:
branches:
- main
- doc_web # Your current branch
paths:
- 'docs/**'
- 'massgen/**/*.py' # Rebuild on code changes for API docs
- '.github/workflows/docs.yml'
pull_request:
branches:
- main
paths:
- 'docs/**'
workflow_dispatch: # Allow manual trigger

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'

- name: Cache dependencies
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements-docs.txt') }}
restore-keys: |
${{ runner.os }}-pip-

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r docs/requirements-docs.txt
pip install -e . # Install MassGen for API documentation

- name: Build documentation
run: |
cd docs
make html

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./docs/build/html

deploy:
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/doc_web')
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4

deploy-readthedocs:
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
needs: build
steps:
- name: Trigger Read the Docs build
run: |
curl -X POST \
-H "Authorization: Token ${{ secrets.READTHEDOCS_TOKEN }}" \
https://readthedocs.org/api/v3/projects/massgen/versions/latest/builds/
continue-on-error: true # Don't fail if RTD is not set up yet
Loading
Loading