Weekend Projects for Real-World IT Automation
Disclaimer: This repository contains tools created with AI assistance (Claude Code by Anthropic) as weekend projects to solve real organizational needs. I do not warrant the contents or guarantee functionality in all environments, especially large-scale deployments. Use at your own risk and test thoroughly in your environment before production use.
This repository houses IT automation tools I've built to solve real problems in my organization, created collaboratively with Claude Code during weekend coding sessions. The projects here represent practical solutions to common IT challenges, particularly around Apple device management with Jamf Pro.
"Vibe Coding" - The intersection of human need and AI capability:
- π― Real problems - Not toy projects, actual challenges
- π€ Directed AI Creation - Built collaboratively with Claude Code
- β‘ Rapid development - Weekend projects to solve specific issues and test real-world applicability
- π¬ Experimental - May not work in all environments, especially at scale
- π Learning - Each project is a learning experience
π jamf-health-tool
Complete Change Request (CR) automation for Jamf Pro
A comprehensive CLI tool for validating, remediating, and analyzing Change Requests in Jamf-managed environments. Built over a weekend to automate what previously took hours of manual validation. Best for organizations that must deploy policies and configuration profiles during a specific time frame, and more importantly, report on the success rate of that deployment within the time frame. Change Request can go by other names like Deployment Window, Change Management Window, and more. All testing has been done against a dedicated test Jamf Cloud environment.
What it does:
- β Validates patch compliance (macOS and applications)
- β Analyzes device availability during CR windows
- β Tracks policy execution and failures
- β Automatically remediates failures with intelligent retry
- β Compares CR performance over time
- β Generates reports (JSON, Excel, PDF, HTML)
Key metrics:
- 16 production commands
- 98% API call reduction
- 40x faster CR validation (10min β 20sec)
- 6,000+ lines of documentation
Status: β Production-ready, actively used
CR = Change Request - A formal process for managing changes to IT systems.
In IT organizations, changes to systems follow a structured process:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CHANGE MANAGEMENT PROCESS β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
1. PLANNING
ββ Define scope and objectives
ββ Identify affected systems
ββ Schedule maintenance window
2. PRE-CR PREPARATION (Pre-Flight)
ββ Validate device readiness
ββ Check resource availability
ββ Prepare rollback plans
ββ Stakeholder communication
3. CR EXECUTION (Change Window)
ββ Apply updates/changes
ββ Monitor progress
ββ Handle failures
ββ Real-time remediation
4. VALIDATION (Quality Assurance)
ββ Verify successful deployment
ββ Check compliance targets
ββ Identify failures
ββ Document exceptions
5. POST-CR ANALYSIS
ββ Generate compliance reports
ββ Trend analysis
ββ Lessons learned
ββ Process improvements
6. CLOSURE
ββ Final documentation
ββ Stakeholder sign-off
ββ Archive results
Patch Management:
- Monthly OS updates (macOS 15.1, 14.7.1, etc.)
- Application updates (Safari, Chrome, Office)
- Security patch deployment
- Compliance validation
Configuration Management:
- Security baseline deployment
- Policy updates
- Profile installation
- Settings standardization
Quality Assurance (QA):
- Pre-production testing
- Staged rollouts
- Rollback readiness
- Success criteria validation
Pre-CR Preparation (Phase 2):
# Check if devices are ready BEFORE CR starts
jamf-health-tool cr-readiness --scope-group-id 100
# Wake offline devices
jamf-health-tool wake-devices --computer-list scope.txt
# Ensure fresh inventory
jamf-health-tool update-inventory --computer-list scope.txtDuring CR (Phase 3):
# Auto-remediate failures as they occur
jamf-health-tool auto-remediate \
--policy-id 100 --policy-id 101 \
--max-retries 3 --send-blank-pushValidation (Phase 4):
# Comprehensive CR validation
jamf-health-tool cr-summary \
--cr-name "November 2024 Patching" \
--cr-start "2024-11-18T00:00:00Z" \
--cr-end "2024-11-22T23:59:59Z" \
--target-os-version "15.1" \
--success-threshold 0.95Post-CR Analysis (Phase 5):
# Compare with previous CR
jamf-health-tool cr-compare \
--current nov_cr.json \
--previous oct_cr.json
# Identify chronic problem devices
jamf-health-tool problem-devices \
--cr-summary sept_cr.json \
--cr-summary oct_cr.json \
--cr-summary nov_cr.jsonAll tools in this repository were created collaboratively with Claude Code, Anthropic's AI coding assistant. Additionally, OpenAI's ChatGPT Codex was used in testing and idea generation.
Human contribution:
- π― Identified real organizational problems
- π Defined requirements and use cases
- β Tested functionality
- π Validated documentation
- π QA and iteration
AI contribution (Claude Code):
- π» Wrote 95%+ of the code
- π Generated comprehensive documentation
- π§ͺ Created unit tests
- π¨ Designed CLI interfaces
- π Optimized performance
Traditional development timeline:
- Weeks to months for a tool like jamf-health-tool
- Multiple iterations and rewrites
- Extensive debugging and optimization
AI-assisted development timeline:
- Weekend project (2-3 days)
- Immediate production quality
- Comprehensive documentation included
- Built-in best practices
This represents a 10-100x acceleration in development time while maintaining or exceeding traditional quality standards. This repository differs from others and has been purposely separated due to the amount of code that is AI-generated. While the ideas and the problems came from a real place, the original intention of utilizing AI was to provide a fast turn around time to see the applicability of the solution. This very README was partially generated with AI, with human editing afterwards.
-
No Warranty: These tools are provided as-is, without any warranty of fitness for purpose or merchantability.
-
Test First: Always test thoroughly in a non-production environment before deploying to production.
-
Scale Considerations: Tools were developed and tested in mid-size environments (~1,000 devices). Performance in large-scale environments (10,000+ devices) may vary.
-
Environment Specific: Your Jamf Pro configuration, network topology, and organizational policies may affect functionality.
-
API Changes: Jamf Pro API changes may require updates to these tools.
-
Support: These are personal projects. While I'll do my best to help, I cannot guarantee support or timely updates.
Before using any tool in this repository:
- Read the documentation thoroughly
- Test in development environment first
- Understand the code - review what it does
- Verify permissions - ensure you have appropriate access
- Have a rollback plan - know how to undo changes
- Monitor execution - watch what happens during first runs
- Start small - pilot with a small group before full deployment
- Read-only by default: Most tools use read-only API access
- OAuth recommended: Use OAuth tokens instead of basic auth
- Credential management: Never commit credentials to version control
- Environment variables: Use environment variables for sensitive data
- Audit logging: Tools log all operations for audit trails
- Dry-run modes: Test commands have dry-run options
- Python 3.8 or higher
- Jamf Pro instance with API access
- OAuth client credentials (recommended) or Bearer token
- Read permissions for Jamf Pro API
- Choose a project from the repository
- Read the project README for specific setup instructions
- Install dependencies (each project has its own requirements)
- Configure authentication (typically via environment variables)
- Test with --help to understand available commands
- Run in dry-run mode first (if available)
- Start with small scope before full deployment
# Clone repository
git clone https://github.com/tonyyo11/vibe-coding-jamf.git
cd vibe-coding-jamf/jamf-health-tool
# Install
pip install -e ".[reports]"
# Configure
export JAMF_BASE_URL="https://yourserver.jamfcloud.com"
export JAMF_CLIENT_ID="your-client-id"
export JAMF_CLIENT_SECRET="your-client-secret"
# Test
jamf-health-tool --version
jamf-health-tool cr-readiness --help
# Use
jamf-health-tool patch-compliance --os-version "15.1"While these are personal weekend projects, I welcome:
- π Bug reports (please include environment details)
- π‘ Feature suggestions (especially for real-world use cases)
- π Documentation improvements
- π§ Pull requests (with detailed descriptions)
Note: Response times may vary as these are maintained in my spare time.
MIT License - Use freely, but without warranty.
This repository wouldn't exist without Claude Code. The AI assistant:
- Wrote the majority of the code
- Generated comprehensive documentation
- Created unit tests
- Provided optimization insights
- Enabled rapid iteration
This represents the future of software development - human creativity and problem identification combined with AI implementation speed and consistency.
These tools were born from real frustration:
- β±οΈ Hours spent manually validating CRs
- π Inconsistent reporting across maintenance windows
- β Human error in compliance calculations
- π Repetitive tasks that should be automated
If you face similar challenges, I hope these tools help you too.
These tools represent what's possible when human domain expertise meets AI coding capability. They're not perfect, but they're practical, functional, and solve real problems.
If you use these tools in your organization:
- β Star this repository
- π Share your experience in Discussions
- π Report bugs to help improve them
- π Pay it forward - share your own solutions
Remember: Always test thoroughly, understand what the code does, and use at your own risk.
Created with β€οΈ, weekends, and Claude Code
Version: 1.0
Last Updated: November 2025
Status: Active Development