Tools and Access¶
This page lists all tools, services, and access credentials you'll need as an Arctyk ITSM team member.
Required Tools¶
Development Tools¶
Git & GitHub¶
- Purpose: Version control and code collaboration
- Access: Public (for contributors) or Team access (for maintainers)
- Setup:
Docker Desktop¶
- Purpose: Local development environment
- Download: https://www.docker.com/products/docker-desktop
- Verify:
docker --version && docker-compose --version
Python 3.11+¶
- Purpose: Primary development language
- Download: https://www.python.org/downloads/
- Verify:
python --version
Code Editors¶
Visual Studio Code (Recommended)¶
- Download: https://code.visualstudio.com/
- Extensions:
- Python (Microsoft)
- Django (Baptiste Darthenay)
- Pylance
- GitLens
- Docker
- markdownlint
Alternative Editors¶
- PyCharm Professional
- Sublime Text with Python plugins
- Vim/Neovim with LSP
Database Tools¶
DBeaver (Recommended)¶
- Purpose: PostgreSQL database client
- Download: https://dbeaver.io/
- Connection:
- Host:
localhost - Port:
5432 - Database:
arctyk_db - User:
arctyk_user - Password: (from your
.envfile)
Alternative Tools¶
- pgAdmin
- DataGrip
- psql command-line client
API Testing¶
Postman or Insomnia¶
- Purpose: Test API endpoints
- Download:
- Postman: https://www.postman.com/
- Insomnia: https://insomnia.rest/
Communication Platforms¶
Discord¶
- Purpose: Real-time team communication
- Access: Request invite link from maintainers
- Channels:
#general- General discussion#development- Development questions#pull-requests- PR notifications#releases- Release announcements
GitHub Discussions¶
- Purpose: Async discussions, Q&A, feature proposals
- Access: Public on repository
- Link: https://github.com/Arctyk-ITSM/arctyk-itsm/discussions
CI/CD and Hosting¶
GitHub Actions¶
- Purpose: Continuous Integration/Deployment
- Access: Automatically runs on PR
- Workflows:
- Linting and tests
- Build verification
- Deployment (main branch)
DigitalOcean (Production)¶
- Purpose: Production hosting
- Access: Maintainers only
- Contact: Request from team lead if needed
Documentation Tools¶
MkDocs¶
- Purpose: Documentation site generation
- Install:
- Usage:
Access Levels¶
Contributor (Everyone)¶
- ✅ Read access to repository
- ✅ Fork and create pull requests
- ✅ Participate in discussions
- ✅ View documentation
- ❌ Direct push to main branch
- ❌ Production access
Maintainer¶
- ✅ All contributor permissions
- ✅ Review and merge pull requests
- ✅ Triage issues
- ✅ Create releases
- ✅ Access to CI/CD secrets
- ✅ Production deployment access
- ✅ Admin access to repository
Getting Access¶
For Contributors¶
- GitHub Account: Create if you don't have one
- Fork Repository: Fork the main repository to your account
- Clone Locally: Clone your fork for development
- Discord (Optional): Request invite link to join discussions
For New Maintainers¶
Contact the team lead for: - [ ] GitHub team membership - [ ] Discord admin access - [ ] CI/CD secrets access - [ ] Production server SSH keys - [ ] Database backup access
Optional Tools¶
Pre-commit Hooks¶
# Install pre-commit
pip install pre-commit
# Install hooks
pre-commit install
# Run manually
pre-commit run --all-files
Coverage.py¶
# Install coverage
pip install coverage
# Run tests with coverage
coverage run --source='.' manage.py test
coverage report
coverage html
Django Debug Toolbar¶
- Already configured in development settings
- Provides detailed request/query information
- Access panel on the right side of pages when
DEBUG=True
Security Best Practices¶
SSH Keys¶
- Use Ed25519 keys for GitHub
- Add passphrase for extra security
- Never share private keys
Environment Variables¶
- Never commit
.envfiles - Use separate credentials for dev/prod
- Rotate credentials regularly
API Tokens¶
- Store in environment variables
- Use minimal required permissions
- Rotate tokens if compromised
Troubleshooting Access Issues¶
Can't Push to Repository¶
- Verify you're pushing to your fork, not the main repo
- Check SSH key is added to GitHub
- Ensure you have write access (for maintainers)
Docker Permission Denied¶
Database Connection Fails¶
- Ensure Docker containers are running
- Check
.envdatabase configuration - Verify port 5432 isn't in use
Keeping Tools Updated¶
Regular Updates¶
# Update Docker images
docker-compose pull
# Update Python dependencies
pip install --upgrade -r requirements.txt
# Update VS Code extensions
# Check Extensions → Check for Updates
Version Requirements¶
- Python: 3.11+
- Docker: 20.10+
- Node.js: 18+ (for SCSS builds)
- PostgreSQL: 15+
Getting Help¶
If you need access to something not listed here:
- Ask in Discord #development channel
- Email the team lead
- Open a GitHub discussion
- Message a maintainer directly
Next Steps¶
Once you have all tools set up:
- Set up your development environment
- Make your first contribution
- Join the Discord community
- Introduce yourself to the team!