-
Newsletter |
Blog |
About |
Videos |
Agent Instructions
Agent Instructions
This file is the starting point for AI agents working in this repository.
Project Map
TestingConferences.org is a community-maintained Jekyll site for software testing conferences and workshops.
_data/current.yml: upcoming conferences and workshops._data/past.yml: past conferences and workshops, with optional presentation video playlists._data/closed.yml: conferences that no longer appear active._layouts/,_includes/,_sass/,css/: Jekyll templates and styles._posts/,_drafts/: news and blog content.tools/: maintenance scripts.devops/: local Docker setup and teardown scripts._site/: generated Jekyll output. Do not edit this directory.
CI And Deployment
This repository currently uses both GitHub Actions and CircleCI.
- For the site release flow, GitHub Actions is currently used for appending/incrementing the site version number.
- CircleCI is still responsible for build validation and deploying the site.
- Do not assume GitHub Actions is the source of truth for build validation or production deployment without confirming with a maintainer.
Relevant files:
.github/workflows/deploy.yml.github/workflows/auto-assign.yml.circleci/config.yml
Safe Edit Zones
For conference data changes, edit only the relevant YAML file in _data/.
- Use
_data/current.ymlfor upcoming conferences. - Use
_data/past.ymlfor completed conferences. - Use
_data/closed.ymlfor conferences that appear inactive or discontinued.
For site content changes, edit the relevant Markdown, HTML, include, layout, Sass, or config file.
Do not edit generated _site/ output. Regenerate it with Jekyll instead.
Do not change navigation, deployment, versioning, or ownership behavior unless the task specifically asks for it or a maintainer confirms it.
Conference Data Rules
Conference entries usually include:
name: full conference name, including the year when applicable.location: city, region/country, or online.dates: event dates.url: official conference URL with?utm_source=testingconferences.
Optional fields include:
twitter: handle without the@symbol.status: short registration, CFP, or event status. HTML links are allowed where existing patterns use them.video_playlist: presentation or talk playlist, for_data/past.ymlonly.first_dateandlast_date: used by_data/closed.yml.
Formatting rules:
- Preserve two-space YAML indentation.
- Preserve chronological display order.
- Quote names or date strings when YAML parsing could be ambiguous, especially names containing
:. - Do not include marketing videos as
video_playlistvalues. - Do not include general technology events unless they are specifically focused on software testing, software quality, automation, or a closely related testing community.
Source Of Truth For Updates
Prefer official conference sources:
- The conference website.
- The organizerās official registration, CFP, or schedule page.
- Official social accounts only when the website is stale or incomplete.
When sources conflict:
- Prefer the most specific official event page over a generic homepage.
- Prefer current-year pages over archived pages.
- Preserve uncertainty in
statusonly when it is useful to site visitors. - Do not invent dates, locations, prices, CFP deadlines, or registration status.
Local Commands
Docker is the preferred local setup path:
./devops/setup.sh
./devops/teardown.sh
Non-Docker build commands:
bundle install
bundle exec jekyll build --verbose
bundle exec htmlproofer ./_site --disable-external --no-enforce-https --allow-missing-href --ignore-urls '/^\\/\\//'
If local Ruby or gem setup fails, report the failure clearly instead of editing generated files by hand.
Validation Checklist
Before finishing a change, check:
- YAML parses correctly.
- Jekyll builds successfully when the environment supports it.
- Conference URLs include
utm_source=testingconferenceswhere appropriate. twittervalues do not include@.- New or moved conferences are in the correct data file and display order.
- Generated
_site/files are not included in the change.
Common Tasks
Adding a conference:
- Check whether the conference already exists.
- Add it to
_data/current.ymlin chronological order. - Use the official event URL and include the tracking parameter.
- Add status only when it is useful and supported by the source.
Moving a conference to past:
- Remove it from
_data/current.yml. - Add it to
_data/past.ymlin the correct order. - Add
video_playlistonly for conference talks or presentations.
Marking a conference closed:
- Confirm the event appears discontinued or inactive.
- Move or add it to
_data/closed.yml. - Include
first_dateandlast_datewhen known.
Updating site pages:
- Do not add pages to
_includes/nav.htmlwithout maintainer confirmation. - Add discoverable pages to
_includes/footer.htmlwhen appropriate.
Maintainer Approval Needed
Ask before changing:
- CI or deployment behavior.
- Versioning and tagging behavior.
- Navigation structure.
- Conference eligibility rules.
- Large formatting rewrites.
- Dependency versions.