diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..7c4f1e7 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,32 @@ +# 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, caste, 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 for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the project maintainers. All complaints will be reviewed and +investigated promptly and fairly. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..f3ac3d7 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,74 @@ +# Contributing to Git Pulsar + +First off, thanks for taking the time to contribute! 🎉 + +## How to Contribute + +### Reporting Bugs +1. Check if the issue has already been reported. +2. Open a new issue with a clear title and description. +3. Include relevant logs (`git-pulsar log`) or reproduction steps. + +### Development Setup + +This project uses [uv](https://github.com/astral-sh/uv) for dependency management and Python 3.12+. + +1. **Fork & Clone** + Fork the repo and clone it locally: + ```bash + git clone https://github.com/jacksonfergusondev/git-pulsar.git + cd git-pulsar + ``` + +2. **Environment Setup** + We use `uv` to manage the virtual environment and dependencies. + ```bash + # Creates .venv and installs dependencies (including dev groups) + uv sync + ``` + + *Optional: If you use `direnv`, allow the automatically generated configuration:* + ```bash + direnv allow + ``` + +3. **Install Hooks** + Set up pre-commit hooks to handle linting (Ruff) and type checking (Mypy) automatically. + ```bash + pre-commit install + ``` + +### Running Tests + +We use `pytest` for the test suite. + +```bash +uv run pytest +``` + +### Pull Requests + +1. **Create a Branch** + ```bash + git checkout -b feature/my-amazing-feature + ``` + +2. **Make Changes** + Write code and add tests for your changes. + +3. **Verify** + Ensure your code passes the linter and tests locally. + ```bash + uv run pytest + ``` + (Pre-commit will also run `ruff` and `mypy` when you commit). + +4. **Commit & Push** + Please use clear commit messages. + ```bash + git commit -m "feat: add support for solar flares" + git push origin feature/my-amazing-feature + ``` + +5. **Open a Pull Request** + Submit your PR against the `main` branch. diff --git a/README.md b/README.md index 1c6da0c..21ad9a5 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,24 @@ It ensures that even if your laptop dies (or you forget to push before leaving t --- +## 🧬 Environment Bootstrap (macOS) + +Pulsar includes a one-click scaffolding tool to set up a modern, robust Python environment. + +```bash +git-pulsar --env +``` + +This bootstraps the current directory with: + +- **uv:** Initializes a project with fast package management and Python 3.12+ pinning. + +- **direnv:** Creates an .envrc for auto-activating virtual environments and hooking into the shell. + +- **VS Code:** Generates a .vscode/settings.json pre-configured to exclude build artifacts and use the local venv. + +--- + ## 📦 Installation ### macOS (Recommended) diff --git a/pyproject.toml b/pyproject.toml index 2254bc7..eac6b17 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -67,7 +67,7 @@ tag_name = "v{new_version}" tag_message = "Bump version: {current_version} → {new_version}" allow_dirty = false commit = true -message = "Bump version: {current_version} → {new_version}" +message = "chore: bump version {current_version} → {new_version}" commit_args = "" [[tool.bumpversion.files]]