initial commit to push copy to codeberg

This commit is contained in:
Patryk Hegenberg 2024-09-20 16:00:11 +02:00
commit 751bfe568c
20 changed files with 1364 additions and 0 deletions

View 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.

View 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"],
}

View 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