Skip to content

feat(template): add project_audience profile, default to solo-internal#325

Merged
ichoosetoaccept merged 2 commits into
mainfrom
dot-593-audience-profile
Jun 2, 2026
Merged

feat(template): add project_audience profile, default to solo-internal#325
ichoosetoaccept merged 2 commits into
mainfrom
dot-593-audience-profile

Conversation

@ichoosetoaccept
Copy link
Copy Markdown
Member

@ichoosetoaccept ichoosetoaccept commented Jun 2, 2026

Introduce a high-level project_audience question (solo-internal | team |
public-oss) that cascades defaults across the existing toggles. It only sets
each toggle's default — every option stays overridable, and existing projects
keep their saved answers on update (additive, no migration needed).

Cascade:

  • solo-internal (new shipped default): internal visibility, no CI, no docs site,
    light hooks, no community-health files.
  • team: adds CI + semantic-release/changelog; otherwise stays light.
  • public-oss: the full stack (the previous default behaviour).

Also gate the README ci/release/codecov badges on use_ci/use_semantic_release so
a CI-less project no longer ships dead badges, and document the audience
profiles in the template's own README.

Closes DOT-593

Closes #

Note

Add project_audience profile question and default to solo-internal

  • Adds a new project_audience question to copier.yml with choices solo-internal (default), team, and public-oss, replacing the previous public-OSS-biased defaults.
  • Cascades defaults from the chosen profile: solo-internal disables CI, docs, heavy hooks, and community-health files; team enables CI; public-oss restores the previous full-stack behavior.
  • Gates CI, release, and Codecov badges in project/README.md.jinja behind use_ci and use_semantic_release so generated READMEs reflect the chosen profile.
  • Test fixtures in tests/conftest.py and tests/test_template_lint.py set project_audience: public-oss to preserve existing test coverage; a new TestAudienceProfiles suite in tests/test_template.py validates cascade behavior for all three profiles.
  • Behavioral Change: existing projects generated without project_audience are unaffected, but new scaffolds now default to solo-internal instead of public-oss.

🖇️ Linked Issues

Implements DOT-593, which requested a project_audience profile to shift defaults away from public-OSS for solo/internal use cases.

Macroscope summarized 51a39ad.

@linear-code
Copy link
Copy Markdown

linear-code Bot commented Jun 2, 2026

DOT-593

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Jun 2, 2026
@macroscopeapp
Copy link
Copy Markdown

macroscopeapp Bot commented Jun 2, 2026

Approvability

A prior Macroscope approval was dismissed. Re-evaluating 8acc326

@ichoosetoaccept ichoosetoaccept force-pushed the dot-594-lightweight-hooks branch from 32ea85c to 4b0207d Compare June 2, 2026 09:20
@ichoosetoaccept ichoosetoaccept force-pushed the dot-593-audience-profile branch from f6b67ff to 471148e Compare June 2, 2026 09:21
@ichoosetoaccept ichoosetoaccept force-pushed the dot-594-lightweight-hooks branch from 4b0207d to 0c9bfa9 Compare June 2, 2026 09:27
@ichoosetoaccept ichoosetoaccept force-pushed the dot-593-audience-profile branch from 471148e to 8acc326 Compare June 2, 2026 09:28
Base automatically changed from dot-594-lightweight-hooks to main June 2, 2026 09:32
@macroscopeapp macroscopeapp Bot dismissed their stale review June 2, 2026 09:33

Dismissing prior approval to re-evaluate 8acc326

Introduce a high-level project_audience question (solo-internal | team |
public-oss) that cascades defaults across the existing toggles. It only sets
each toggle's default — every option stays overridable, and existing projects
keep their saved answers on update (additive, no migration needed).

Cascade:
- solo-internal (new shipped default): internal visibility, no CI, no docs site,
  light hooks, no community-health files.
- team: adds CI + semantic-release/changelog; otherwise stays light.
- public-oss: the full stack (the previous default behaviour).

Also gate the README ci/release/codecov badges on use_ci/use_semantic_release so
a CI-less project no longer ships dead badges, and document the audience
profiles in the template's own README.

Refs DOT-593
@blacksmith-sh

This comment has been minimized.

@ichoosetoaccept ichoosetoaccept force-pushed the dot-593-audience-profile branch from e4c3a05 to 6cb0636 Compare June 2, 2026 09:38
@ichoosetoaccept ichoosetoaccept merged commit 4cfe9ef into main Jun 2, 2026
5 checks passed
@ichoosetoaccept ichoosetoaccept deleted the dot-593-audience-profile branch June 2, 2026 10:11
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