github / github/spec-kit

[Preset]: Add NIEM Information Exchanges

Open
#4,587 0 comments 0 reactions 0 assignees View on GitHub
enhancement needs-triage triage-nice-to-have
Dominant language
Python
Stars
137k
Forks
12.3k
Avg merge
2d 7h
Merged PRs (30d)
155

Description

### Preset ID

niem

### Preset Name

NIEM Information Exchanges

### Version

1.0.1

### Description

Adds evidence-based NIEM exchange modeling to the core, assess, and bugfix processes while preserving their commands, artifacts, and scope.

### Author

mnriem

### Repository URL

https://github.com/mnriem/spec-kit-presets

### Download URL

https://github.com/mnriem/spec-kit-presets/releases/download/niem-v1.0.1/niem.zip

### Documentation URL

https://github.com/mnriem/spec-kit-presets/blob/main/niem/README.md

### License

MIT

### Required Spec Kit Version

>=1.0.4

### Required Extensions (optional)

assess, bug

### Templates Provided

- `spec-template.md` - appends business-level exchange requirements and interoperability acceptance.
- `plan-template.md` - appends NIEM baselines, mapping decisions, message contracts, and an evidence plan.
- `tasks-template.md` - appends requirement-to-mapping-to-task coverage.
- `checklist-template.md` - appends NIEM requirements-quality review topics, not implementation certification.
- `constitution-template.md` - appends semantic ownership, verified reuse, compatibility, and evidence principles.
- `niem-guidance.md` - shared reference for source verification, modeling decisions, scope, and conformance limits.
- `niem-mapping-template.md` - component mapping records for the existing data-model artifact.

### Commands Provided

All 18 use `wrap` composition around their existing core or extension commands:

- `speckit.constitution` - NIEM governance through the existing amendment process.
- `speckit.specify` - business exchange requirements without premature schema design.
- `speckit.clarify` - exchange semantics and acceptance within the existing question budget.
- `speckit.plan` - verified reuse, local extensions, message formats, and evidence planning.
- `speckit.tasks` - traceable, story-based exchange work.
- `speckit.analyze` - read-only cross-artifact consistency review.
- `speckit.checklist` - requirements-quality review without certifying implementation.
- `speckit.implement` - approved mappings and actual validation evidence.
- `speckit.converge` - append-only follow-up tasks for gaps in approved intent.
- `speckit.taskstoissues` - mapping references, task identity, and evidence needs in issue handoffs.
- `speckit.assess.intake` - capture an exchange idea without presupposing NIEM adoption.
- `speckit.assess.research` - investigate fit, authoritative evidence, and counter-evidence.
- `speckit.assess.define` - define the interoperability problem independently of the solution.
- `speckit.assess.shape` - compare bounded NIEM and non-NIEM approaches.
- `speckit.assess.decide` - evidence-qualified go, clarification, or kill decisions.
- `speckit.bug.assess` - investigate exchange defects without changing source or upgrading NIEM.
- `speckit.bug.fix` - surgical fixes preserving established compatibility.
- `speckit.bug.test` - rerun the original reproduction and report actual validation coverage.

### Number of Scripts (optional)

0

### Tags

niem, interoperability, data-modeling, assess, bugfix

### Key Features

- Adds NIEM guidance to existing processes without introducing a new runtime, extension, or bundle.
- Uses a NIEM 6.0 reference baseline while preserving explicitly selected legacy versions and compatibility obligations.
- Distinguishes verified component reuse, proposed local extensions, and unverified candidates using source provenance and namespace identities.
- Preserves command phase boundaries, artifact paths, read-only reviews, and human approval gates.
- Separates requirements quality, model/NDR conformance, schema validity, message validity, and interoperability evidence. This is an experimental independent preset, not an official NIEMOpen product or a conformance certification.
- Includes the MIT license in the preset directory and at the root of the release ZIP; development tests are excluded from the ZIP.

### Testing Checklist

- [x] Preset installs successfully via `specify preset add`
- [x] Template resolution works correctly after installation
- [x] Documentation is complete and accurate
- [x] Tested on at least one real project

Version 1.0.1 was installed from the exact published Download URL into a fresh initialized Copilot skills project using Spec Kit 1.0.4, with the bundled `assess` and `bug` extensions. All 18 effective skills, full composed specification-template output, installed version, and MIT license were checked. A runnable local resource-exchange project passed 20 regression tests covering conversion, round trips, boundaries, and invalid inputs. These are local working-project checks, not production deployments or formal model/NDR/schema validation.

The preset's 11 integration tests also passed, covering manifest/catalog/README consistency, composition, command and skills installation/removal, stacking, missing extension bases, real CLI initialization with Python and Bash helpers, and release archive/license checks:

```bash
python -m unittest discover -s niem/tests -p 'test_niem_preset.py'
```

The published ZIP was checked against the exact merged source for its manifest, README, MIT license, and all 25 declared command/template files.

### Submission Requirements

- [x] Valid `preset.yml` manifest included
- [x] Linked README (Documentation URL) explains how to use this preset and includes a valid `specify preset add ...` command (preferably `specify preset add --from ` using the exact download URL)
- [x] LICENSE file included
- [x] GitHub release created with version tag
- [x] Preset ID follows naming conventions (lowercase-with-hyphens)

Contributor guide

Open the contributing guide

Research direction

Start with the linked NIEM README, preset.yml, and the published download URL, then run python -m unittest discover -s niem/tests -p 'test_niem_preset.py'. Compare the preset's declared commands and templates with the repository's preset expectations, and verify installation, composition, licensing, and archive consistency are preserved.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
developer-experience, tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.