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
90 changes: 90 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment:

* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility for mistakes and learning from them
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior:

* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

## Manufacturing Community Context

As a manufacturing-focused project, we especially value:

* **Practical Problem Solving**: Focus on real-world manufacturing challenges
* **Knowledge Sharing**: Help others learn from your manufacturing experience
* **Constructive Criticism**: Suggest improvements, don't just criticize
* **Patience**: Users may have varying technical backgrounds

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies within all community spaces, including:

* GitHub repositories and discussions
* Issue trackers
* Community forums
* Social media interactions related to the project

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders at:

**[email protected]**

All complaints will be reviewed and investigated promptly and fairly.

## Enforcement Guidelines

Community leaders will follow these guidelines in determining consequences:

### 1. Correction

**Community Impact**: Minor inappropriate behavior.

**Consequence**: Private written warning with clarity on why the behavior was inappropriate.

### 2. Warning

**Community Impact**: A violation through a single incident or series of actions.

**Consequence**: Warning with consequences for continued behavior. No interaction with the people involved for a specified period.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards.

**Consequence**: Temporary ban from any sort of interaction or public communication with the community.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community standards.

**Consequence**: Permanent ban from any sort of public interaction within the community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1.

---

*For questions, contact [email protected]*
203 changes: 203 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
# Contributing to Eryxon Flow

Thank you for your interest in contributing to Eryxon Flow! This document provides guidelines for contributing to this manufacturing execution system.

## License Agreement

By contributing to Eryxon Flow, you agree that your contributions will be licensed under the same [Business Source License 1.1](LICENSE) that covers the project. After the change date, contributions will be available under Apache 2.0.

## Getting Started

### Prerequisites

- Node.js 20+
- npm or pnpm
- Git
- A [Supabase](https://supabase.com) account (free tier works)

### Development Setup

```bash
# Clone the repository
git clone https://github.com/SheetMetalConnect/eryxon-flow.git
cd eryxon-flow

# Install dependencies
npm install

# Copy environment template
cp .env.example .env
# Edit .env with your Supabase credentials

# Start development server
npm run dev
```

### Running Tests

```bash
# Run all tests
npm test

# Type checking
npm run typecheck

# Linting
npm run lint
```

## How to Contribute

### Reporting Bugs

1. Check existing [GitHub Issues](https://github.com/SheetMetalConnect/eryxon-flow/issues) to avoid duplicates
2. Use the bug report template
3. Include:
- Steps to reproduce
- Expected vs actual behavior
- Browser/environment details
- Screenshots if applicable

### Suggesting Features

1. Open a [GitHub Discussion](https://github.com/SheetMetalConnect/eryxon-flow/discussions) first
2. Describe the use case and manufacturing context
3. Explain why existing features don't solve the problem

### Submitting Pull Requests

1. **Fork** the repository
2. **Create a branch** from `main`:
```bash
git checkout -b feature/your-feature-name
```
3. **Make your changes** following our code style
4. **Test** your changes thoroughly
5. **Commit** with clear messages (see below)
6. **Push** and open a Pull Request

## Code Style

### General Guidelines

- Follow existing code patterns in the codebase
- Use TypeScript with strict typing (no `any`)
- Keep components small and focused
- Write self-documenting code

### Localization

**All user-facing text must be localized.** Never hardcode strings.

```tsx
// Correct
const { t } = useTranslation();
<Button>{t('common.save')}</Button>

// Incorrect - never do this
<Button>Save</Button>
```

Add translations to all three language files:
- `src/i18n/locales/en/` - English
- `src/i18n/locales/nl/` - Dutch
- `src/i18n/locales/de/` - German

### Design System

Use existing design tokens and classes. See `docs/DESIGN_SYSTEM.md`:

```tsx
// Correct - use design system classes
<div className="glass-card">
<h1 className="hero-title">{title}</h1>
</div>

// Incorrect - never inline custom styles
<div style={{ background: '#1a1a2e' }}>
```

### Data Fetching

Always use real data from Supabase. Never create mock data:

```tsx
// Correct
const { data } = useQuery({
queryKey: ['jobs'],
queryFn: () => supabase.from('jobs').select('*')
});

// Incorrect - never mock data
const mockJobs = [{ id: 1, name: 'Test' }];
```

## Commit Messages

Use conventional commits format:

```
type(scope): description

[optional body]
```

**Types:**
- `feat` - New feature
- `fix` - Bug fix
- `docs` - Documentation only
- `style` - Code style (formatting, etc.)
- `refactor` - Code refactoring
- `test` - Adding tests
- `chore` - Maintenance tasks

**Examples:**
```
feat(jobs): add bulk delete functionality
fix(operator): correct time calculation for paused operations
docs(api): update webhook documentation
```

## Pull Request Guidelines

### Before Submitting

- [ ] Code follows the style guide
- [ ] All tests pass
- [ ] TypeScript has no errors (`npm run typecheck`)
- [ ] New features have translations in all 3 languages
- [ ] Documentation updated if needed

### PR Description

Include:
- What the PR does
- Why the change is needed
- How to test the changes
- Screenshots for UI changes

### Review Process

1. Maintainers will review within 1-2 weeks
2. Address feedback promptly
3. Keep PRs focused - split large changes

## Development Resources

- [CLAUDE.md](CLAUDE.md) - Detailed development guidelines
- [docs/DESIGN_SYSTEM.md](docs/DESIGN_SYSTEM.md) - UI design system
- [docs/CODING_PATTERNS.md](docs/CODING_PATTERNS.md) - Code patterns
- [docs/DATABASE.md](docs/DATABASE.md) - Database schema

## Questions?

- Open a [GitHub Discussion](https://github.com/SheetMetalConnect/eryxon-flow/discussions)
- Check existing documentation in `/docs`

## Code of Conduct

Please read and follow our [Code of Conduct](CODE_OF_CONDUCT.md).

---

Thank you for contributing to manufacturing innovation!
Loading
Loading