chore: prepare for public repo\n\n- Remove tracked binaries and embedded venv\n- Add SECURITY.md and CODE_OF_CONDUCT.md\n- Update .gitignore to prevent binaries/env from reappearing\n- Fix Makefile to use pyscn module and binary\n- Align CONTRIBUTING links with ludo-technologies/pyscn\n- Update README distribution note (#75)

Co-authored-by: DaisukeYoda <daisukeyoda@users.noreply.github.com>
This commit is contained in:
DaisukeYoda
2025-09-09 09:09:39 +09:00
committed by GitHub
parent a1d7ac9aec
commit b828eed307
6 changed files with 64 additions and 27 deletions

9
.gitignore vendored
View File

@@ -18,6 +18,9 @@ go.work
vendor/ vendor/
# Build output # Build output
/pyscn
/pyscan
/pyscn.exe
/pyqol /pyqol
/dist/ /dist/
/build/ /build/
@@ -56,6 +59,10 @@ venv/
.venv/ .venv/
env/ env/
.env/ .env/
python/scripts/upload_env/
# Python packaged binaries (built during wheel creation)
python/src/pyscn/bin/
# Temporary files # Temporary files
*.tmp *.tmp
@@ -72,4 +79,4 @@ env/
# Internal documentation (sensitive/private) # Internal documentation (sensitive/private)
requirements.md requirements.md
AGENTS.md AGENTS.md
CLAUDE.md CLAUDE.md

8
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,8 @@
# Code of Conduct
We follow the Contributor Covenant Code of Conduct to foster an open and welcoming community.
https://www.contributor-covenant.org/version/2/1/code_of_conduct/
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported via GitHub issues or privately to the maintainers. Reports will be reviewed and addressed promptly and fairly.

View File

@@ -25,8 +25,8 @@ Enhancement suggestions are tracked as GitHub issues. Create an issue using the
Unsure where to begin contributing? You can start by looking through these `good-first-issue` and `help-wanted` issues: Unsure where to begin contributing? You can start by looking through these `good-first-issue` and `help-wanted` issues:
- [Good first issues](https://github.com/pyscn/pyscn/labels/good%20first%20issue) - issues which should only require a few lines of code - [Good first issues](https://github.com/ludo-technologies/pyscn/labels/good%20first%20issue) - issues which should only require a few lines of code
- [Help wanted issues](https://github.com/pyscn/pyscn/labels/help%20wanted) - issues which should be a bit more involved - [Help wanted issues](https://github.com/ludo-technologies/pyscn/labels/help%20wanted) - issues which should be a bit more involved
## Development Process ## Development Process
@@ -45,7 +45,7 @@ git clone https://github.com/YOUR_USERNAME/pyscn.git
cd pyscn cd pyscn
# Add upstream remote # Add upstream remote
git remote add upstream https://github.com/pyscn/pyscn.git git remote add upstream https://github.com/ludo-technologies/pyscn.git
# Install dependencies # Install dependencies
go mod download go mod download
@@ -124,4 +124,4 @@ Feel free to open an issue with your question or reach out to the maintainers di
## Recognition ## Recognition
Contributors will be recognized in our README and release notes. Thank you for your contributions! Contributors will be recognized in our README and release notes. Thank you for your contributions!

View File

@@ -1,8 +1,8 @@
# Makefile for pyqol # Makefile for pyscn
# Variables # Variables
BINARY_NAME := pyqol BINARY_NAME := pyscn
GO_MODULE := github.com/pyqol/pyqol GO_MODULE := github.com/ludo-technologies/pyscn
VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo "dev") VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
COMMIT := $(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown") COMMIT := $(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown")
DATE := $(shell date +%Y-%m-%d) DATE := $(shell date +%Y-%m-%d)
@@ -10,7 +10,7 @@ LDFLAGS := -ldflags "-s -w \
-X '$(GO_MODULE)/internal/version.Version=$(VERSION)' \ -X '$(GO_MODULE)/internal/version.Version=$(VERSION)' \
-X '$(GO_MODULE)/internal/version.Commit=$(COMMIT)' \ -X '$(GO_MODULE)/internal/version.Commit=$(COMMIT)' \
-X '$(GO_MODULE)/internal/version.Date=$(DATE)' \ -X '$(GO_MODULE)/internal/version.Date=$(DATE)' \
-X '$(GO_MODULE)/internal/version.BuiltBy=make'" -X '$(GO_MODULE)/internal/version.BuiltBy=make'"
# Colors for output # Colors for output
GREEN := \033[0;32m GREEN := \033[0;32m
@@ -30,7 +30,7 @@ all: test build
## build: Build the binary ## build: Build the binary
build: build:
@echo "$(GREEN)Building $(BINARY_NAME) $(VERSION)...$(NC)" @echo "$(GREEN)Building $(BINARY_NAME) $(VERSION)...$(NC)"
go build $(LDFLAGS) -o $(BINARY_NAME) ./cmd/pyqol go build $(LDFLAGS) -o $(BINARY_NAME) ./cmd/pyscn
## test: Run tests ## test: Run tests
test: test:
@@ -60,11 +60,11 @@ clean:
## install: Install the binary ## install: Install the binary
install: build install: build
@echo "$(GREEN)Installing $(BINARY_NAME)...$(NC)" @echo "$(GREEN)Installing $(BINARY_NAME)...$(NC)"
go install $(LDFLAGS) ./cmd/pyqol go install $(LDFLAGS) ./cmd/pyscn
## run: Run the application ## run: Run the application
run: run:
go run $(LDFLAGS) ./cmd/pyqol go run $(LDFLAGS) ./cmd/pyscn
## version: Show version information ## version: Show version information
version: version:
@@ -106,18 +106,18 @@ build-all: build-linux build-darwin build-windows
build-linux: build-linux:
@echo "$(GREEN)Building for Linux...$(NC)" @echo "$(GREEN)Building for Linux...$(NC)"
GOOS=linux GOARCH=amd64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-linux-amd64 ./cmd/pyqol GOOS=linux GOARCH=amd64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-linux-amd64 ./cmd/pyscn
GOOS=linux GOARCH=arm64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-linux-arm64 ./cmd/pyqol GOOS=linux GOARCH=arm64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-linux-arm64 ./cmd/pyscn
build-darwin: build-darwin:
@echo "$(GREEN)Building for macOS...$(NC)" @echo "$(GREEN)Building for macOS...$(NC)"
GOOS=darwin GOARCH=amd64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-darwin-amd64 ./cmd/pyqol GOOS=darwin GOARCH=amd64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-darwin-amd64 ./cmd/pyscn
GOOS=darwin GOARCH=arm64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-darwin-arm64 ./cmd/pyqol GOOS=darwin GOARCH=arm64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-darwin-arm64 ./cmd/pyscn
build-windows: build-windows:
@echo "$(GREEN)Building for Windows...$(NC)" @echo "$(GREEN)Building for Windows...$(NC)"
GOOS=windows GOARCH=amd64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-windows-amd64.exe ./cmd/pyqol GOOS=windows GOARCH=amd64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-windows-amd64.exe ./cmd/pyscn
GOOS=windows GOARCH=arm64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-windows-arm64.exe ./cmd/pyqol GOOS=windows GOARCH=arm64 go build $(LDFLAGS) -o dist/$(BINARY_NAME)-windows-arm64.exe ./cmd/pyscn
# Python packaging # Python packaging
## build-python: Build Python wheels with embedded binaries ## build-python: Build Python wheels with embedded binaries
@@ -128,21 +128,21 @@ build-python:
## python-wheel: Build Python wheel for current platform only ## python-wheel: Build Python wheel for current platform only
python-wheel: python-wheel:
@echo "$(GREEN)Building Python wheel for current platform...$(NC)" @echo "$(GREEN)Building Python wheel for current platform...$(NC)"
@mkdir -p python/src/pyqol/bin dist @mkdir -p python/src/pyscn/bin dist
go build $(LDFLAGS) -o python/src/pyqol/bin/pyqol-$$(go env GOOS)-$$(go env GOARCH)$$(if [ "$$(go env GOOS)" = "windows" ]; then echo ".exe"; fi) ./cmd/pyqol go build $(LDFLAGS) -o python/src/pyscn/bin/pyscn-$$(go env GOOS)-$$(go env GOARCH)$$(if [ "$$(go env GOOS)" = "windows" ]; then echo ".exe"; fi) ./cmd/pyscn
python/scripts/create_wheel.sh python/scripts/create_wheel.sh
## python-test: Test Python package installation ## python-test: Test Python package installation
python-test: python-wheel python-test: python-wheel
@echo "$(GREEN)Testing Python package...$(NC)" @echo "$(GREEN)Testing Python package...$(NC)"
pip install --force-reinstall dist/*.whl pip install --force-reinstall dist/*.whl
@echo "$(GREEN)Testing pyqol command...$(NC)" @echo "$(GREEN)Testing pyscn command...$(NC)"
pyqol --version || pyqol --help pyscn --version || pyscn --help
## python-clean: Clean Python build artifacts ## python-clean: Clean Python build artifacts
python-clean: python-clean:
@echo "$(YELLOW)Cleaning Python build artifacts...$(NC)" @echo "$(YELLOW)Cleaning Python build artifacts...$(NC)"
rm -rf python/src/pyqol/bin rm -rf python/src/pyscn/bin
rm -rf dist rm -rf dist
rm -rf build rm -rf build
rm -rf *.egg-info rm -rf *.egg-info

View File

@@ -18,8 +18,9 @@ All analyses are available as dedicated commands and via a unified analyze comma
## Quick Start ## Quick Start
```bash ```bash
# Install via pip (recommended) # Install via pip or uv
pip install pyscn pip install pyscn
# or: uv add pyscn
# Fast quality check (CI-friendly) # Fast quality check (CI-friendly)
pyscn check . pyscn check .
@@ -186,13 +187,17 @@ Notes:
## Installation ## Installation
### Install via pip (recommended for Python users) ### Install via pip or uv (recommended for Python users)
```bash ```bash
# Using pip
pip install pyscn pip install pyscn
# Using uv (faster, modern Python package manager)
uv add pyscn
``` ```
> **Note**: The package is registered on PyPI but will be available once the repository is made public. > Note: pyscn is available on PyPI and GitHub Releases.
If you prefer to build wheels locally (e.g., for development), see the Python section below. If you prefer to build wheels locally (e.g., for development), see the Python section below.

17
SECURITY.md Normal file
View File

@@ -0,0 +1,17 @@
## Security Policy
We take security seriously and appreciate responsible disclosure of vulnerabilities.
Reporting a vulnerability:
- Prefer GitHub Security Advisories: open a private report under the "Security" tab of the repository.
- If you cannot use advisories, open a minimal issue without sensitive details and request a maintainer to start a private thread.
Please include:
- A clear description of the issue and impact
- Steps to reproduce (PoC) and affected versions/platforms
- Suggested mitigations if known
We aim to acknowledge reports within 3 business days and provide status updates until resolution.
Do not disclose vulnerabilities publicly until a fix is released and coordinated disclosure has been agreed.