Skip to content

Add JSON output, validation, and screenshot capture - #34

Closed
next-devin wants to merge 7 commits into
masterfrom
theme-tooling-contract
Closed

Add JSON output, validation, and screenshot capture#34
next-devin wants to merge 7 commits into
masterfrom
theme-tooling-contract

Conversation

@next-devin

@next-devin next-devin commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

This adds a stable machine interface to ntk: JSON on stdout, logs on stderr, per-file results, useful exit codes, quiet and no-progress modes, and ASCII progress outside a terminal.

It also:

  • validates and normalizes store URLs
  • makes Sass optional so core commands install on Windows ARM and current Python versions
  • validates themes locally or through the server
  • captures fixed desktop and mobile screenshots with Playwright
  • tests the CLI on Ubuntu, Windows, and macOS ARM

Server validation depends on the Oscar endpoint requested in oscar-prime #5693.

This branch is based directly on master and does not include the retry work from #33. All 57 tests and flake8 pass locally. CI covers Python 3.10 through 3.14.

@next-devin

next-devin commented Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

Scope update: hosted screenshot infrastructure is out. This PR keeps deterministic screenshot capture local and in CI.

@codecov

codecov Bot commented Jul 29, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 92.82700% with 17 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
ntk/__main__.py 63.15% 7 Missing ⚠️
ntk/command.py 96.26% 4 Missing ⚠️
ntk/gateway.py 33.33% 4 Missing ⚠️
ntk/conf.py 92.85% 1 Missing ⚠️
ntk/utils.py 93.33% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@next-devin

next-devin commented Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

Current rollout: Theme Kit #34, Spark #39, and Skills #36. Oscar-owned work is tracked in NextCommerceCo/oscar-prime#5693. The developer-docs draft is closed until these contracts settle.

@next-devin next-devin changed the title Theme Kit: add reliable automation, validation, and capture contracts Add JSON output, validation, and screenshot capture Jul 29, 2026
@next-devin
next-devin force-pushed the theme-tooling-contract branch from 74f0cf2 to 2aef2d8 Compare July 29, 2026 09:44
@next-devin
next-devin changed the base branch from fix/401-404-exit to master July 29, 2026 09:44
@next-devin

Copy link
Copy Markdown
Contributor Author

Closing this draft after the 1.2.0 release. #36 keeps the smaller automation ideas open for maintainer feedback without rebasing this branch.

@next-devin next-devin closed this Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant