A general-purpose, multi-language development toolkit focused on security infrastructure research, identity management, and developer productivity tools. This repository provides platform-agnostic utilities, comprehensive IAM research documentation, and best-practice development patterns.
This repository is derived from dev-rerickso, a LinkedIn-focused development workspace. All LinkedIn-specific tooling, APIs, and internal infrastructure dependencies have been removed to create a standalone, general-purpose toolkit suitable for any development environment.
Comprehensive documentation and architectural patterns for modern IAM systems:
- Cedar Policy Engine - Policy decision point (PDP) implementations
- SPIRE/SPIFFE - Workload identity with TPM attestation patterns
- Zanzibar - Relationship-based access control architectures
- NIST Policy Machine - Kubernetes-native policy frameworks
- Okta Integration - Enterprise identity federation patterns
- Kubernetes Auth - K8s authentication and authorization deep-dives
Self-contained projects organized by domain:
AI/Editor Integration
claude-cli/- Claude CLI tools and utilitiescodex-cli/- GitHub Codex integrationcursor-cli/- Cursor editor CLI toolsgemini-cli/- Google Gemini CLI integrationcopilot/- GitHub Copilot utilities
Infrastructure & DevOps
docker/- Docker setup guides (Linux/macOS)vm-setup/- Azure VM provisioning scriptsnode_diagnostics/- Node.js environment troubleshootingiterm2/- iTerm2 backup and restore utilitiestmux_bench/- Tmux performance benchmarking
Security & Identity
jwt/- JWT generation and validation examplesmcp/- Model Context Protocol (MCP) tools for secure API access- GitHub MCP server setup and token rotation
- Secure configuration management patterns
Code Quality & Analysis
lint/- Python linting automation (flake8, import fixes)- AST-based import cleanup
- Auto-fix workflows with dry-run support
rust_coverage_exclusions/- Rust code coverage patterns and demostodo_tracker/- Source code TODO tracker (Rust)
General Utilities
expand_date_ranges/- Date range expansion with holiday calendarsurl_shortener/- Self-hosted URL shortening service (Node.js/TypeScript)linkify/- Google Apps Script for document link enhancementgit_submodules/- Git submodule management utilitiesdeny-file/- File access control utilitiesmacos_app_remover/- Safe macOS application removal
Language Examples
grpc-sample/- Rust gRPC client/server examplesdispatch_demo/- Rust async dispatch patterns
Reusable Python utilities with strict type safety (mypy --strict compliant):
common/- Logging, error handling, progress trackingio_utils/- CSV, file I/O with validationcmd_utils/- Subprocess execution with retry logicfile_utils/- File categorization and pattern matchinggithub_utils/- GitHub API client with rate limitingprocessing_utils/- Batch processing frameworkstemplates/- Project scaffolding templates
bash/common/- Shared bash utilities with sophisticated error handlinggit/- Git configuration, aliases, and repository management scripts
Follow Eric Evans' DDD conventions for simple, maintainable code:
- Ubiquitous Language - Use domain terms consistently
- Bounded Contexts - Clear separation of concerns
- Intention-Revealing Names - Self-documenting code
- Entities and Value Objects - Proper domain modeling
Python (Strictly Enforced)
mypy --strict <file.py> # All code must pass
flake8 <file.py> # All code must pass- Full type hints on all function signatures
- Prefer composition over inheritance
- Use dataclasses or Pydantic for domain objects
Rust
cargo clippy # Lint all workspace members
cargo test # Run test suites- Follow standard Rust idioms
- Clear module boundaries aligned with domain concepts
Bash
- Always use
set -ufor undefined variable checking - Source shared utilities from
bash/common/repo_lib.sh - Comprehensive retry logic for network operations
Many tools follow a bash wrapper + Python implementation pattern:
- Bash handles virtual environment setup and argument forwarding
- Python contains business logic (must be mypy/flake8 clean)
- Automatic dependency installation on first run
Example structure:
project/
├── project_name.sh # Bash wrapper (venv setup)
├── project_name.py # Python implementation
└── requirements.txt # Dependencies
cd src/lint
./flake8_report.sh --summary-only # Lint codebase
./import_autofix.sh --dry-run # Preview import fixes
./flake8_autofix.sh --backup # Apply style fixescargo build # Build all workspace members
cargo test # Run tests
cargo clippy # Lint
cd src/todo_tracker # Navigate to specific project
cargo run # Run individual toolcd src/node_diagnostics
./diagnose_node_env.sh # Diagnose Node.js, npm, Volta issuesgit s- Fetch all + rebase pullgit lg- Colorized graph log with relative datesgit bclean- Delete merged branches (keeps main/dev)
Follow Arlo's Commit Notation for semantic commit messages.
- Use Mermaid diagrams for architecture visualization
- Include sequence diagrams for authentication flows
- Create graph diagrams for policy relationships
- Write documentation that domain experts can understand
- Organize tests by domain concepts, not technical layers
- Use descriptive test names expressing business scenarios
- Separate test categories in dedicated
tests/directories
This toolkit was extracted from a LinkedIn-focused development workspace. The following LinkedIn-specific components were removed:
- ACL management tools (LinkedIn ACL infrastructure)
- Asset management APIs (LinkedIn Crews/Products)
- Scheduler detection tools (go-status, RAIN scheduler)
- gRPC testing tools (LinkedIn DataVault authentication)
- SCM policy enforcement (LinkedIn-specific compliance)
- LDAP/directory utilities (LinkedIn Active Directory)
- Development environment tools (rdev, mint, lid-client)
- VDS log analysis (LinkedIn Virtual Directory Service)
- Internal documentation and runbooks
For the complete list of what was kept vs. removed, see MIGRATION.md.
Contributions should maintain the same quality standards:
- All Python code must pass
mypy --strictandflake8 - All Rust code must pass
cargo clippy - Follow Domain Driven Design principles
- Include tests for new functionality
- Use Arlo's Commit Notation
This is a personal development toolkit. Individual tools may have their own licensing requirements - check specific subdirectories for details.