Spaces:
Sleeping
Sleeping
Maki
commited on
Commit
·
5eaaebd
0
Parent(s):
Initial commit
Browse files- .SourceSageignore +67 -0
- .aira/config.IRIS.yml +71 -0
- .aira/config.dev.commit.yml +26 -0
- .env.example +7 -0
- .gitignore +162 -0
- LICENSE +21 -0
- README.md +236 -0
- app.py +9 -0
- docs/README.en.md +236 -0
- requirements.txt +2 -0
.SourceSageignore
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.git
|
2 |
+
__pycache__
|
3 |
+
LICENSE
|
4 |
+
output.md
|
5 |
+
assets
|
6 |
+
Style-Bert-VITS2
|
7 |
+
output
|
8 |
+
streamlit
|
9 |
+
SourceSage.md
|
10 |
+
data
|
11 |
+
.gitignore
|
12 |
+
.SourceSageignore
|
13 |
+
*.png
|
14 |
+
Changelog
|
15 |
+
SourceSageAssets
|
16 |
+
SourceSageAssetsDemo
|
17 |
+
__pycache__
|
18 |
+
.pyc
|
19 |
+
**/__pycache__/**
|
20 |
+
modules\__pycache__
|
21 |
+
.svg
|
22 |
+
sourcesage.egg-info
|
23 |
+
.pytest_cache
|
24 |
+
dist
|
25 |
+
build
|
26 |
+
.env
|
27 |
+
example
|
28 |
+
|
29 |
+
.gaiah.md
|
30 |
+
.Gaiah.md
|
31 |
+
tmp.md
|
32 |
+
tmp2.md
|
33 |
+
.SourceSageAssets
|
34 |
+
tests
|
35 |
+
template
|
36 |
+
aira.egg-info
|
37 |
+
aira.Gaiah.md
|
38 |
+
README_template.md
|
39 |
+
|
40 |
+
egg-info
|
41 |
+
oasis_article.egg-info
|
42 |
+
.harmon_ai
|
43 |
+
.aira
|
44 |
+
|
45 |
+
article_draft
|
46 |
+
issue_creator.log
|
47 |
+
oasis.log
|
48 |
+
|
49 |
+
debug_output
|
50 |
+
*.log
|
51 |
+
|
52 |
+
html_replacement1.html
|
53 |
+
html_raw.html
|
54 |
+
html_content.html
|
55 |
+
html_with_placeholders.html
|
56 |
+
markdown_html.html
|
57 |
+
markdown_text.md
|
58 |
+
markdown_text2.md
|
59 |
+
|
60 |
+
saved_article.html
|
61 |
+
memo.md
|
62 |
+
content.md
|
63 |
+
|
64 |
+
.SourceSageAssets
|
65 |
+
docs
|
66 |
+
.github
|
67 |
+
.venv
|
.aira/config.IRIS.yml
ADDED
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
aira:
|
2 |
+
gaiah: # 共通設定
|
3 |
+
run: true
|
4 |
+
repo:
|
5 |
+
repo_name: "IRIS"
|
6 |
+
description: "I.R.I.S(Intelligent Repository Issue Solver)"
|
7 |
+
private: false
|
8 |
+
local:
|
9 |
+
repo_dir: "C:/Prj/IRIS"
|
10 |
+
no_initial_commit: false
|
11 |
+
commit:
|
12 |
+
commit_msg_path: ".Gaiah.md"
|
13 |
+
branch_name: null
|
14 |
+
|
15 |
+
dev: # 開発時の設定 (必要に応じて上書き)
|
16 |
+
repo:
|
17 |
+
create_repo: false
|
18 |
+
local:
|
19 |
+
init_repo: false
|
20 |
+
commit:
|
21 |
+
process_commits: true
|
22 |
+
|
23 |
+
init: # 初期化時の設定 (必要に応じて上書き)
|
24 |
+
repo:
|
25 |
+
create_repo: true
|
26 |
+
local:
|
27 |
+
init_repo: true
|
28 |
+
commit:
|
29 |
+
process_commits: false
|
30 |
+
|
31 |
+
llm:
|
32 |
+
model: "gemini/gemini-1.5-pro-latest" # 利用するLLMモデル
|
33 |
+
|
34 |
+
repository_summary_output_dir: .aira # リポジトリ概要の出力ディレクトリ
|
35 |
+
readme_prompt_template_path: .aira/readme_prompt_template.txt # README生成のプロンプトテンプレートのパス
|
36 |
+
|
37 |
+
harmon_ai:
|
38 |
+
run: true
|
39 |
+
environment:
|
40 |
+
repo_name: "IRIS"
|
41 |
+
owner_name: "Sunwood-ai-labs"
|
42 |
+
package_name: "IRIS"
|
43 |
+
icon_url: "https://huggingface.co/datasets/MakiAi/IconAssets/resolve/main/IRIS.png"
|
44 |
+
title: "IRIS"
|
45 |
+
subtitle: "~ Intelligent Repository Issue Solver ~"
|
46 |
+
website_url: "https://hamaruki.com/"
|
47 |
+
github_url: "https://github.com/Sunwood-ai-labs"
|
48 |
+
twitter_url: "https://x.com/hAru_mAki_ch"
|
49 |
+
blog_url: "https://hamaruki.com/"
|
50 |
+
|
51 |
+
product:
|
52 |
+
important_message_file: "important_template.md"
|
53 |
+
sections_content_file: "sections_template.md"
|
54 |
+
output_file: "README_template.md"
|
55 |
+
cicd_file_path: "publish-to-pypi.yml"
|
56 |
+
cicd_main_path: "publish-to-pypi.yml"
|
57 |
+
github_cicd_dir: ".github/workflows"
|
58 |
+
|
59 |
+
llm_product:
|
60 |
+
sections_content_file: "sections_template_llm.md"
|
61 |
+
|
62 |
+
development:
|
63 |
+
output_dir: "C:/Prj/IRIS/.harmon_ai"
|
64 |
+
|
65 |
+
main:
|
66 |
+
main_dir: "C:/Prj/IRIS/"
|
67 |
+
replace_readme: true
|
68 |
+
|
69 |
+
instructions_prompt: .aira/instructions.IRIS.md
|
70 |
+
|
71 |
+
# aira --mode=make --config=.aira\config.IRIS.yml
|
.aira/config.dev.commit.yml
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
aira:
|
2 |
+
gaiah: # 共通設定
|
3 |
+
run: true
|
4 |
+
repo:
|
5 |
+
repo_name: "AIRA-Sample04"
|
6 |
+
description: ""
|
7 |
+
private: True
|
8 |
+
local:
|
9 |
+
repo_dir: "./"
|
10 |
+
no_initial_commit: false
|
11 |
+
commit:
|
12 |
+
commit_msg_path: ".SourceSageAssets/COMMIT_CRAFT/llm_output.md"
|
13 |
+
branch_name: null
|
14 |
+
|
15 |
+
dev: # 開発時の設定 (必要に応じて上書き)
|
16 |
+
repo:
|
17 |
+
create_repo: false
|
18 |
+
local:
|
19 |
+
init_repo: false
|
20 |
+
commit:
|
21 |
+
process_commits: true
|
22 |
+
|
23 |
+
# aira --mode sourcesage commit --config=.aira\config.dev.commit.yml --ss-model-name="gemini/gemini-1.5-pro-latest" --llm-output="llm_output.md" --ignore-file=".iris.SourceSageignore"
|
24 |
+
# aira --mode sourcesage commit --config=.aira\config.dev.commit.yml --ss-model-name="gemini/gemini-1.5-flash-002" --llm-output="llm_output.md"
|
25 |
+
# aira --mode sourcesage commit --config=.aira\config.dev.commit.yml --ss-model-name="gpt-4o-mini" --llm-output="llm_output.md"
|
26 |
+
# sourcesage --ignore-file=".iris.SourceSageignore"
|
.env.example
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# GitHubアクセストークン(コラボレーター招待用)
|
2 |
+
GITHUB_TOKEN=your_github_personal_access_token_here
|
3 |
+
|
4 |
+
# 以下は他の機能で使用する可能性のあるトークンの例です。記載しておくと後々便利です。
|
5 |
+
# GITHUB_ACCESS_TOKEN=ghp_xxxxx
|
6 |
+
# YOUR_PERSONAL_ACCESS_TOKEN_IRIS=ghp_yyyyy
|
7 |
+
# GEMINI_API_KEY=AIzzzzz
|
.gitignore
ADDED
@@ -0,0 +1,162 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Byte-compiled / optimized / DLL files
|
2 |
+
__pycache__/
|
3 |
+
*.py[cod]
|
4 |
+
*$py.class
|
5 |
+
|
6 |
+
# C extensions
|
7 |
+
*.so
|
8 |
+
|
9 |
+
# Distribution / packaging
|
10 |
+
.Python
|
11 |
+
build/
|
12 |
+
develop-eggs/
|
13 |
+
dist/
|
14 |
+
downloads/
|
15 |
+
eggs/
|
16 |
+
.eggs/
|
17 |
+
lib/
|
18 |
+
lib64/
|
19 |
+
parts/
|
20 |
+
sdist/
|
21 |
+
var/
|
22 |
+
wheels/
|
23 |
+
share/python-wheels/
|
24 |
+
*.egg-info/
|
25 |
+
.installed.cfg
|
26 |
+
*.egg
|
27 |
+
MANIFEST
|
28 |
+
|
29 |
+
# PyInstaller
|
30 |
+
# Usually these files are written by a python script from a template
|
31 |
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
32 |
+
*.manifest
|
33 |
+
*.spec
|
34 |
+
|
35 |
+
# Installer logs
|
36 |
+
pip-log.txt
|
37 |
+
pip-delete-this-directory.txt
|
38 |
+
|
39 |
+
# Unit test / coverage reports
|
40 |
+
htmlcov/
|
41 |
+
.tox/
|
42 |
+
.nox/
|
43 |
+
.coverage
|
44 |
+
.coverage.*
|
45 |
+
.cache
|
46 |
+
nosetests.xml
|
47 |
+
coverage.xml
|
48 |
+
*.cover
|
49 |
+
*.py,cover
|
50 |
+
.hypothesis/
|
51 |
+
.pytest_cache/
|
52 |
+
cover/
|
53 |
+
|
54 |
+
# Translations
|
55 |
+
*.mo
|
56 |
+
*.pot
|
57 |
+
|
58 |
+
# Django stuff:
|
59 |
+
*.log
|
60 |
+
local_settings.py
|
61 |
+
db.sqlite3
|
62 |
+
db.sqlite3-journal
|
63 |
+
|
64 |
+
# Flask stuff:
|
65 |
+
instance/
|
66 |
+
.webassets-cache
|
67 |
+
|
68 |
+
# Scrapy stuff:
|
69 |
+
.scrapy
|
70 |
+
|
71 |
+
# Sphinx documentation
|
72 |
+
docs/_build/
|
73 |
+
|
74 |
+
# PyBuilder
|
75 |
+
.pybuilder/
|
76 |
+
target/
|
77 |
+
|
78 |
+
# Jupyter Notebook
|
79 |
+
.ipynb_checkpoints
|
80 |
+
|
81 |
+
# IPython
|
82 |
+
profile_default/
|
83 |
+
ipython_config.py
|
84 |
+
|
85 |
+
# pyenv
|
86 |
+
# For a library or package, you might want to ignore these files since the code is
|
87 |
+
# intended to run in multiple environments; otherwise, check them in:
|
88 |
+
# .python-version
|
89 |
+
|
90 |
+
# pipenv
|
91 |
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
92 |
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
93 |
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
94 |
+
# install all needed dependencies.
|
95 |
+
#Pipfile.lock
|
96 |
+
|
97 |
+
# poetry
|
98 |
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
99 |
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
100 |
+
# commonly ignored for libraries.
|
101 |
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
102 |
+
#poetry.lock
|
103 |
+
|
104 |
+
# pdm
|
105 |
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
106 |
+
#pdm.lock
|
107 |
+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
108 |
+
# in version control.
|
109 |
+
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
|
110 |
+
.pdm.toml
|
111 |
+
.pdm-python
|
112 |
+
.pdm-build/
|
113 |
+
|
114 |
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
115 |
+
__pypackages__/
|
116 |
+
|
117 |
+
# Celery stuff
|
118 |
+
celerybeat-schedule
|
119 |
+
celerybeat.pid
|
120 |
+
|
121 |
+
# SageMath parsed files
|
122 |
+
*.sage.py
|
123 |
+
|
124 |
+
# Environments
|
125 |
+
.env
|
126 |
+
.venv
|
127 |
+
env/
|
128 |
+
venv/
|
129 |
+
ENV/
|
130 |
+
env.bak/
|
131 |
+
venv.bak/
|
132 |
+
|
133 |
+
# Spyder project settings
|
134 |
+
.spyderproject
|
135 |
+
.spyproject
|
136 |
+
|
137 |
+
# Rope project settings
|
138 |
+
.ropeproject
|
139 |
+
|
140 |
+
# mkdocs documentation
|
141 |
+
/site
|
142 |
+
|
143 |
+
# mypy
|
144 |
+
.mypy_cache/
|
145 |
+
.dmypy.json
|
146 |
+
dmypy.json
|
147 |
+
|
148 |
+
# Pyre type checker
|
149 |
+
.pyre/
|
150 |
+
|
151 |
+
# pytype static type analyzer
|
152 |
+
.pytype/
|
153 |
+
|
154 |
+
# Cython debug symbols
|
155 |
+
cython_debug/
|
156 |
+
|
157 |
+
# PyCharm
|
158 |
+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
159 |
+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
160 |
+
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
161 |
+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
162 |
+
#.idea/
|
LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
MIT License
|
2 |
+
|
3 |
+
Copyright (c) 2024 Maki
|
4 |
+
|
5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6 |
+
of this software and associated documentation files (the "Software"), to deal
|
7 |
+
in the Software without restriction, including without limitation the rights
|
8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9 |
+
copies of the Software, and to permit persons to whom the Software is
|
10 |
+
furnished to do so, subject to the following conditions:
|
11 |
+
|
12 |
+
The above copyright notice and this permission notice shall be included in all
|
13 |
+
copies or substantial portions of the Software.
|
14 |
+
|
15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21 |
+
SOFTWARE.
|
README.md
ADDED
@@ -0,0 +1,236 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
title: HarmonAI III
|
3 |
+
emoji: 🦀
|
4 |
+
colorFrom: green
|
5 |
+
colorTo: blue
|
6 |
+
sdk: streamlit
|
7 |
+
sdk_version: 1.39.0
|
8 |
+
app_file: app.py
|
9 |
+
pinned: false
|
10 |
+
license: mit
|
11 |
+
---
|
12 |
+
|
13 |
+
<p align="center">
|
14 |
+
<img src="https://raw.githubusercontent.com/Sunwood-ai-labs/HarmonAI_III/refs/heads/main/docs/HarmonAI-III.png" width="100%">
|
15 |
+
<h1 align="center">🌟 HarmonAI III 🌟</h1>
|
16 |
+
</p>
|
17 |
+
<p align="center">
|
18 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III">
|
19 |
+
<img alt="GitHub Repo" src="https://img.shields.io/badge/github-HarmonAI__III-blue?logo=github">
|
20 |
+
</a>
|
21 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/blob/main/LICENSE">
|
22 |
+
<img alt="License" src="https://img.shields.io/github/license/Sunwood-ai-labs/HarmonAI_III?color=green">
|
23 |
+
</a>
|
24 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/stargazers">
|
25 |
+
<img alt="GitHub stars" src="https://img.shields.io/github/stars/Sunwood-ai-labs/HarmonAI_III?style=social">
|
26 |
+
</a>
|
27 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/releases">
|
28 |
+
<img alt="GitHub release" src="https://img.shields.io/github/v/release/Sunwood-ai-labs/HarmonAI_III?include_prereleases&style=flat-square">
|
29 |
+
</a>
|
30 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/issues">
|
31 |
+
<img alt="GitHub issues" src="https://img.shields.io/github/issues/Sunwood-ai-labs/HarmonAI_III">
|
32 |
+
</a>
|
33 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/pulls">
|
34 |
+
<img alt="PRs Welcome" src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square">
|
35 |
+
</a>
|
36 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/network/members">
|
37 |
+
<img alt="GitHub forks" src="https://img.shields.io/github/forks/Sunwood-ai-labs/HarmonAI_III?style=social">
|
38 |
+
</a>
|
39 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/watchers">
|
40 |
+
<img alt="GitHub watchers" src="https://img.shields.io/github/watchers/Sunwood-ai-labs/HarmonAI_III?style=social">
|
41 |
+
</a>
|
42 |
+
<img alt="GitHub last commit" src="https://img.shields.io/github/last-commit/Sunwood-ai-labs/HarmonAI_III">
|
43 |
+
<img alt="GitHub top language" src="https://img.shields.io/github/languages/top/Sunwood-ai-labs/HarmonAI_III">
|
44 |
+
</p>
|
45 |
+
<h2 align="center">
|
46 |
+
~ AI-Powered Automated Repository Management Template ~
|
47 |
+
|
48 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/blob/main/README.md"><img src="https://img.shields.io/badge/ドキュメント-日本語-white.svg" alt="JA doc"/></a>
|
49 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/blob/main/docs/README.en.md"><img src="https://img.shields.io/badge/english-document-white.svg" alt="EN doc"></a>
|
50 |
+
</h2>
|
51 |
+
<p align="center">
|
52 |
+
<img src="https://img.shields.io/badge/Python-3776AB?style=for-the-badge&logo=python" alt="Python">
|
53 |
+
<img src="https://img.shields.io/badge/OpenAI-412991?style=for-the-badge&logo=openai" alt="OpenAI">
|
54 |
+
<img src="https://img.shields.io/badge/Gemini-8E75B2?style=for-the-badge&logo=google" alt="Google Gemini">
|
55 |
+
<img src="https://img.shields.io/badge/Git-F05032?style=for-the-badge&logo=git" alt="Git">
|
56 |
+
<img src="https://img.shields.io/badge/GitHub-181717?style=for-the-badge&logo=github" alt="GitHub">
|
57 |
+
<img src="https://img.shields.io/badge/Actions-2088FF?style=for-the-badge&logo=github-actions" alt="GitHub Actions">
|
58 |
+
<img src="https://img.shields.io/badge/YAML-CB171E?style=for-the-badge&logo=yaml" alt="YAML">
|
59 |
+
<img src="https://img.shields.io/badge/pip-3775A9?style=for-the-badge&logo=pypi" alt="pip">
|
60 |
+
<img src="https://img.shields.io/badge/Markdown-000000?style=for-the-badge&logo=markdown" alt="Markdown">
|
61 |
+
<img src="https://img.shields.io/badge/GitHub_API-181717?style=for-the-badge&logo=github" alt="GitHub API">
|
62 |
+
</p>
|
63 |
+
<p align="center">
|
64 |
+
<a href="https://github.com/Sunwood-ai-labs/AIRA">
|
65 |
+
<img src="https://img.shields.io/badge/AIRA-FF4500?style=for-the-badge&logo=github" alt="AIRA">
|
66 |
+
</a>
|
67 |
+
<a href="https://github.com/Sunwood-ai-labs/IRIS">
|
68 |
+
<img src="https://img.shields.io/badge/IRIS-9370DB?style=for-the-badge&logo=github" alt="IRIS">
|
69 |
+
</a>
|
70 |
+
</p>
|
71 |
+
|
72 |
+
|
73 |
+
> [!IMPORTANT]
|
74 |
+
> HarmonAI IIIは、[cline (旧:Claude Dev)](https://github.com/clinebot/cline), [SourceSage](https://github.com/Sunwood-ai-labs/SourceSage), [claude.ai](https://claude.ai/)を活用して開発されたテンプレートリポジトリです。リリースノート、README、コミットメッセージの大部分は、最新のAI技術を用いて生成されています。
|
75 |
+
|
76 |
+
## 🚀 プロジェクト概要
|
77 |
+
|
78 |
+
HarmonAI IIIは、AIRAとIRISを統合した革新的な**AIリポジトリスターターキット**です。このリポジトリは、LLMを活用したAI開発プロジェクトの構造とワークフローを提供し、開発者の作業効率を劇的に向上させることを目的としています。バージョン: `v1.3.0`
|
79 |
+
|
80 |
+
|
81 |
+
## 🆕 最新情報
|
82 |
+
|
83 |
+
- 🎉 **v1.3.0リリース**: Streamlitアプリの基本構造作成、READMEファイルのデザイン改善、いくつかのバグ修正、およびドキュメントの更新を行いました。 StreamlitアプリではREADME.mdファイルを読み込んで表示する機能を実装しました。 README.mdファイルが存在しない場合のエラー処理も追加されています。 さらに、GitHubリポジトリへのコラボレーター追加スクリプト、Hugging Face Hubへの自動同期ワークフロー、PyPIへの自動デプロイワークフローを追加しました。
|
84 |
+
|
85 |
+
|
86 |
+
## ✨ 主な機能
|
87 |
+
|
88 |
+
1. **統合AIツールセット**: AIRAとIRISの機能を1つのパッケージで提供
|
89 |
+
2. **即時利用可能**: テンプレートとして使用することで、高品質な初期構造を持つリポジトリを簡単に作成
|
90 |
+
3. **自動化された開発ワークフロー**: コミットメッセージ生成、リリースノート作成、イシュー管理の自動化
|
91 |
+
4. **多言語サポート**: READMEの自動翻訳機能により、国際的なプロジェクト展開をサポート
|
92 |
+
5. **柔軟なカスタマイズ**: プロジェクトのニーズに合わせて容易に調整可能
|
93 |
+
6. **コラボレーター自動招待**: GitHub APIを利用したコラボレーター招待スクリプト
|
94 |
+
7. **Streamlitアプリ**: README.mdファイルを表示する基本的なStreamlitアプリケーション
|
95 |
+
|
96 |
+
|
97 |
+
## 🔧 使用方法
|
98 |
+
|
99 |
+
### Streamlitアプリの実行
|
100 |
+
1. `pip install -r requirements.txt` で必要なパッケージをインストールします。
|
101 |
+
2. `streamlit run app.py` を実行します。
|
102 |
+
|
103 |
+
### AIRAの使用例:
|
104 |
+
```bash
|
105 |
+
aira --mode sourcesage commit --config=.aira\config.dev.commit.yml --ss-model-name="gpt-4o-mini" --llm-output="llm_output.md"
|
106 |
+
```
|
107 |
+
|
108 |
+
### IRISの使用例:
|
109 |
+
|
110 |
+
詳細な使用方法については、各コンポーネントのドキュメンテーションを参照してください。
|
111 |
+
|
112 |
+
|
113 |
+
## 📦 インストール手順
|
114 |
+
|
115 |
+
1. このリポジトリをテンプレートとして使用し、新しいリポジトリを作成します。
|
116 |
+
2. リポジトリをローカルにクローンします。
|
117 |
+
3. 必要な依存関係をインストールします:
|
118 |
+
```bash
|
119 |
+
pip install -r requirements.txt
|
120 |
+
```
|
121 |
+
4. AIRAとIRISの設定ファイルをカスタマイズします。
|
122 |
+
5. GitHub Actionsの設定を確認し、必要に応じて環境変数を設定します。
|
123 |
+
6. `.github/release_notes/.sourcesage_releasenotes_iris.yml`ファイルを開き、`repo-name:`の値を新しいリポジトリ名に修正します。
|
124 |
+
|
125 |
+
|
126 |
+
## 🌿 環境構築
|
127 |
+
|
128 |
+
HarmonAI IIIの環境を構築するには、以下の手順に従ってください:
|
129 |
+
|
130 |
+
1. 仮想環境を作成します:
|
131 |
+
```bash
|
132 |
+
python3 -m venv .venv
|
133 |
+
```
|
134 |
+
これにより、`.venv`ディレクトリに仮想環境が作成されます。
|
135 |
+
|
136 |
+
2. 仮想環境をアクティベートします:
|
137 |
+
```bash
|
138 |
+
source .venv/bin/activate # Linux/macOS
|
139 |
+
.venv\Scripts\activate # Windows
|
140 |
+
```
|
141 |
+
|
142 |
+
3. 依存関係をインストールします:
|
143 |
+
```bash
|
144 |
+
pip install -r requirements.txt
|
145 |
+
```
|
146 |
+
|
147 |
+
これらの手順により、HarmonAI IIIの開発環境が整います。
|
148 |
+
|
149 |
+
|
150 |
+
## 📚 主要コンポーネント
|
151 |
+
|
152 |
+
### 🤖 [AIRA (AI-Integrated Repository for Accelerated Development)](https://github.com/Sunwood-ai-labs/AIRA)
|
153 |
+
- リポジトリ作成の自動化
|
154 |
+
- コミットメッセージの自動生成
|
155 |
+
|
156 |
+
### 🌈 [IRIS (Intelligent Repository Issue Solver)](https://github.com/Sunwood-ai-labs/IRIS)
|
157 |
+
- イシューの自動分類
|
158 |
+
- 解決策の自動提案
|
159 |
+
- リリースノートの自動生成
|
160 |
+
- READMEの自動翻訳
|
161 |
+
|
162 |
+
## 🤝 コラボレーターの自動招待
|
163 |
+
|
164 |
+
HarmonAI IIIには、GitHubリポジトリにコラボレーターを自動で招待するスクリプトが含まれています。以下の手順で使用できます:
|
165 |
+
|
166 |
+
1. `.env` ファイルを作成し、必要なトークンを設定します:
|
167 |
+
```
|
168 |
+
# GitHubアクセストークン(コラボレーター招待用)
|
169 |
+
GITHUB_TOKEN=your_github_personal_access_token_here
|
170 |
+
|
171 |
+
# 以下は他の機能で使用する可能性のあるトークンの例です。記載しておくと後々便利です。
|
172 |
+
# GITHUB_ACCESS_TOKEN=ghp_xxxxx
|
173 |
+
# YOUR_PERSONAL_ACCESS_TOKEN_IRIS=ghp_yyyyy
|
174 |
+
# GEMINI_API_KEY=AIzzzzz
|
175 |
+
```
|
176 |
+
|
177 |
+
注意: `.env` ファイルは `.gitignore` に含めて、リポジトリにコミットしないようにしてください。
|
178 |
+
|
179 |
+
2. 以下のコマンドを実行してコラボレーターを招待します:
|
180 |
+
```bash
|
181 |
+
python .github/github_add_collaborator.py Sunwood-ai-labs/HarmonAI_III username_to_invite
|
182 |
+
```
|
183 |
+
|
184 |
+
`username_to_invite` は招待したいGitHubユーザー名に置き換えてください。
|
185 |
+
|
186 |
+
3. スクリプトが正常に実行されると、指定したユーザーにコラボレーター招待が送信されます。
|
187 |
+
|
188 |
+
注意事項:
|
189 |
+
- このスクリプトを使用するには、GitHubトークンに適切な権限(`repo` スコープ)が必要です。
|
190 |
+
- 組織のリポジトリに対して使用する場合は、組織の設定で適切な権限が付与されていることを確認してください。
|
191 |
+
- セキュリティのため、トークンは定���的に更新し、必要最小限の権限のみを付与するようにしてください。
|
192 |
+
- `.env` ファイルやトークンを含む情報は、決して公開リポジトリにコミットしないでください。
|
193 |
+
|
194 |
+
この機能により、プロジェクトへの新しいコントリビューターの追加プロセスが簡素化されます。セキュリティを維持しながら、効率的にチームを拡大することができます。
|
195 |
+
|
196 |
+
## 🐈 処理フロー
|
197 |
+
|
198 |
+
|
199 |
+
```mermaid
|
200 |
+
%%{init:{'theme':'base','themeVariables':{'primaryColor':'#024959','primaryTextColor':'#F2C335','primaryBorderColor':'#F2AE30','lineColor':'#A1A2A6','secondaryColor':'#593E25','tertiaryColor':'#F2C335','noteTextColor':'#024959','noteBkgColor':'#F2C335','textColor':'#024959','fontSize':'18px'}}}%%
|
201 |
+
|
202 |
+
graph LR
|
203 |
+
A[開始] --> B[リポジトリの構想とネーミング]
|
204 |
+
B -->|人間が実施| C[HarmonAI IIIによる<br>リポジトリ初期化]
|
205 |
+
C -->|自動化| D[開発作業]
|
206 |
+
D -->|人間が実施| E[AIRAによる<br>コミット自動化]
|
207 |
+
E --> H[IRISによる<br>リリースノート作成]
|
208 |
+
H --> I[IRISによる<br>ドキュメント翻訳]
|
209 |
+
I --> J[リリース]
|
210 |
+
J --> K[終了]
|
211 |
+
|
212 |
+
class B,D,G human;
|
213 |
+
class E aira;
|
214 |
+
class F,H,I iris;
|
215 |
+
class C auto;
|
216 |
+
class A,J,K process;
|
217 |
+
|
218 |
+
```
|
219 |
+
|
220 |
+
|
221 |
+
|
222 |
+
## 🤝 コントリビューション
|
223 |
+
|
224 |
+
HarmonAI IIIは、オープンソースプロジェクトとしてコミュニティからの貢献を歓迎しています。バグ報告、機能リクエスト、プルリクエストを通じて、このテンプレートリポジトリの改善にご協力ください。
|
225 |
+
|
226 |
+
## 📄 ライセンス
|
227 |
+
|
228 |
+
HarmonAI IIIは、[MITライセンス](LICENSE)の下で公開されています。
|
229 |
+
|
230 |
+
## 🙏 謝辞
|
231 |
+
|
232 |
+
HarmonAI IIIの開発にあたり、多くのオープンソースプロジェクトからインスピレーションを得ています。特に、AIRAとIRISの開発者の皆様に深く感謝申し上げます。iris-s-coon、Maki様にも感謝いたします。
|
233 |
+
|
234 |
+
---
|
235 |
+
|
236 |
+
HarmonAI IIIは、AI駆動の開発プロセスを実現する優れたスターターキットです。このテンプレートを基に、革新的なAIプロジェクトの開発を始めましょう!
|
app.py
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import os
|
3 |
+
|
4 |
+
try:
|
5 |
+
with open("README.md", "r", encoding="utf-8") as f:
|
6 |
+
readme_content = f.read()
|
7 |
+
st.markdown(readme_content, unsafe_allow_html=True)
|
8 |
+
except FileNotFoundError:
|
9 |
+
st.error("README.mdが見つかりませんでした。")
|
docs/README.en.md
ADDED
@@ -0,0 +1,236 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
title: HarmonAI III
|
3 |
+
emoji: 🦀
|
4 |
+
colorFrom: green
|
5 |
+
colorTo: blue
|
6 |
+
sdk: streamlit
|
7 |
+
sdk_version: 1.39.0
|
8 |
+
app_file: app.py
|
9 |
+
pinned: false
|
10 |
+
license: mit
|
11 |
+
---
|
12 |
+
|
13 |
+
<p align="center">
|
14 |
+
<img src="https://raw.githubusercontent.com/Sunwood-ai-labs/HarmonAI_III/refs/heads/main/docs/HarmonAI-III.png" width="100%">
|
15 |
+
<h1 align="center">🌟 HarmonAI III 🌟</h1>
|
16 |
+
</p>
|
17 |
+
<p align="center">
|
18 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III">
|
19 |
+
<img alt="GitHub Repo" src="https://img.shields.io/badge/github-HarmonAI__III-blue?logo=github">
|
20 |
+
</a>
|
21 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/blob/main/LICENSE">
|
22 |
+
<img alt="License" src="https://img.shields.io/github/license/Sunwood-ai-labs/HarmonAI_III?color=green">
|
23 |
+
</a>
|
24 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/stargazers">
|
25 |
+
<img alt="GitHub stars" src="https://img.shields.io/github/stars/Sunwood-ai-labs/HarmonAI_III?style=social">
|
26 |
+
</a>
|
27 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/releases">
|
28 |
+
<img alt="GitHub release" src="https://img.shields.io/github/v/release/Sunwood-ai-labs/HarmonAI_III?include_prereleases&style=flat-square">
|
29 |
+
</a>
|
30 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/issues">
|
31 |
+
<img alt="GitHub issues" src="https://img.shields.io/github/issues/Sunwood-ai-labs/HarmonAI_III">
|
32 |
+
</a>
|
33 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/pulls">
|
34 |
+
<img alt="PRs Welcome" src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square">
|
35 |
+
</a>
|
36 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/network/members">
|
37 |
+
<img alt="GitHub forks" src="https://img.shields.io/github/forks/Sunwood-ai-labs/HarmonAI_III?style=social">
|
38 |
+
</a>
|
39 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/watchers">
|
40 |
+
<img alt="GitHub watchers" src="https://img.shields.io/github/watchers/Sunwood-ai-labs/HarmonAI_III?style=social">
|
41 |
+
</a>
|
42 |
+
<img alt="GitHub last commit" src="https://img.shields.io/github/last-commit/Sunwood-ai-labs/HarmonAI_III">
|
43 |
+
<img alt="GitHub top language" src="https://img.shields.io/github/languages/top/Sunwood-ai-labs/HarmonAI_III">
|
44 |
+
</p>
|
45 |
+
<h2 align="center">
|
46 |
+
~ AI-Powered Automated Repository Management Template ~
|
47 |
+
|
48 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/blob/main/README.md"><img src="https://img.shields.io/badge/ドキュメント-日本語-white.svg" alt="JA doc"/></a>
|
49 |
+
<a href="https://github.com/Sunwood-ai-labs/HarmonAI_III/blob/main/docs/README.en.md"><img src="https://img.shields.io/badge/english-document-white.svg" alt="EN doc"></a>
|
50 |
+
</h2>
|
51 |
+
<p align="center">
|
52 |
+
<img src="https://img.shields.io/badge/Python-3776AB?style=for-the-badge&logo=python" alt="Python">
|
53 |
+
<img src="https://img.shields.io/badge/OpenAI-412991?style=for-the-badge&logo=openai" alt="OpenAI">
|
54 |
+
<img src="https://img.shields.io/badge/Gemini-8E75B2?style=for-the-badge&logo=google" alt="Google Gemini">
|
55 |
+
<img src="https://img.shields.io/badge/Git-F05032?style=for-the-badge&logo=git" alt="Git">
|
56 |
+
<img src="https://img.shields.io/badge/GitHub-181717?style=for-the-badge&logo=github" alt="GitHub">
|
57 |
+
<img src="https://img.shields.io/badge/Actions-2088FF?style=for-the-badge&logo=github-actions" alt="GitHub Actions">
|
58 |
+
<img src="https://img.shields.io/badge/YAML-CB171E?style=for-the-badge&logo=yaml" alt="YAML">
|
59 |
+
<img src="https://img.shields.io/badge/pip-3775A9?style=for-the-badge&logo=pypi" alt="pip">
|
60 |
+
<img src="https://img.shields.io/badge/Markdown-000000?style=for-the-badge&logo=markdown" alt="Markdown">
|
61 |
+
<img src="https://img.shields.io/badge/GitHub_API-181717?style=for-the-badge&logo=github" alt="GitHub API">
|
62 |
+
</p>
|
63 |
+
<p align="center">
|
64 |
+
<a href="https://github.com/Sunwood-ai-labs/AIRA">
|
65 |
+
<img src="https://img.shields.io/badge/AIRA-FF4500?style=for-the-badge&logo=github" alt="AIRA">
|
66 |
+
</a>
|
67 |
+
<a href="https://github.com/Sunwood-ai-labs/IRIS">
|
68 |
+
<img src="https://img.shields.io/badge/IRIS-9370DB?style=for-the-badge&logo=github" alt="IRIS">
|
69 |
+
</a>
|
70 |
+
</p>
|
71 |
+
|
72 |
+
|
73 |
+
> [!IMPORTANT]
|
74 |
+
> HarmonAI III is a template repository developed using [cline (formerly Claude Dev)](https://github.com/clinebot/cline), [SourceSage](https://github.com/Sunwood-ai-labs/SourceSage), and [claude.ai](https://claude.ai/). The majority of the release notes, README, and commit messages were generated using the latest AI technology.
|
75 |
+
|
76 |
+
## 🚀 Project Overview
|
77 |
+
|
78 |
+
HarmonAI III is an innovative **AI repository starter kit** integrating AIRA and IRIS. This repository aims to dramatically improve developer efficiency by providing the structure and workflow for AI development projects leveraging LLMs. Version: `v1.3.0`
|
79 |
+
|
80 |
+
|
81 |
+
## 🆕 Latest News
|
82 |
+
|
83 |
+
- 🎉 **v1.3.0 Released**: Created a basic Streamlit app structure, improved README file design, fixed several bugs, and updated the documentation. The Streamlit app now includes a feature to display the contents of the README.md file. Error handling for cases where the README.md file is missing has also been added. Furthermore, we've added a collaborator addition script for the GitHub repository, an automated synchronization workflow with Hugging Face Hub, and an automated deployment workflow to PyPI.
|
84 |
+
|
85 |
+
|
86 |
+
## ✨ Main Features
|
87 |
+
|
88 |
+
1. **Integrated AI Toolset**: Provides the functionalities of AIRA and IRIS in a single package.
|
89 |
+
2. **Ready to Use**: Easily create a repository with a high-quality initial structure by using it as a template.
|
90 |
+
3. **Automated Development Workflow**: Automates commit message generation, release note creation, and issue management.
|
91 |
+
4. **Multilingual Support**: Supports international project deployment through automated README translation.
|
92 |
+
5. **Flexible Customization**: Easily adjustable to suit the needs of your project.
|
93 |
+
6. **Automated Collaborator Invitation**: Collaborator invitation script using the GitHub API.
|
94 |
+
7. **Streamlit App**: A basic Streamlit application that displays the README.md file.
|
95 |
+
|
96 |
+
|
97 |
+
## 🔧 How to Use
|
98 |
+
|
99 |
+
### Running the Streamlit App
|
100 |
+
1. Install the necessary packages with `pip install -r requirements.txt`.
|
101 |
+
2. Run `streamlit run app.py`.
|
102 |
+
|
103 |
+
### AIRA Example:
|
104 |
+
```bash
|
105 |
+
aira --mode sourcesage commit --config=.aira\config.dev.commit.yml --ss-model-name="gpt-4o-mini" --llm-output="llm_output.md"
|
106 |
+
```
|
107 |
+
|
108 |
+
### IRIS Example:
|
109 |
+
|
110 |
+
Refer to the documentation of each component for detailed usage instructions.
|
111 |
+
|
112 |
+
|
113 |
+
## 📦 Installation Instructions
|
114 |
+
|
115 |
+
1. Use this repository as a template to create a new repository.
|
116 |
+
2. Clone the repository locally.
|
117 |
+
3. Install the necessary dependencies:
|
118 |
+
```bash
|
119 |
+
pip install -r requirements.txt
|
120 |
+
```
|
121 |
+
4. Customize the AIRA and IRIS configuration files.
|
122 |
+
5. Check the GitHub Actions settings and configure environment variables as needed.
|
123 |
+
6. Open the `.github/release_notes/.sourcesage_releasenotes_iris.yml` file and change the value of `repo-name:` to your new repository name.
|
124 |
+
|
125 |
+
|
126 |
+
## 🌿 Environment Setup
|
127 |
+
|
128 |
+
Follow these steps to set up the HarmonAI III environment:
|
129 |
+
|
130 |
+
1. Create a virtual environment:
|
131 |
+
```bash
|
132 |
+
python3 -m venv .venv
|
133 |
+
```
|
134 |
+
This creates a virtual environment in the `.venv` directory.
|
135 |
+
|
136 |
+
2. Activate the virtual environment:
|
137 |
+
```bash
|
138 |
+
source .venv/bin/activate # Linux/macOS
|
139 |
+
.venv\Scripts\activate # Windows
|
140 |
+
```
|
141 |
+
|
142 |
+
3. Install dependencies:
|
143 |
+
```bash
|
144 |
+
pip install -r requirements.txt
|
145 |
+
```
|
146 |
+
|
147 |
+
These steps will prepare your development environment for HarmonAI III.
|
148 |
+
|
149 |
+
|
150 |
+
## 📚 Main Components
|
151 |
+
|
152 |
+
### 🤖 [AIRA (AI-Integrated Repository for Accelerated Development)](https://github.com/Sunwood-ai-labs/AIRA)
|
153 |
+
- Automated repository creation
|
154 |
+
- Automated commit message generation
|
155 |
+
|
156 |
+
### 🌈 [IRIS (Intelligent Repository Issue Solver)](https://github.com/Sunwood-ai-labs/IRIS)
|
157 |
+
- Automated issue classification
|
158 |
+
- Automated solution suggestion
|
159 |
+
- Automated release note generation
|
160 |
+
- Automated README translation
|
161 |
+
|
162 |
+
## 🤝 Automated Collaborator Invitation
|
163 |
+
|
164 |
+
HarmonAI III includes a script to automatically invite collaborators to the GitHub repository. Use it with the following steps:
|
165 |
+
|
166 |
+
1. Create a `.env` file and set the necessary tokens:
|
167 |
+
```
|
168 |
+
# GitHub access token (for collaborator invitation)
|
169 |
+
GITHUB_TOKEN=your_github_personal_access_token_here
|
170 |
+
|
171 |
+
# The following are examples of tokens that may be used by other functions. It's convenient to have them written down for later use.
|
172 |
+
# GITHUB_ACCESS_TOKEN=ghp_xxxxx
|
173 |
+
# YOUR_PERSONAL_ACCESS_TOKEN_IRIS=ghp_yyyyy
|
174 |
+
# GEMINI_API_KEY=AIzzzzz
|
175 |
+
```
|
176 |
+
|
177 |
+
Note: Include the `.env` file in `.gitignore` to prevent it from being committed to the repository.
|
178 |
+
|
179 |
+
2. Run the following command to invite collaborators:
|
180 |
+
```bash
|
181 |
+
python .github/github_add_collaborator.py Sunwood-ai-labs/HarmonAI_III username_to_invite
|
182 |
+
```
|
183 |
+
|
184 |
+
Replace `username_to_invite` with the GitHub username you want to invite.
|
185 |
+
|
186 |
+
3. Once the script runs successfully, a collaborator invitation will be sent to the specified user.
|
187 |
+
|
188 |
+
Cautions:
|
189 |
+
- This script requires the GitHub token to have the appropriate permissions (`repo` scope).
|
190 |
+
- When using it for an organization's repository, ensure that appropriate permissions are granted in the organization's settings.
|
191 |
+
- For security, update tokens regularly and grant only the minimum necessary permissions.
|
192 |
+
- Never commit information, including the `.env` file and tokens, to a public repository.
|
193 |
+
|
194 |
+
This feature simplifies the process of adding new contributors to your project. You can efficiently expand your team while maintaining security.
|
195 |
+
|
196 |
+
## 🐈 Processing Flow
|
197 |
+
|
198 |
+
|
199 |
+
```mermaid
|
200 |
+
%%{init:{'theme':'base','themeVariables':{'primaryColor':'#024959','primaryTextColor':'#F2C335','primaryBorderColor':'#F2AE30','lineColor':'#A1A2A6','secondaryColor':'#593E25','tertiaryColor':'#F2C335','noteTextColor':'#024959','noteBkgColor':'#F2C335','textColor':'#024959','fontSize':'18px'}}}%%
|
201 |
+
|
202 |
+
graph LR
|
203 |
+
A[Start] --> B[Repository Conception and Naming]
|
204 |
+
B -->|Human Action| C[HarmonAI III Repository Initialization]
|
205 |
+
C -->|Automated| D[Development Work]
|
206 |
+
D -->|Human Action| E[AIRA Automated Commits]
|
207 |
+
E --> H[IRIS Release Note Creation]
|
208 |
+
H --> I[IRIS Documentation Translation]
|
209 |
+
I --> J[Release]
|
210 |
+
J --> K[End]
|
211 |
+
|
212 |
+
class B,D,G human;
|
213 |
+
class E aira;
|
214 |
+
class F,H,I iris;
|
215 |
+
class C auto;
|
216 |
+
class A,J,K process;
|
217 |
+
|
218 |
+
```
|
219 |
+
|
220 |
+
|
221 |
+
|
222 |
+
## 🤝 Contributions
|
223 |
+
|
224 |
+
HarmonAI III welcomes contributions from the community as an open-source project. Please help improve this template repository through bug reports, feature requests, and pull requests.
|
225 |
+
|
226 |
+
## 📄 License
|
227 |
+
|
228 |
+
HarmonAI III is licensed under the [MIT License](LICENSE).
|
229 |
+
|
230 |
+
## 🙏 Acknowledgements
|
231 |
+
|
232 |
+
HarmonAI III has drawn inspiration from many open-source projects during its development. We extend our deepest gratitude to the developers of AIRA and IRIS, in particular. We also thank iris-s-coon and Maki.
|
233 |
+
|
234 |
+
---
|
235 |
+
|
236 |
+
HarmonAI III is an excellent starter kit for achieving an AI-driven development process. Start developing innovative AI projects based on this template!
|
requirements.txt
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
aira
|
2 |
+
sourcesage
|