Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
176 changes: 176 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
# Contributing to Robert Pelloni's Workspace

Thank you for your interest in contributing! This workspace contains multiple projects and AI orchestration tools. Here's how you can contribute effectively.

## Table of Contents
- [Getting Started](#getting-started)
- [Development Process](#development-process)
- [Code Standards](#code-standards)
- [Submitting Changes](#submitting-changes)
- [AI Orchestration Guidelines](#ai-orchestration-guidelines)

## Getting Started

### Prerequisites
- Git installed and configured
- Familiarity with the specific project you want to contribute to
- For AI orchestration work: Access to relevant MCP servers and AI models

### Setting Up Your Environment

1. Fork the repository
2. Clone your fork:
```bash
git clone https://github.com/YOUR-USERNAME/workspace.git
cd workspace
```
3. Create a feature branch:
```bash
git checkout -b feature/your-feature-name
```

## Development Process

### Before Starting Work
1. Check existing issues and pull requests to avoid duplication
2. For major changes, open an issue first to discuss the approach
3. Review the project-specific documentation in each subdirectory

### Code Quality
- Write clear, maintainable code
- Follow the existing code style in each project
- Add tests for new features when applicable
- Update documentation to reflect your changes

### Testing
- Run existing tests before submitting changes
- Add tests for new functionality
- Ensure all tests pass before creating a pull request

## Code Standards

### General Guidelines
- Use meaningful variable and function names
- Keep functions small and focused
- Comment complex logic
- Remove commented-out code and debug statements

### Project-Specific Standards
Different projects in this workspace use different languages and frameworks:
- **PHP projects**: Follow PSR-12 coding standards
- **JavaScript/TypeScript**: Use consistent formatting (Prettier recommended)
- **Python**: Follow PEP 8 style guide
- **C++**: Follow project-specific conventions

### Commit Messages
Follow the [Conventional Commits](https://www.conventionalcommits.org/) specification:

```
type(scope): subject

body

footer
```

Types:
- `feat`: New feature
- `fix`: Bug fix
- `docs`: Documentation changes
- `style`: Formatting, missing semicolons, etc.
- `refactor`: Code restructuring
- `test`: Adding tests
- `chore`: Maintenance tasks

Example:
```
feat(auth): add two-factor authentication support

Implements TOTP-based 2FA for enhanced security.
Uses standard TOTP libraries and follows best practices.

Closes #123
```

## Submitting Changes

### Pull Request Process

1. **Update Your Branch**
```bash
git fetch origin
git rebase origin/main
```

2. **Push Your Changes**
```bash
git push origin feature/your-feature-name
```

3. **Create Pull Request**
- Use the pull request template
- Provide a clear description of changes
- Link related issues
- Add screenshots for UI changes
- Request review from maintainers

4. **Address Review Feedback**
- Respond to all review comments
- Make requested changes
- Push updates to the same branch

5. **Merge**
- Maintainers will merge once approved
- Delete your feature branch after merge

### Pull Request Checklist
- [ ] Code follows project style guidelines
- [ ] Self-review of code completed
- [ ] Comments added for complex logic
- [ ] Documentation updated
- [ ] No new warnings generated
- [ ] Tests added/updated and passing
- [ ] Changes work locally
- [ ] Dependent changes merged

## AI Orchestration Guidelines

This workspace extensively uses AI orchestration with multiple models. When contributing to AI-related components:

### AI Model Integration
- Document which AI models are used and why
- Include fallback strategies for API failures
- Respect rate limits and quotas
- Never commit API keys or secrets

### MCP Server Development
- Follow MCP protocol specifications
- Add comprehensive error handling
- Document all available tools and methods
- Include usage examples

### Skills and Methodologies
- Document new skills in the consolidated-skills directory
- Follow the existing skill structure
- Include effectiveness metrics when available
- Test skills with multiple AI models

### Consensus Building
- Use multi-model consensus for critical decisions
- Document the models used and their responses
- Include confidence scores when available
- Store results in appropriate Chroma collections

## Questions or Need Help?

- Open an issue for bugs or feature requests
- Check existing documentation in the repository
- Review the AI coordination guides for orchestration questions

## Code of Conduct

Please note that this project follows a Code of Conduct. By participating, you agree to uphold this code. Please report unacceptable behavior to the project maintainers.

## Recognition

Contributors will be recognized in the project documentation. Thank you for helping make this workspace better!
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2025 Robert Pelloni

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
52 changes: 52 additions & 0 deletions dynamic/copilot-swe-agent/copilot
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Copilot SWE Agent

on:
workflow_dispatch:
push:
branches:
- copilot/evaluate-software-stack

jobs:
copilot-agent:
runs-on: ubuntu-latest
Comment thread
robertpelloni marked this conversation as resolved.

Copilot AI Nov 4, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow runs on ubuntu-latest but includes extensive OS detection logic for Windows and macOS. If only Linux is supported, the OS detection in lines 16-46 is unnecessary complexity. Either support multiple OS runners (e.g., using a matrix strategy) or remove the OS detection logic.

Copilot uses AI. Check for mistakes.
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Determine OS and set environment
shell: bash
run: |
# Determine runner OS (use GitHub-provided RUNNER_OS or
# fallback to uname)
if [ -z "${RUNNER_OS:-}" ]; then
RUNNER_OS="$(uname -s 2>/dev/null || echo Unknown)"
fi

case "$RUNNER_OS" in
Linux|linux)
echo "SHOULD_CONTINUE=true" >> "$GITHUB_ENV"
echo "Runner OS is Linux — continuing."
;;
Windows|Windows_NT|MINGW*|CYGWIN*|msys*)
echo "SHOULD_CONTINUE=true" >> "$GITHUB_ENV"
echo "Runner OS is Windows — continuing."
;;
Darwin|Mac|macOS)
echo "SHOULD_CONTINUE=true" >> "$GITHUB_ENV"
echo "Runner OS is macOS — continuing."
;;
*)
# Unknown or unsupported OS — do not exit; mark that
# some steps should skip if needed
echo "SHOULD_CONTINUE=false" >> "$GITHUB_ENV"
printf '%s\n' \
"Runner OS ($RUNNER_OS) is not explicitly supported." \
"Continuing without quitting; check SHOULD_CONTINUE."
;;
esac

- name: Run Copilot Agent
if: env.SHOULD_CONTINUE == 'true'
run: |
echo "Running Copilot SWE Agent..."
# Add your Copilot agent commands here
Comment thread
robertpelloni marked this conversation as resolved.
Loading