First off, thanks for taking the time to contribute! 🎉
This project is the first POWER8/ppc64le port of Anthropic's Claude Code CLI tool. Contributions are welcome, whether they're bug reports, documentation improvements, or code enhancements.
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to scott@elyanlabs.ai.
Before creating bug reports, please check the existing issues as your issue might have already been reported. If you're unable to find an existing issue addressing the problem, open a new one.
Bug reports should include:
- A clear and descriptive title
- Steps to reproduce the issue
- Expected behavior vs actual behavior
- Your environment (OS, Node.js version, hardware specs)
- Any relevant logs or screenshots
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, include:
- A clear and descriptive title
- A detailed description of the proposed enhancement
- Explanation of why this enhancement would be useful
- Any relevant examples or mockups
Documentation improvements are always welcome! This includes:
- Fixing typos or unclear explanations
- Adding missing information
- Improving formatting or structure
- Translating documentation
We welcome code contributions, especially for:
- Additional platform support (other PowerPC architectures)
- Performance optimizations
- Bug fixes
- New features that benefit POWER8/ppc64le users
-
IBM POWER8 System (or compatible ppc64le hardware)
- Tested on IBM Power System S824 (8286-42A)
- Ubuntu 20.04 LTS (last POWER8-supported version)
-
Node.js 20.x for ppc64le
# Download Node.js 20 ppc64le build wget https://nodejs.org/dist/v20.10.0/node-v20.10.0-linux-ppc64le.tar.xz tar -xf node-v20.10.0-linux-ppc64le.tar.xz export PATH=$HOME/node-v20.10.0-linux-ppc64le/bin:$PATH
-
Rust (for building ripgrep)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source ~/.cargo/env
-
Git
sudo apt-get install git
-
Fork and clone the repository
gh repo fork Scottcjn/claude-code-power8 --clone=true cd claude-code-power8 -
Install dependencies
cd claude-code npm install -
Build ripgrep (if needed)
git clone https://github.com/BurntSushi/ripgrep cd ripgrep cargo build --release # Binary at: target/release/rg
-
Set up your Anthropic API key
export ANTHROPIC_API_KEY=your-api-key -
Test the installation
npm link # Links the package globally for testing claude # Should launch Claude Code
claude-code-power8/
├── binaries/ # Pre-built binaries for download
│ ├── ripgrep-ppc64le-linux.tar.gz
│ └── claude-code-2.0.70-ppc64le.tar.gz
├── claude-code/ # Modified npm package
│ ├── vendor/
│ │ └── ripgrep/
│ │ └── ppc64le-linux/ # Our ppc64le binary
│ └── ...
├── README.md
├── CODE_OF_CONDUCT.md
└── CONTRIBUTING.md
-
Create an issue first (for major changes)
- Discuss your proposed changes
- Get feedback from maintainers
- Avoid duplicate work
-
Make sure your code works on ppc64le
- Test on actual POWER8 hardware if possible
- Document any platform-specific considerations
-
Follow the existing code style
- Match the formatting of existing files
- Use clear, descriptive variable names
- Add comments for complex logic
-
Create a feature branch
git checkout -b feature/your-feature-name
-
Make your changes
- Keep commits atomic and focused
- Write clear commit messages
- Reference related issues
-
Test your changes
npm test # If tests exist claude # Manual testing
-
Update documentation
- Update README.md if needed
- Add or update inline comments
- Update any relevant wiki pages
-
Commit your changes
git add . git commit -m "type: brief description"
Commit message format:
feat:- New featurefix:- Bug fixdocs:- Documentation changestest:- Adding or updating testsrefactor:- Code refactoringchore:- Maintenance tasks
-
Push and create PR
git push origin feature/your-feature-name
Then create a pull request via GitHub's web interface or:
gh pr create
- Code compiles and runs on ppc64le
- Commit messages follow the format guidelines
- Documentation has been updated
- Changes have been tested
- PR description clearly explains the changes
- Related issues are referenced
Do not file public issues for security vulnerabilities. Instead, email scott@elyanlabs.ai with:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
For non-security issues:
- Search existing issues first
- Use a clear, descriptive title
- Provide as much context as possible
- Include environment details
- Use issue templates if available
- Open an issue for bugs or feature requests
- Email scott@elyanlabs.ai for private inquiries
- Check the README.md for additional information
If you contribute to this project, you agree that your contributions will be licensed under the same license as the project (Apache 2.0 for the port additions, MIT for ripgrep binary).
Thank you for contributing to making Claude Code accessible on POWER8 hardware! 🚀