@smi-digital/create-smi-app 2.14.0 → 2.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/templates/base/gitignore.template +4 -1
- package/templates/integrations/strapi-astro/AGENTS.md.template +0 -5
- package/templates/integrations/strapi-astro/CLAUDE.md.template +7 -0
- package/templates/integrations/strapi-astro/Dockerfile.backend.template +20 -0
- package/templates/integrations/strapi-astro/integration.config.json +4 -0
package/package.json
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
# Working in this project
|
|
2
2
|
|
|
3
|
-
Most of the code here is written by an agent that reads this file at the start
|
|
4
|
-
of every session, and by a human who read it once. It is written for the first
|
|
5
|
-
reader: concrete steps, in the order they are done, with the reason attached
|
|
6
|
-
where the reason is what makes the step correct.
|
|
7
|
-
|
|
8
3
|
## The two checks that gate a pull request
|
|
9
4
|
|
|
10
5
|
**The A/B visual check** builds the frontend twice — once from the merge-base,
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
See [AGENTS.md](./AGENTS.md). It is the single source for how to work in this
|
|
4
|
+
project — the checks that gate a pull request, and the steps for adding an
|
|
5
|
+
island, a page, an animation that never settles, or a hydration probe.
|
|
6
|
+
|
|
7
|
+
Kept as a pointer rather than a copy so the two cannot drift apart.
|
|
@@ -43,5 +43,25 @@ COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
|
|
|
43
43
|
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
|
|
44
44
|
|
|
45
45
|
EXPOSE 1337
|
|
46
|
+
|
|
47
|
+
# KNOWN GAP — this image runs as root, unlike frontend/Dockerfile.
|
|
48
|
+
#
|
|
49
|
+
# Strapi writes into /opt/app/public, which is a mounted volume at runtime, and
|
|
50
|
+
# the entrypoint reseeds it on every start. The deploy provisions that volume
|
|
51
|
+
# owned by root, so adding `USER node` here leaves the container unable to write
|
|
52
|
+
# to it and the entrypoint fails on boot. Making this non-root is a change to how
|
|
53
|
+
# the volume is provisioned — cd-library and the Ansible role — not a Dockerfile
|
|
54
|
+
# edit, so it cannot be fixed in this template alone.
|
|
55
|
+
#
|
|
56
|
+
# Every backend in the fleet carries this same suppression. It is here so a new
|
|
57
|
+
# project starts consistent with them rather than failing its first Semgrep run,
|
|
58
|
+
# not because running as root is intended. If the provisioning side is ever
|
|
59
|
+
# changed to create the volume as uid 1000, delete these two lines and add
|
|
60
|
+
# `USER node` — this template is the right place to start that.
|
|
61
|
+
#
|
|
62
|
+
# Suppressed narrowly, by rule and on these two lines only, so that a NEW
|
|
63
|
+
# root-running image elsewhere in the project still fails the scan.
|
|
64
|
+
# nosemgrep: dockerfile.security.missing-user-entrypoint.missing-user-entrypoint
|
|
46
65
|
ENTRYPOINT ["docker-entrypoint.sh"]
|
|
66
|
+
# nosemgrep: dockerfile.security.missing-user.missing-user
|
|
47
67
|
CMD ["npm", "run", "start"]
|