Update contribution guidelines.

This commit is contained in:
Den Delimarsky 🌺
2025-09-20 21:20:43 -07:00
parent 3bdb1d9f3f
commit ee9f83929a
2 changed files with 15 additions and 5 deletions

View File

@@ -18,6 +18,11 @@ These are one time installations required to be able to test your changes locall
>[!NOTE] >[!NOTE]
>If your pull request introduces a large change that materially impacts the work of the CLI or the rest of the repository (e.g., you're introducing new templates, arguments, or otherwise major changes), make sure that it was **discussed and agreed upon** by the project maintainers. Pull requests with large changes that did not have a prior conversation and agreement will be closed. >If your pull request introduces a large change that materially impacts the work of the CLI or the rest of the repository (e.g., you're introducing new templates, arguments, or otherwise major changes), make sure that it was **discussed and agreed upon** by the project maintainers. Pull requests with large changes that did not have a prior conversation and agreement will be closed.
>[!IMPORTANT]
>We leverage AI and AI agents for help with this project and value contributions that also use AI to detect issues and improve Spec Kit. However, to help the team focus on important issues and features, we will close issues and PRs that are **low-effort AI-generated changes**. If you are submitting an AI generated issue or pull request, please include **concrete test cases**, **scenarios**, and an outline of the **end-to-end developer experience** with your suggested change.
>
>This means that you need to be supervising the changes and understanding why the change is necessary within the Spec Kit scope.
1. Fork and clone the repository 1. Fork and clone the repository
1. Configure and install the dependencies: `uv sync` 1. Configure and install the dependencies: `uv sync`
1. Make sure the CLI works on your machine: `uv run specify --help` 1. Make sure the CLI works on your machine: `uv run specify --help`

View File

@@ -291,15 +291,20 @@ create_new_agent_file() {
local language_conventions local language_conventions
language_conventions=$(get_language_conventions "$NEW_LANG") language_conventions=$(get_language_conventions "$NEW_LANG")
# Perform substitutions with error checking # Perform substitutions with error checking using safer approach
# Escape special characters for sed by using a different delimiter or escaping
local escaped_lang=$(printf '%s\n' "$NEW_LANG" | sed 's/[[\.*^$()+{}|]/\\&/g')
local escaped_framework=$(printf '%s\n' "$NEW_FRAMEWORK" | sed 's/[[\.*^$()+{}|]/\\&/g')
local escaped_branch=$(printf '%s\n' "$CURRENT_BRANCH" | sed 's/[[\.*^$()+{}|]/\\&/g')
local substitutions=( local substitutions=(
"s/\[PROJECT NAME\]/$project_name/" "s|\[PROJECT NAME\]|$project_name|"
"s/\[DATE\]/$current_date/" "s|\[DATE\]|$current_date|"
"s/\[EXTRACTED FROM ALL PLAN.MD FILES\]/- $NEW_LANG + $NEW_FRAMEWORK ($CURRENT_BRANCH)/" "s|\[EXTRACTED FROM ALL PLAN.MD FILES\]|- $escaped_lang + $escaped_framework ($escaped_branch)|"
"s|\[ACTUAL STRUCTURE FROM PLANS\]|$project_structure|g" "s|\[ACTUAL STRUCTURE FROM PLANS\]|$project_structure|g"
"s|\[ONLY COMMANDS FOR ACTIVE TECHNOLOGIES\]|$commands|" "s|\[ONLY COMMANDS FOR ACTIVE TECHNOLOGIES\]|$commands|"
"s|\[LANGUAGE-SPECIFIC, ONLY FOR LANGUAGES IN USE\]|$language_conventions|" "s|\[LANGUAGE-SPECIFIC, ONLY FOR LANGUAGES IN USE\]|$language_conventions|"
"s|\[LAST 3 FEATURES AND WHAT THEY ADDED\]|- $CURRENT_BRANCH: Added $NEW_LANG + $NEW_FRAMEWORK|" "s|\[LAST 3 FEATURES AND WHAT THEY ADDED\]|- $escaped_branch: Added $escaped_lang + $escaped_framework|"
) )
for substitution in "${substitutions[@]}"; do for substitution in "${substitutions[@]}"; do