A: Devkit requires:
- macOS 10.15+ or Linux (Ubuntu 18.04+)
- 5GB free disk space
- Bash 4.0+
- Internet connection (for initial setup)
- Optional: Python 3.9+ for enhanced features
A: Devkit is designed for macOS and Linux. For Windows, consider:
- Using Windows Subsystem for Linux (WSL2)
- Running in a Docker container
- Using a Linux virtual machine
A: Initial setup typically takes 5-10 minutes depending on:
- Internet connection speed
- Your system's specs
- Number of packages to install
- Selected roles (core, development, etc.)
A: Not yet, but you can:
- Use caching from previous installations
- Pre-download packages on a networked machine
- Use a local package mirror
A: Run:
cd devkit
git pull origin main
./bootstrap.shSee UPGRADE.md for version-specific upgrade paths.
A: Configuration is stored in ~/.devkit/config.yaml with the following structure:
~/.devkit/
├── config.yaml # Main configuration
├── logs/ # Setup logs
├── cache/ # Installation cache
├── audit/ # Audit logs
└── plugins/ # Custom plugins
A: Edit ~/.devkit/config.yaml and re-run:
./bootstrap.shChanges are merged with existing configuration.
A: Yes! Devkit works with sensible defaults. Configuration is optional for customization.
A: Backup and delete your current config, then re-run bootstrap:
cp ~/.devkit/config.yaml ~/.devkit/config.yaml.backup
rm ~/.devkit/config.yaml
./bootstrap.sh # Creates fresh default configA: Install Homebrew first:
/bin/bash -c "$(curl -fsSL https://brew.sh/install.sh)"
source ~/.zshrc # or ~/.bashrc
./bootstrap.shA: Make scripts executable:
chmod +x bootstrap.sh
chmod +x scripts/*.shOr run with bash explicitly:
bash bootstrap.shA: This usually means:
- Network issues: Check internet connection
- Disk space: Verify 5GB+ free space
- CPU throttling: Your system may be under heavy load
Try:
./bootstrap.sh --skip-gui # Skip GUI app installationA: Warnings are usually non-fatal. Check:
- TROUBLESHOOTING.md for specific warnings
~/.devkit/logs/setup.logfor details- Run verification:
./verify-setup.sh
A: Devkit doesn't have an uninstaller because:
- It installs packages you may want to keep
- Different setups have different uninstall needs
- You manually decide what to keep/remove
To remove Devkit files:
rm -rf ~/.devkit
rm -rf ~/devkit # If cloned herePackages installed by Devkit remain (use brew uninstall to remove).
A: Initial installation downloads and installs 50+ packages. Subsequent runs are much faster due to caching.
A: Several ways:
- Use caching: Run setup twice, second time is 75-80% faster
- Skip GUI apps:
./bootstrap.sh --skip-gui - Select specific roles: Edit config to include only what you need
- Check network: Run
ping github.comto verify connectivity
A: Devkit automatically caches:
- Successful package installations
- Downloaded scripts and configurations
- Verification results
Cache is stored in ~/.devkit/cache/ and cleaned after 24 hours.
A: Yes, it's safe because:
- Bootstrap script has built-in checksum verification
- CI/CD pipeline generates and publishes checksums
- Installation verifies integrity before execution
Always download from official sources:
curl -fsSL https://raw.githubusercontent.com/vietcgi/devkit/main/scripts/install.sh | bashA: Devkit requires:
- Write access to home directory (
~) - Sudo access for system package installation
- Network access to GitHub and Homebrew repos
A: Audit logging is enabled by default in config. Logs are stored in:
~/.devkit/audit/audit-YYYYMMDD.jsonl
Logs are:
- Secure (mode 0600)
- JSON formatted
- Rotated daily
- Archived after 90 days
A: Yes, modify the audit system initialization:
from cli.audit import AuditLogger
logger = AuditLogger(enable_signing=True)This adds SHA256 signatures to all audit entries.
A: See CONTRIBUTING.md for:
- Development setup
- Code standards
- Testing requirements
- Pull request process
A: File an issue on GitHub:
- Check existing issues first
- Include system info:
uname -a - Include log:
~/.devkit/logs/setup.log - Describe steps to reproduce
A: Open a GitHub issue with:
- Clear use case
- Why it's important
- Suggested implementation (optional)
A: Yes! See PLUGIN_DEVELOPMENT_GUIDE.md for:
- Plugin structure
- Development guide
- Security requirements
- Distribution
A: Place plugins in:
~/.devkit/plugins/my-plugin/
├── manifest.json
└── __init__.py
Then run: ./bootstrap.sh to load them.
A: Yes, in ~/.devkit/config.yaml:
global:
disabled_plugins:
- plugin-name-1
- plugin-name-2A: Yes, Devkit supports fleet management via:
- Central configuration server
- Inventory-based setup
- Health check aggregation
- Audit log streaming
See docs/GLOBAL_SETUP_GUIDE.md for details.
A: Use health check endpoints:
# Local health check
./verify-setup.sh
# JSON output for integration
devkit health --jsonA: Multiple support options:
- Documentation: Check TROUBLESHOOTING.md
- GitHub Issues: Report bugs and request features
- Discussions: Ask questions and share knowledge
- Email: Contact maintainers (see SUPPORT.md)
A: Do NOT create public issues for security vulnerabilities!
Instead:
- Email security details to: [maintainer-email@example.com]
- Include affected versions
- Describe impact
- Allow 30 days for response
See SECURITY.md for complete policy.
A: Devkit uses Semantic Versioning:
- MAJOR (3.0.0): Breaking changes
- MINOR (3.1.0): New features
- PATCH (3.1.5): Bug fixes
See UPGRADE.md for upgrade instructions.
A: Yes, place custom roles in:
~/.devkit/roles/custom-role/
└── tasks/
└── main.yml
Add to config:
global:
enabled_roles:
- custom-roleA: Use health checks and audit logs:
# In your CI/CD pipeline
./bootstrap.sh
./verify-setup.sh
# Check health
devkit health --json | grep healthyA: Yes, add to Dockerfile:
FROM ubuntu:22.04
RUN apt-get update && apt-get install -y git curl bash
RUN curl -fsSL https://raw.githubusercontent.com/vietcgi/devkit/main/scripts/install.sh | bash
RUN ./bootstrap.shCan't find your question? Check:
- TROUBLESHOOTING.md - Common issues
- SUPPORT.md - Support options
- GitHub Issues - Search existing questions
Still stuck? Open a new discussion or issue on GitHub!