create-tigra 3.1.1 → 3.2.0
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/README.md
CHANGED
|
@@ -40,7 +40,7 @@ npx create-tigra my-app
|
|
|
40
40
|
|
|
41
41
|
### Codex Development
|
|
42
42
|
|
|
43
|
-
Includes concise
|
|
43
|
+
Includes concise `AGENTS.md` guidance at the project root and scoped guidance inside `client/` and `server/`, with matching `CLAUDE.md` files that import them so Claude Code reads the same rules. Generated projects also include Cloudflare's MIT-licensed `security-audit` repository skill (in `.agents/skills/` for Codex, with a thin pointer in `.claude/skills/` for Claude Code). Meaningful server changes must use its focused guidance and, before completion, scan the working-tree patch: `security-diff-scan` when the Codex Security plugin is installed, or `/security-review` in Claude Code.
|
|
44
44
|
|
|
45
45
|
The security workflow falls back to the bundled skill when Codex Security is unavailable, while full or deep repository audits remain explicit operations rather than an automatic cost on every edit.
|
|
46
46
|
|
package/bin/create-tigra.js
CHANGED
|
@@ -23,6 +23,7 @@ const JWT_SECRET_PLACEHOLDER = 'CHANGE_ME_generate_with_openssl_rand_hex_48';
|
|
|
23
23
|
|
|
24
24
|
// Files that contain template variables and need replacement
|
|
25
25
|
const FILES_TO_REPLACE = [
|
|
26
|
+
'AGENTS.md',
|
|
26
27
|
'server/package.json',
|
|
27
28
|
'server/.env.example',
|
|
28
29
|
'server/docker-compose.yml',
|
|
@@ -104,10 +105,10 @@ async function copyTemplate(templateDir, targetDir) {
|
|
|
104
105
|
continue;
|
|
105
106
|
}
|
|
106
107
|
|
|
107
|
-
// The repository stores the gitignore without a leading dot so npm reliably
|
|
108
|
-
// includes it in the published template; generated projects receive the dotfile.
|
|
109
|
-
let destName = entry.name;
|
|
110
|
-
if (entry.name === 'gitignore') destName = '.gitignore';
|
|
108
|
+
// The repository stores the gitignore without a leading dot so npm reliably
|
|
109
|
+
// includes it in the published template; generated projects receive the dotfile.
|
|
110
|
+
let destName = entry.name;
|
|
111
|
+
if (entry.name === 'gitignore') destName = '.gitignore';
|
|
111
112
|
|
|
112
113
|
const destPath = path.join(targetDir, destName);
|
|
113
114
|
|
|
@@ -404,7 +405,7 @@ async function main() {
|
|
|
404
405
|
}
|
|
405
406
|
}
|
|
406
407
|
|
|
407
|
-
spinner.succeed('Project scaffolded successfully!');
|
|
408
|
+
spinner.succeed('Project scaffolded successfully!');
|
|
408
409
|
} catch (error) {
|
|
409
410
|
spinner.fail('Failed to scaffold project');
|
|
410
411
|
console.error(chalk.red(`\n ${error.message}\n`));
|
package/package.json
CHANGED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-audit
|
|
3
|
+
description: Security guidance and vulnerability review for codebases, APIs, services, CLI tools, libraries, and daemons. Use for security questions, focused reviews, vulnerability research, security audits, or pen tests. Run the complete workflow only for explicit codebase audit or pen-test requests, full/comprehensive/end-to-end reviews, or requested report artifacts.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Security Audit (pointer)
|
|
7
|
+
|
|
8
|
+
This is a thin pointer so Claude Code discovers the skill. The real skill is shared with Codex and lives in `.agents/skills/security-audit/` (vendored from Cloudflare's `security-audit-skill`; see its `SOURCE.md`). Do not copy it here, so the two agents never drift.
|
|
9
|
+
|
|
10
|
+
Read `.agents/skills/security-audit/SKILL.md` in full and follow it exactly. Resolve every relative file it references (for example `HUNTING.md`, `report-schema.json`, the `validate-*.cjs` scripts) against `.agents/skills/security-audit/`, not this directory. Its "Task tool" is Claude Code's subagent mechanism.
|
package/template/AGENTS.md
CHANGED
|
@@ -4,6 +4,22 @@
|
|
|
4
4
|
|
|
5
5
|
Every implementation change MUST include a human-readability pass. Add or update concise comments or doc comments for important functionality and for non-obvious contracts, invariants, edge cases, business rules, security boundaries, deployment constraints, performance choices, and workarounds. Explain why and what must remain true; do not narrate obvious syntax. Keep comments accurate and remove stale ones.
|
|
6
6
|
|
|
7
|
+
<!-- project-facts:start -->
|
|
8
|
+
## Project facts
|
|
9
|
+
|
|
10
|
+
> Maintained by the `seed-project-facts` skill: run it once to fill the TODOs. This section is the source of truth for this project: keep it true. If your work changes any line (deployment, URLs, hosting, databases, Redis, integrations, rules), update it and the seed-plugins registry row in the same change. If it conflicts with reality, trust reality, fix it, and tell Tornike. No secrets here.
|
|
11
|
+
|
|
12
|
+
- **Name:** {{PROJECT_NAME}}
|
|
13
|
+
- **Purpose:** TODO
|
|
14
|
+
- **Production:** TODO (client URL / server URL, or "not deployed")
|
|
15
|
+
- **Hosting:** TODO (Coolify instance, or none)
|
|
16
|
+
- **Local MySQL:** `{{DATABASE_NAME}}` on TODO (central-mysql | per-project container)
|
|
17
|
+
- **Production MySQL:** TODO (`db` on shared MySQL on <instance> | dedicated Coolify MySQL | none)
|
|
18
|
+
- **Redis:** TODO (local yes/no / production yes/no)
|
|
19
|
+
- **Talks to:** TODO
|
|
20
|
+
- **Special rules:** none
|
|
21
|
+
<!-- project-facts:end -->
|
|
22
|
+
|
|
7
23
|
## Architecture and sources of truth
|
|
8
24
|
|
|
9
25
|
- `client/` is a Next.js App Router application; `server/` is a Fastify API backed by Prisma/MySQL and Redis. They deploy independently.
|
|
@@ -36,8 +52,8 @@ Every implementation change MUST include a human-readability pass. Add or update
|
|
|
36
52
|
## Required server security workflow
|
|
37
53
|
|
|
38
54
|
- For every meaningful server implementation, bug fix, refactor, dependency update, or configuration change, use the repository-local `security-audit` skill in guidance mode while designing and reviewing the change. Treat authentication, authorization, validation, database access, outbound requests, uploads, cookies, CORS/origin handling, rate limits, environment configuration, and deployment behavior as security-sensitive surfaces.
|
|
39
|
-
- Before completion, use the Codex Security plugin's `codex-security:security-diff-scan` skill
|
|
40
|
-
- If
|
|
55
|
+
- Before completion, review the current working-tree patch with the agent's own security scan when available: in Codex use the Codex Security plugin's `codex-security:security-diff-scan` skill; in Claude Code run `/security-review`. Scope the review to the changed server behavior and the supporting code needed to establish impact; do not expand it into an unrelated repository audit.
|
|
56
|
+
- If that scan is unavailable, perform an equivalent focused patch review with the bundled `security-audit` skill and explicitly report that the scan was unavailable. Do not skip the security gate silently.
|
|
41
57
|
- A full or deep repository audit remains explicit work: do not start one merely because ordinary server code changed. Fix confirmed in-scope findings, rerun affected checks, and disclose any unresolved or unverified security concern before claiming completion.
|
|
42
58
|
- Documentation-only, comment-only, and formatting-only changes may skip the patch scan when they cannot affect runtime behavior, permissions, deployment, or security policy.
|
|
43
59
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@AGENTS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@AGENTS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@AGENTS.md
|