GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - sillsdev/FieldWorks: FieldWorks is a suite of software tools for language and cultural data, with support for complex scripts.

BranchesTags
Open more actions menu

Latest commit

 

History

7,513 Commits
7,513 Commits

Folders and files

NameName
Last commit message
Last commit date
.claude
.claude
 
 
.config
.config
 
 
.github
.github
 
 
.serena
.serena
 
 
.vscode
.vscode
 
 
Bin
Bin
 
 
Bld
Bld
 
 
Build
Build
 
 
DistFiles
DistFiles
 
 
Docs
Docs
 
 
FLExInstaller
FLExInstaller
 
 
Include
Include
 
 
Lib
Lib
 
 
Src
Src
 
 
TestLangProj
TestLangProj
 
 
contracts
contracts
 
 
openspec
openspec
 
 
resources
resources
 
 
scripts
scripts
 
 
specs/001-wix-v6-migration
specs/001-wix-v6-migration
 
 
tests/Integration/RegFreeCom
tests/Integration/RegFreeCom
 
 
.editorconfig
.editorconfig
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.gitlint
.gitlint
 
 
.mcp.json
.mcp.json
 
 
.vsconfig
.vsconfig
 
 
AGENTS.md
AGENTS.md
 
 
CLAUDE.md
CLAUDE.md
 
 
CONTEXT.md
CONTEXT.md
 
 
Directory.Build.props
Directory.Build.props
 
 
Directory.Build.targets
Directory.Build.targets
 
 
Directory.Packages.props
Directory.Packages.props
 
 
EVIDENCE_CRITERA.md
EVIDENCE_CRITERA.md
 
 
FieldWorks.6.0.ReSharper
FieldWorks.6.0.ReSharper
 
 
FieldWorks.proj
FieldWorks.proj
 
 
FieldWorks.sln
FieldWorks.sln
 
 
FieldWorks.sln.DotSettings
FieldWorks.sln.DotSettings
 
 
License.htm
License.htm
 
 
ReadMe.md
ReadMe.md
 
 
SDK_MIGRATION.md
SDK_MIGRATION.md
 
 
Setup-Developer-Machine.ps1
Setup-Developer-Machine.ps1
 
 
Test.runsettings
Test.runsettings
 
 
acknowledgments.md
acknowledgments.md
 
 
build.ps1
build.ps1
 
 
codecov.yml
codecov.yml
 
 
crowdin.json
crowdin.json
 
 
generate_version.proj
generate_version.proj
 
 
nuget.config
nuget.config
 
 
regen_midl.cmd
regen_midl.cmd
 
 
test.ps1
test.ps1
 
 

Repository files navigation

Getting Started

New to FieldWorks development? Start here:

  • Contributing Guide - How to set up your development environment and contribute code
  • Visual Studio Setup - Detailed Visual Studio configuration (2026 or 2022)
  • Core Developer Setup - Additional setup for team members
  • AI-Assisted PR Workflow - Canonical core-developer path from Jira to worktree setup, branch preflight, and review response

Note: We are migrating documentation from the FwDocumentation wiki into this repository. Some wiki content may be more recent until migration is complete.

Linux and macOS

This repository can be opened on Linux or macOS for editing, code search, documentation, specs, and agent-assisted review.

Builds, tests, installer work, and developer-environment setup are Windows-only and are intentionally disabled on non-Windows hosts.

If you need runnable output, use a Windows machine and run ./build.ps1 or ./test.ps1 there.

Developer Machine Setup

See Contributing.

Building FieldWorks

FieldWorks uses the MSBuild Traversal SDK for declarative, dependency-ordered builds:

Windows (PowerShell):

.\build.ps1                    # Debug build
.\build.ps1 -Configuration Release

For detailed build instructions, see .github/instructions/build.instructions.md.

Concurrent worktree builds/tests

build.ps1 and test.ps1 use worktree-aware process cleanup, so running scripted builds/tests in different git worktrees does not kill each other.

Within a single worktree, builds and tests run one at a time: scripts acquire a worktree lock and fail fast if another scripted workflow is active.

You can tag lock ownership for diagnostics with FW_BUILD_STARTED_BY=user|agent (or -StartedBy user|agent).

Building Installers (WiX 3 default, WiX 6 opt-in)

Installer builds default to WiX 3 (legacy batch pipeline) using inputs in FLExInstaller/ and PatchableInstaller/. Use -InstallerToolset Wix6 to opt into the WiX 6 SDK-style path (restored via NuGet; no setup required).

WiX 3.11 setup (required for WiX 3 installer builds)

WiX 3.11 can be installed with Chocolatey:

choco install wixtoolset --version 3.11.2
  • Ensure tools (heat.exe etc.) are available in %WIX%\bin or on the PATH.
  • Install the Visual Studio WiX Toolset v3 extension so Wix.CA.targets is available to MSBuild.

Running installer builds

Installer builds include the additional utilities (UnicodeCharEditor, LCMBrowser, MigrateSqlDbs, etc.). To skip them, pass -BuildAdditionalApps:$false.

# Build the installer (WiX 3 default)
.\build.ps1 -BuildInstaller

# Build the installer (WiX 6)
.\build.ps1 -BuildInstaller -InstallerToolset Wix6

WiX 3 artifacts are produced under FLExInstaller/bin/x64/<Config>/ (MSI under en-US/).

WiX 6 artifacts are produced under FLExInstaller/wix6/bin/x64/<Config>/ (MSI under en-US/).

For more details, see specs/001-wix-v6-migration/quickstart.md.

Code signing for local installer builds

Signing is optional for local builds. By default, local installer builds do not sign and instead record files to sign later.

To enable signing for a local installer build, pass -SignInstaller to build.ps1.

Required for signing:

  • Either sign (SIL signing tool) or signtool.exe on PATH.
  • If using signtool.exe, set CERTPATH (PFX path) and CERTPASS (password) in the environment.

If you want to control the capture file, set FILESTOSIGNLATER to a file path before building. The build will append files needing signatures to that file.

Model Context Protocol helpers

This repo ships an mcp.json workspace configuration so MCP-aware editors can spin up the GitHub and Serena servers automatically. See Docs/mcp.md for requirements and troubleshooting tips.

Agent instruction files

We maintain a shared AGENTS model (AGENTS.md, CLAUDE.md, .github/AGENTS.md, Src/AGENTS.md, FLExInstaller/AGENTS.md, openspec/AGENTS.md) and a minimal, requirement-focused guidance model.

GitHub Copilot custom instructions remain under .github/instructions/*.instructions.md because GitHub requires those paths. Claude Code workflows live under .claude/skills/.

See .github/AI_GOVERNANCE.md for the documentation taxonomy and “source of truth” rules.

About

FieldWorks is a suite of software tools for language and cultural data, with support for complex scripts.

software.sil.org/fieldworks

Topics

discourse-analysislexicographylinguistic-analysis

Resources

Readme
License

Contributing

Contributing
Activity
Custom properties

Stars

110 stars

Watchers

9 watching

Forks

42 forks
Report repository

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.