docs: update readme with new installation methods and cli options

This commit is contained in:
2026-02-01 13:50:09 +00:00
parent dba6d94eab
commit bfc1812ebf
8 changed files with 531 additions and 86 deletions

View File

@@ -8,7 +8,7 @@ use std::path::PathBuf;
use crate::config::{Language, manager::ConfigManager};
use crate::generator::ContentGenerator;
use crate::git::find_repo;
use crate::git::{changelog::*, CommitInfo, GitRepo};
use crate::git::{changelog::*, CommitInfo};
use crate::i18n::{Messages, translate_changelog_category};
/// Generate changelog
@@ -120,7 +120,7 @@ impl ChangelogCommand {
// Generate changelog
let changelog = if self.generate || (config.changelog.auto_generate && !self.yes) {
self.generate_with_ai(&repo, &version, &commits, &messages).await?
self.generate_with_ai(&version, &commits, &messages).await?
} else {
self.generate_with_template(format, &version, &commits, language)?
};
@@ -173,18 +173,18 @@ impl ChangelogCommand {
async fn generate_with_ai(
&self,
repo: &GitRepo,
version: &str,
commits: &[CommitInfo],
messages: &Messages,
) -> Result<String> {
let manager = ConfigManager::new()?;
let config = manager.config();
let language = manager.get_language().unwrap_or(Language::English);
println!("{}", messages.ai_generating_changelog());
let generator = ContentGenerator::new(&config.llm).await?;
generator.generate_changelog_entry(version, commits).await
generator.generate_changelog_entry(version, commits, language).await
}
fn generate_with_template(

View File

@@ -8,7 +8,7 @@ use crate::config::CommitFormat;
use crate::generator::ContentGenerator;
use crate::git::{find_repo, GitRepo};
use crate::git::commit::{CommitBuilder, create_date_commit_message};
use crate::i18n::{Messages, translate_commit_type};
use crate::i18n::Messages;
use crate::utils::validators::get_commit_types;
/// Generate and execute conventional commits
@@ -114,6 +114,12 @@ impl CommitCommand {
println!("{}", messages.auto_stage_changes().yellow());
repo.stage_all()?;
println!("{}", messages.staged_all().green());
// Re-check status after staging to ensure changes are detected
let new_status = repo.status_summary()?;
if new_status.staged == 0 {
bail!("Failed to stage changes. Please try running 'git add -A' manually.");
}
}
// Stage all if requested

View File

@@ -266,6 +266,7 @@ impl TagCommand {
async fn generate_tag_message(&self, repo: &GitRepo, version: &str, messages: &Messages) -> Result<String> {
let manager = ConfigManager::new()?;
let config = manager.config();
let language = manager.get_language().unwrap_or(Language::English);
// Get commits since last tag
let tags = repo.get_tags()?;
@@ -282,7 +283,7 @@ impl TagCommand {
println!("{}", messages.ai_generating_tag(commits.len()));
let generator = ContentGenerator::new(&config.llm).await?;
generator.generate_tag_message(version, &commits).await
generator.generate_tag_message(version, &commits, language).await
}
fn input_message_interactive(&self, version: &str, messages: &Messages) -> Result<String> {