initial commit to push copy to codeberg
This commit is contained in:
commit
751bfe568c
20 changed files with 1364 additions and 0 deletions
29
changelog2/config/agents.yaml
Normal file
29
changelog2/config/agents.yaml
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
gitlog_analyst:
|
||||
role: >
|
||||
Git Log Analyst
|
||||
goal: >
|
||||
Collect all relevant informations from Git logs
|
||||
backstory: >
|
||||
You specialize in analyzing Git Logs. You extract important Information such as commit messages,
|
||||
dates and categorize the commits by new, changed, and fixed based on their commit message.
|
||||
|
||||
redmine_analyst:
|
||||
role: >
|
||||
Redmine Analyst
|
||||
goal: >
|
||||
Gather information from Redmine tickets
|
||||
backstory: >
|
||||
You are an expert in Redmine. You collect relevant information from Redmine tickets for the changelog
|
||||
|
||||
writing_agent:
|
||||
role: >
|
||||
Technical Writer
|
||||
goal: >
|
||||
Transform technical information into clear, concise, and user-friendly documentation
|
||||
backstory: >
|
||||
You are an experienced technical writer with a strong background in software development
|
||||
and documentation. Your expertise lies in translating complex technical concepts into
|
||||
easily understandable content for various audiences, from end-users to developers.
|
||||
You have a keen eye for detail and a passion for creating documentation that enhances
|
||||
user experience and product understanding.
|
||||
|
||||
34
changelog2/config/config.py
Normal file
34
changelog2/config/config.py
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
import configparser
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def find_config():
|
||||
possible_locations = [
|
||||
Path.cwd() / "changelog-config.toml",
|
||||
Path.cwd() / "changelog2" / "changelog-config.toml",
|
||||
Path.cwd() / ".config" / "changelog-config.toml",
|
||||
Path.cwd() / ".config" / "changelog-config.toml",
|
||||
Path.home() / "changelog-config.toml",
|
||||
Path(os.getenv("CHANGELOG_CONFIG", "")),
|
||||
]
|
||||
|
||||
for location in possible_locations:
|
||||
if location.is_file():
|
||||
return str(location)
|
||||
|
||||
raise FileNotFoundError("changelog-config.toml nicht gefunden")
|
||||
|
||||
|
||||
config_path = find_config()
|
||||
|
||||
|
||||
def parse_config():
|
||||
config = configparser.ConfigParser()
|
||||
config.read(config_path)
|
||||
return {
|
||||
"REDMINE_HOST": config["DEFAULT"]["REDMINE_HOST"],
|
||||
"REDMINE_API_KEY": config["DEFAULT"]["REDMINE_API_KEY"],
|
||||
"OPENAI_API_KEY": config["DEFAULT"]["OPENAI_API_KEY"],
|
||||
"GIT_REPO_PATH": config["DEFAULT"]["GIT_REPO_PATH"],
|
||||
}
|
||||
47
changelog2/config/tasks.yaml
Normal file
47
changelog2/config/tasks.yaml
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
gitlog_analysis_task:
|
||||
description: >
|
||||
Collect all relevant Git commits since the last tag for the projects {project_id} which are seperated by ",".
|
||||
Analyze the commits and categorize them according to new features, changes, and fixes.
|
||||
|
||||
Git Repo: {repo_path}
|
||||
expected_output: >
|
||||
A JSON string containing a list of relevant Git commits with their hash, date, message, a {changelog_type} entry understandable for end users
|
||||
and category (new feature, change, or fix).
|
||||
|
||||
redmine_analysis_task:
|
||||
description: >
|
||||
Collect all relevant Redmine tickets for the projects {project_id} and their versions {version_id}.
|
||||
Analyze the tickets and categorize them based on their type and importance.
|
||||
expected_output: >
|
||||
A JSON string containing a list of relevant Redmine tickets with their ID, subject, tracker,
|
||||
a {changelog_type} entry understandable for end users and a brief summary of their content and importance.
|
||||
|
||||
formatting_task:
|
||||
description: >
|
||||
Format the collected Git commits and Redmine tickets into a structured {changelog_type}.
|
||||
Ensure that the information is organized logically and easy to read.
|
||||
expected_output: >
|
||||
A well-formatted {changelog_type} text that includes both Git commits and Redmine tickets
|
||||
in a clear and organized manner, with proper categorization and highlighting of key changes.
|
||||
|
||||
writing_task:
|
||||
description: >
|
||||
Using the information from gitlog and redmine tickets, create a user-friendly and informative {changelog_type} document.
|
||||
Translate technical details into clear, concise language suitable for both technical
|
||||
and non-technical readers. Highlight key features, changes, and fixes.
|
||||
expected_output: >
|
||||
A polished {changelog_type} document that effectively communicates all relevant changes,
|
||||
improvements, and fixes in a way that enhances user understanding and engagement.
|
||||
The document should maintain consistency with the rules provided by the RAG tool and should fit the template from the template_tool
|
||||
while accurately reflecting the current changelog's content.
|
||||
instructions: >
|
||||
1. Review the template provided by the template tool.
|
||||
2. Identify the key sections and formatting used.
|
||||
3. Analyze the content of the gitlog and redmine issues.
|
||||
4. Structure the new changelog following the templates format, including similar sections.
|
||||
5. Translate technical details into user-friendly language.
|
||||
6. Ensure all significant changes, features, and fixes are included and highlighted.
|
||||
7. Maintain a consistent tone and style throughout the document.
|
||||
8. Double-check that the final document is informative, clear, and engaging for all readers.
|
||||
9. Skip issues/log entries not relevant for the user
|
||||
10. Do not include any additional output
|
||||
Loading…
Add table
Add a link
Reference in a new issue