App-GitKtti
view release on metacpan or search on metacpan
docs/index.html view on Meta::CPAN
// Intersection Observer for animations
function setupScrollAnimations() {
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.style.animationPlayState = 'running';
entry.target.style.opacity = '1';
entry.target.style.transform = 'translateY(0)';
}
});
}, { threshold: 0.1 });
document.querySelectorAll('.feature-card, .alias-item, .workflow-step').forEach(el => {
el.style.opacity = '0';
el.style.transform = 'translateY(30px)';
el.style.transition = 'all 0.6s ease';
observer.observe(el);
});
}
document.addEventListener('DOMContentLoaded', () => {
createStars();
setupScrollAnimations();
});
</script>
<body>
<header>
<div class="container">
<div class="header-content">
<div class="logo-container">
<div class="git-logo"></div>
<a href="https://github.com/saumon/gitktti" class="logo">GitKttiâ¢</a>
</div>
</div>
</div>
</header>
<section class="hero">
<div class="container">
<div class="hero-logo"></div>
<h1>GitKttiâ¢</h1>
<p class="subtitle">Git Flow Made Simple</p>
<p class="tagline">A modern CPAN-ready collection of tools designed to streamline your Git Flow workflow</p>
<a href="https://github.com/saumon/gitktti" class="cta-button"><img src="assets/github.png" alt="GitHub" style="height:1.2em; vertical-align:middle; margin-right:0.5em;">View on GitHub</a>
</div>
</section>
<div class="container">
<main class="main-content">
<section class="features">
<h2>Why GitKtti�</h2>
<div class="features-grid">
<div class="feature-card">
<div class="feature-icon">ð¿</div>
<h3>Git Flow Simplified</h3>
<p>Automates complex Git Flow operations with simple, intuitive commands. Create feature branches, hotfixes, and releases effortlessly.</p>
</div>
<div class="feature-card">
<div class="feature-icon">ð¡ï¸</div>
<h3>Safe Operations</h3>
<p>Built-in safeguards prevent accidental deletions of master/develop branches and ensure repository cleanliness before operations.</p>
</div>
<div class="feature-card">
<div class="feature-icon">ð§</div>
<h3>Interactive Interface</h3>
<p>Smart selectors and interactive prompts guide you through operations, making complex Git workflows accessible to everyone.</p>
</div>
<div class="feature-card">
<div class="feature-icon">â¡</div>
<h3>CPAN Ready</h3>
<p>Modern CPAN distribution with proper installation via <code>cpanm App::GitKtti</code>. Optional aliases available for power users.</p>
</div>
<div class="feature-card">
<div class="feature-icon">ð¯</div>
<h3>Branch Management</h3>
<p>Comprehensive branch operations including creation, renaming, deletion, and smart checkout with remote tracking support.</p>
</div>
<div class="feature-card">
<div class="feature-icon">ð·ï¸</div>
<h3>Professional Tools</h3>
<p>Complete suite with <code>gitktti-tag</code>, <code>gitktti-tests</code>, and comprehensive help system for professional development workflows.</p>
</div>
</div>
</section>
<section class="aliases-section">
<h2>Quick Reference</h2>
<div class="aliases-grid">
<div class="alias-item">
<code>kfeat</code>
<p>Create feature branch from develop</p>
</div>
<div class="alias-item">
<code>kfix</code>
<p>Create hotfix branch from master</p>
</div>
<div class="alias-item">
<code>kreal</code>
<p>Create release branch from develop</p>
</div>
<div class="alias-item">
<code>kfixend</code>
<p>Finalize and merge current branch</p>
</div>
<div class="alias-item">
<code>kmove</code>
<p>Rename branch locally and remotely</p>
</div>
<div class="alias-item">
<code>kdel</code>
<p>Delete branch safely with confirmation</p>
</div>
<div class="alias-item">
<code>kco</code>
<p>Smart branch checkout with Git flow awareness</p>
</div>
<div class="alias-item">
<code>ktest</code>
<p>Run diagnostic tests</p>
</div>
</div>
( run in 0.677 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )