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
35 changes: 35 additions & 0 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Contributor Covenant 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, color, 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

Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

## 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.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the project leaders at `conduct@tidyfactor.com`. All complaints will be reviewed and investigated promptly and fairly.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1.
46 changes: 46 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Contributing to TidyFactor Styler

Thank you for your interest in contributing to **TidyFactor Styler** (`@alwkala/tidyfactor-styler`)!

This repository follows strict **TidyFactor Skill Methodology** guidelines to ensure deterministic workflows, anti-slop design execution, and cross-platform compatibility across AI Coding Agents (*Google Antigravity, Claude Code, Cursor, Codex, Windsurf*).

---

## 🛠️ Development & Validation Workflow

1. **Clone & Setup**:
```bash
git clone https://github.com/TidyFactor/Styler.git
cd Styler
```

2. **Validate Skill Integrity**:
Every change must satisfy the structural rules and YAML/frontmatter compliance:
```bash
npm run validate
# or: python tools/validate_skill.py
```

3. **Build Packages & Bundles**:
```bash
npm run build
# or: node tools/build-skill.js
```

---

## 🌿 Branching & Pull Requests

1. **Branch Naming**:
- `feature/<short-name>`: New framework integrations, presets, or workflows.
- `fix/<short-name>`: Bug fixes or validation corrections.
- `docs/<short-name>`: Documentation, guides, or Arabic localization updates.

2. **Commit Hygiene & SemVer**:
- Updates must synchronize version references across `.tidyfactor`, `package.json`, `brand.json`, `README.md`, and `CHANGELOG.md`.
- Never commit ad-hoc changes without passing `npm run validate`.

3. **Submitting a Pull Request**:
- Fill out the PR template completely.
- Link all relevant issues.
- Confirm automated integrity validation passes.
52 changes: 52 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: "🐛 Bug Report"
description: "File a reproducible defect or styling issue in tidyfactor-styler"
title: "[Bug]: "
labels: ["type:bug", "status:triage"]
body:
- type: markdown
attributes:
value: "Thank you for reporting a problem in TidyFactor Styler. Please provide detailed reproduction steps."
- type: input
id: version
attributes:
label: "Styler Version / Release"
description: "Which version of @alwkala/tidyfactor-styler are you using?"
placeholder: "v1.1.1"
validations:
required: true
- type: dropdown
id: target_framework
attributes:
label: "Target Framework / Environment"
options:
- "Tailwind CSS v3 / v4"
- "Next.js (App Router / Pages Router)"
- "PHP (Blade / Plates / Vanilla)"
- "Vanilla HTML / CSS"
- "WordPress / Theme"
- "Other"
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: "Steps to Reproduce"
description: "Step-by-step instructions or prompt executed."
placeholder: "1. Run command '/styler component'\n2. Pass layout '...'\n3. Observe RTL layout discrepancy"
validations:
required: true
- type: textarea
id: expected
attributes:
label: "Expected Behavior"
description: "What did you expect the styler output to look like?"
validations:
required: true
- type: textarea
id: actual
attributes:
label: "Actual Behavior / Output Snippet"
description: "Paste the actual generated code or styling bug."
render: shell
validations:
required: true
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: "💬 TidyFactor Discussions"
url: "https://github.com/TidyFactor/Styler/discussions"
about: "Ask questions, share design ideas, and discuss UI architecture."
- name: "🛡️ Security Advisory"
url: "https://github.com/TidyFactor/Styler/security/advisories/new"
about: "Report a vulnerability privately."
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: "✨ Feature Request"
description: "Suggest a new UI pattern, framework preset, or RTL enhancement"
title: "[Feature]: "
labels: ["type:feature", "status:triage"]
body:
- type: markdown
attributes:
value: "Have an idea or design pattern you'd like TidyFactor Styler to support? Tell us about it!"
- type: textarea
id: problem
attributes:
label: "Use Case / Missing Capability"
description: "What UI pattern, framework style, or RTL transformation are you trying to achieve?"
placeholder: "When working with..."
validations:
required: true
- type: textarea
id: solution
attributes:
label: "Proposed Style Preset or Solution"
description: "Describe how the new styler workflow or component preset should look/behave."
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: "Alternatives Considered"
description: "Any alternative workarounds or designs you considered."
validations:
required: false
19 changes: 19 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## 🎯 What Changed?
<!-- Clear 1-2 sentence description of the change -->

## 💡 Why?
<!-- Issue reference, bug description, or architectural motivation -->
Closes #

## 🛠️ Implementation Details
<!-- Key architectural decisions, new framework styles, token refinements, or tool modifications -->

## 🧪 Verification Checklist
- [ ] Validated skill integrity (`npm run validate` / `python tools/validate_skill.py`)
- [ ] No regression in token hierarchy or framework styler engines
- [ ] Documentation (`README.md` & `README.ar.md`) updated if applicable
- [ ] No hardcoded or non-deterministic file paths

## ⚠️ Breaking Changes
- [ ] No breaking changes
- [ ] Breaking change (describe migration path below)
30 changes: 30 additions & 0 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Security Policy

## Supported Versions

We actively provide security patches and updates for the following versions:

| Version | Supported |
| ------- | ------------------ |
| 1.1.x | :white_check_mark: |
| 1.0.x | :white_check_mark: |
| < 1.0 | :x: |

---

## Reporting a Vulnerability

We take the security of TidyFactor Styler and its associated workflows seriously. Please do not report security vulnerabilities via public GitHub issues or discussions.

1. **Private Reporting**:
- Open a private security report through [GitHub Security Advisories](https://github.com/TidyFactor/Styler/security/advisories/new).
- Alternatively, email `security@tidyfactor.com` or `hello@tidyfactor.com`.

2. **Details to Include**:
- Description of the vulnerability and attack vector.
- Exact steps or script to reproduce the issue.
- Potential impact on users or downstream implementations.

3. **Response SLA**:
- Acknowledgement within **48 hours**.
- Coordinated disclosure and patch release in accordance with standard SemVer rules.
19 changes: 19 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
labels:
- "dependencies"
- "security"

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
labels:
- "actions"
- "security"
36 changes: 36 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

permissions:
contents: read

jobs:
validate:
name: Skill Integrity & Linter
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout Code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Set up Python
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
with:
python-version: "3.11"

- name: Set up Node.js
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: "20"

- name: Run Integrity Validation
run: python tools/validate_skill.py
39 changes: 39 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Node & Dependencies
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
package-lock.json

# Python & Caches
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
env/
venv/
.venv/

# Build & Archives
dist/
build/
*.skill
*.zip
*.tar.gz
*.tgz

# OS & IDE Files
.DS_Store
Thumbs.db
*.swp
*.swo
*~
.idea/
.vscode/
*.sublime-project
*.sublime-workspace

# Scratch & Logs
scratch/
*.log
4 changes: 2 additions & 2 deletions .tidyfactor
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"ecosystem": "tidyfactor",
"track": "js",
"name": "tidyfactor-js",
"version": "1.1.0",
"version": "1.2.0",
"npmPackage": "@alwkala/tidyfactor-js",
"github": "https://github.com/TidyFactor/JS",
"skillFile": "../tidyfactor-js-v1.1.0.skill",
Expand Down Expand Up @@ -30,4 +30,4 @@
"website": "https://tidyfactor.com",
"docs": "https://tidyfactor.com/documentation",
"license": "Apache-2.0"
}
}
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@

All notable changes to the **[@alwkala/tidyfactor-js](https://www.npmjs.com/package/@alwkala/tidyfactor-js)** package will be documented in this file.

## [1.2.0] - 2026-08-29

### Added - Global Multi-Tier & Multi-Language Documentation Architecture
- **Rule 13 Implementation**: Two-tier documentation separation between Canonical Technical Documentation (`README.md` SSOT) and First-Class Market Localizations.
- **Universal Multi-Language Switcher**: Standardized 8-language switcher navigation bar across all documentation files (`EN`, `AR`, `FA`, `ES`, `PT`, `ZH`, `DE`, `FR`).
- **First-Class Localized Developer Adoption Guides**: `README.es.md`, `README.pt.md`, `README.fa.md`, `README.zh.md`, `README.de.md`, `README.fr.md`.
- **Automated Validation & Packaging**: Updated `tools/build-skill.js` and `tools/validate_skill.py`.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

Expand Down
2 changes: 1 addition & 1 deletion README.ar.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<div align="center" dir="rtl">

# 🟨 مهارة تايتفكتور لتطبيقات جافاسكريبت المستقلة `TidyFactor JS v1.1.0`
# 🟨 مهارة تايتفكتور لتطبيقات جافاسكريبت المستقلة `TidyFactor JS v1.2.0`
### تطبيقات الصفحة الواحدة SPA بدون أطر عمل وبنظام ES Modules النقي ومكونات الويب Web Components

[![npm version](https://img.shields.io/npm/v/@alwkala/tidyfactor-js.svg?style=for-the-badge&color=F7DF1E)](https://www.npmjs.com/package/@alwkala/tidyfactor-js)
Expand Down
Loading
Loading