diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..07bfc11 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,24 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +indent_style = space +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false + +[Makefile] +indent_style = tab + +[*.{go,mod}] +indent_style = tab + +[*.{py,cs,java,kt,kts,swift,rs,c,cpp,h}] +indent_size = 4 + +[*.{yml,yaml,json}] +indent_size = 2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..73a6827 --- /dev/null +++ b/.gitignore @@ -0,0 +1,146 @@ +# W4C project template — default ignores. +# The stack is chosen in the creation dialog, so this file covers the ecosystems the +# dialog offers (Node/TypeScript, Python, .NET, JVM, Go, Rust, Dart/Flutter, Ruby, +# Elixir, Swift) plus OS/editor cruft and secret-bearing files. + +# --- OS cruft --- +.DS_Store +.AppleDouble +.LSOverride +Thumbs.db +ehthumbs.db +Desktop.ini +$RECYCLE.BIN/ + +# --- Editors / IDEs --- +.idea/ +.vscode/ +!.vscode/extensions.json +!.vscode/settings.json +!.vscode/launch.json +!.vscode/tasks.json +*.swp +*.swo +*.sublime-workspace +*.sublime-project +*~ + +# --- Secrets and local environment (keep .env.example tracked) --- +.env +.env.* +!.env.example +*.pem +*.key +*.p12 +*.pfx +secrets/ +certs/ + +# --- Logs and temporary files --- +*.log +logs/ +log/ +tmp/ +temp/ +.cache/ +*.tmp + +# --- Build output (shared across stacks) --- +build/ +dist/ +out/ +coverage/ +artifacts/ +*.tsbuildinfo + +# --- Node / JavaScript / TypeScript --- +node_modules/ +.pnpm-store/ +.yarn/ +.npm/ +.pnp +.pnp.* +.next/ +.nuxt/ +.output/ +.svelte-kit/ +.astro/ +.turbo/ +.vercel/ +.parcel-cache/ +.eslintcache +.angular/ + +# --- Python --- +__pycache__/ +*.py[cod] +*.egg-info/ +.eggs/ +.venv/ +venv/ +.pytest_cache/ +.mypy_cache/ +.ruff_cache/ +.tox/ +htmlcov/ + +# --- .NET / C# --- +bin/ +obj/ +.vs/ +TestResults/ +*.user +*.suo +*.nupkg + +# --- Java / Kotlin / Gradle / Maven --- +target/ +.gradle/ +*.class +*.jar +!gradle/wrapper/gradle-wrapper.jar +!.mvn/wrapper/maven-wrapper.jar +local.properties +*.apk +*.aab + +# --- Go --- +*.exe +*.exe~ +*.dll +*.so +*.dylib +*.test +*.out + +# --- Rust --- +/target/ + +# --- Dart / Flutter --- +.dart_tool/ +.pub-cache/ +.flutter-plugins +.flutter-plugins-dependencies + +# --- Ruby / Rails --- +.bundle/ +vendor/bundle/ +.byebug_history + +# --- Elixir / Phoenix --- +_build/ +deps/ +*.ez +.elixir_ls/ +erl_crash.dump + +# --- Swift / Xcode --- +.build/ +DerivedData/ +.swiftpm/ +*.xcuserstate + +# --- Local databases --- +*.sqlite +*.sqlite3 +*.db diff --git a/README.md b/README.md index d53e116..5fc51cb 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,8 @@ the work is checked against. |------|---------| | `README.md` | This file: how the template is wired and how to work in the project. | | `SPEC.md` | The research specification and acceptance criteria — the contract to work against. | +| `.gitignore` | Default ignores for dependencies, build output, local secrets and editor/OS cruft. | +| `.editorconfig` | Shared editor defaults (UTF-8, LF, indentation) for the generated project. | | `.w4c/template.json` | Template manifest: dialog fields, starter prompt, element list (templates only). | | `.w4c/project.json` | Project metadata committed with the repository. | | `.w4c/README.md` | The `.w4c/` folder contract. |