This guide explains how to enable and optimize the interactive progress tracking system for Learning katas in the local docsify environment.
To enable progress tracking in any kata, simply use standard markdown checkbox syntax:
## Tasks
- [ ] Complete environment setup
- [ ] Review project requirements
- [ ] Implement core functionality
- [ ] Test and validate solution
- [ ] Document findingsThe progress tracking plugin will automatically:
- Convert static checkboxes to interactive elements
- Persist checkbox states in localStorage
- Display real-time progress visualization
- Enable progress-aware kata coach guidance
Write specific, actionable task descriptions that will be meaningful in progress reports:
✅ Good:
- [ ] Configure Azure CLI with subscription credentials
- [ ] Deploy Terraform infrastructure to resource group
- [ ] Validate endpoint connectivity using curl commands
❌ Avoid:
- [ ] Setup stuff
- [ ] Deploy things
- [ ] Test itOrganize tasks in logical phases for meaningful progress visualization:
## Phase 1: Environment Preparation
- [ ] Install required tools
- [ ] Configure access credentials
- [ ] Verify connectivity
## Phase 2: Infrastructure Deployment
- [ ] Review Terraform configuration
- [ ] Execute deployment commands
- [ ] Validate resource creation
## Phase 3: Testing and Validation
- [ ] Run integration tests
- [ ] Verify monitoring setup
- [ ] Document configurationBalance task detail with progress tracking utility:
✅ Good granularity:
- [ ] Clone repository and examine structure
- [ ] Configure local development environment
- [ ] Implement authentication middleware
- [ ] Add input validation logic
- [ ] Create unit tests for core functions
❌ Too granular:
- [ ] Open terminal
- [ ] Type git clone command
- [ ] Press enter
- [ ] Wait for download
❌ Too broad:
- [ ] Complete the entire kata
- [ ] Build the applicationModify settings in simple-progress-bar-bottom.js by updating the configuration object:
const config = {
name: 'simple-progress-bar',
version: '1.0.0',
storagePrefix: 'kata-progress-',
debugMode: false // Set to true for development debugging
};Override default styling by modifying CSS variables in your theme:
:root {
--theme-color: #0078d4;
--theme-color-secondary: #106ebe;
--progress-background: #f8f9fa;
--progress-text-color: #666;
}
/* Dark mode overrides */
body.dark {
--progress-background: #2d3748;
--progress-text-color: #a0aec0;
}For specialized kata requirements, access the plugin API:
// Access progress data programmatically
const progressAPI = window.KataProgressAPI;
const storage = new progressAPI.KataProgressStorage();
// Get current kata progress
const kataId = storage.generateKataId(storage.getCurrentKataPath());
const progress = storage.loadProgress(kataId);
// Custom progress handling
if (progress && progress.completionPercentage > 50) {
// Trigger advanced kata features
}The enhanced kata coach automatically accesses progress data to provide contextualized guidance. No additional configuration is required.
- Session Resumption: "I see you completed the setup tasks. Ready to continue with deployment?"
- Progress Recognition: "Great work on the infrastructure phase! Let's tackle the testing challenges."
- Adaptive Guidance: Coaching style adjusts based on completion patterns
- Targeted Support: Focus on areas where learners typically encounter difficulties
Structure katas to maximize coaching effectiveness:
## Learning Objectives
- Understand container orchestration concepts
- Practice Kubernetes deployment workflows
- Develop troubleshooting skills
## Prerequisites Check
- [ ] Verify Docker installation and access
- [ ] Confirm kubectl configuration
- [ ] Test cluster connectivity
## Core Implementation
- [ ] Create namespace and resource definitions
- [ ] Deploy application components
- [ ] Configure service networking
- [ ] Implement monitoring and logging
## Validation and Reflection
- [ ] Verify all pods are running correctly
- [ ] Test application functionality
- [ ] Document deployment challenges encountered
- [ ] Reflect on alternative approachesBefore publishing a kata with progress tracking:
-
Functionality Verification
- All checkboxes render as interactive elements
- Progress bar updates accurately with task completion
- Progress persists across page reloads
- Multiple kata sessions maintain separate progress
-
Visual Validation
- Progress display works in light and dark themes
- Mobile responsive layout functions correctly
- Animation and visual feedback operate smoothly
- Print formatting maintains readability
-
Content Quality
- Task descriptions are clear and actionable
- Logical task flow supports learning objectives
- Appropriate granularity for progress tracking
- Meaningful progress milestones identified
Test across target environments:
- Chrome/Chromium (primary development browser)
- Firefox (cross-browser compatibility)
- Safari (WebKit compatibility)
- Mobile browsers (responsive behavior)
Validate localStorage behavior:
// Test storage limits
const testData = new Array(1000).fill('test-task');
const storage = new window.KataProgressAPI.KataProgressStorage();
// Verify large kata progress handlingSymptoms: Checkboxes remain static, no progress tracking
Causes:
- JavaScript errors preventing plugin initialization
- Missing plugin files in docsify configuration
- Incorrect markdown checkbox syntax
Solutions:
- Check browser console for JavaScript errors
- Verify
simple-progress-bar-bottom.jsis loaded inindex.html - Ensure checkbox syntax follows
- [ ] Task descriptionformat
Symptoms: Checkbox states reset on page reload
Causes:
- localStorage disabled or quota exceeded
- Browser private/incognito mode
- Storage errors or corruption
Solutions:
- Verify localStorage is enabled and has available space
- Check browser console for storage-related errors
- Clear kata progress data:
localStorage.clear()
Symptoms: Progress bar not showing or incorrectly styled
Causes:
- CSS file not loaded or cached
- Theme conflicts with progress styling
- Browser compatibility issues
Solutions:
- Verify
interactive-progress-styles.cssis loaded - Check for CSS conflicts in browser developer tools
- Test in different browsers for compatibility
Enable debug logging for development:
// In simple-progress-bar-bottom.js
const config = {
debugMode: true // Enable detailed console logging
};Debug output includes:
- Progress data operations
- Checkbox enhancement events
- Storage success/failure status
- Performance timing information
- Progress data is automatically cleaned up for efficiency
- Large kata files maintain responsive performance
- Caching layer reduces localStorage access frequency
- Minimal JavaScript overhead on page load
- CSS animations use GPU acceleration where possible
- Progressive enhancement ensures graceful degradation
- Supports unlimited number of katas with separate progress tracking
- localStorage quota management prevents storage overflow
- Efficient data structures minimize memory usage
- Progress analytics and learning insights
- Cloud storage integration for cross-device sync
- Advanced checkpoint and milestone systems
- Integration with learning management systems
To contribute improvements or report issues:
- Test changes thoroughly using the validation checklist
- Document any new configuration options
- Update this implementation guide with new features
- Ensure backward compatibility with existing katas
- User guide for learners using progress tracking
- Kata coach integration documentation
- Technical API reference for developers
- Sample kata templates with optimized progress tracking
- Integration examples for different kata types
- Advanced configuration examples for specialized use cases