tessera/installer
Composer 安装命令:
composer create-project tessera/installer
包简介
Tessera AI Project Installer — AI builds your project
关键字:
README 文档
README
Website: tessera-ai.net · Docs: tessera-ai.net/docs
Describe your project. AI builds it.
One command, one conversation, one production-ready codebase. Tessera turns the AI CLI tools you already have (Claude, Codex, Gemini) into an inspectable, resumable build orchestrator.
Important: Tessera uses your own AI CLI tools and your own subscription. Each call burns tokens from your plan. Generated code may contain bugs, security issues, or wrong implementations. Always review before shipping. See Disclaimer.
Install in 30 seconds
composer global require tessera/installer
Make sure the Composer global bin directory is in your PATH:
| OS | Path |
|---|---|
| Windows | %APPDATA%\Composer\vendor\bin |
| macOS / Linux | ~/.composer/vendor/bin |
tessera --version
tessera doctor # check that your system is ready
Build your first project
tessera new my-restaurant
Tessera asks five questions (business, languages, payments, design, scale), picks the right stack, and runs the AI build. Coffee break — the typical Laravel build is 10–15 minutes.
Build from official Tessera packages
The default Laravel build AI-generates a bespoke CMS. The package flavor instead installs the maintained Tessera product as Composer packages — the skeleton app plus the feature modules you pick:
tessera new my-shop --tessera-packages # interactive module multi-select tessera new my-shop --tessera-packages --tessera-modules=shop,blog # preselect modules tessera new my-shop --tessera-packages --tessera-modules=none # core skeleton only
What it runs (Laravel-only; the flag forces the laravel stack):
composer create-project fernext/skeleton my-shop --stability=dev --repository={"type":"vcs","url":"…/tessera-skeleton"}— the skeleton's owncomposer.jsoncarries the VCSrepositoriesentries for core + modules, so later requires resolve.- For each selected module:
composer require tessera/{module}thenphp artisan module:enable {module}(which runs the module's migrations). - The shared post-scaffold steps (database config, migrate, asset build, admin credential) run exactly as they do for the AI flavor.
Every step is resumable — a crash or Ctrl+C picks up from the last completed composer require / module:enable, and the module selection is persisted so a resumed run never re-prompts.
The target repositories (
fernext/skeleton,fernext/core,fernext/shop,fernext/blog) are published by Phase D of the platform's package split. Package names and repo URLs are config-driven — see theTESSERA_*variables below to point the flow at forks or staging repos.
See what AI is about to do
Before you spend a single token, compile and inspect the build plan:
tessera plan compile stacks/laravel.yaml tessera plan show # pretty-print every step tessera plan diff a.json b.json # what changed?
Every plan is hash-anchored. Tweak a prompt, recompile, diff — you see exactly what shifted. tessera plan reference →
Available stacks
| Stack | Best for | Where the recipe lives |
|---|---|---|
| Laravel + Filament | CMS, e-commerce, admin panels | stacks/laravel.yaml |
| Node.js / Next.js | API servers, SaaS, real-time apps | stacks/node.yaml |
| Go | High-performance backends, microservices | stacks/go.yaml |
| Flutter | Mobile (iOS + Android + web) | stacks/flutter.yaml |
| Static | Landing pages, portfolios, event sites | stacks/static.yaml |
Every stack is described in YAML. The same engine drives them all. Authoring a custom stack →
What you get out of the box
- Inspectable plans.
tessera plan compile/show/diff— no tokens spent until you say go. - Quality gates. Each step declares post-checks (
exists_any,exists_all) so the AI saying "done!" against an empty directory fails loudly. - Skippable enrichment. Polish steps and SETUP.md generators that hit a transient rate limit don't abort a 25-minute build.
- Build trace. Every run leaves
.tessera/state.json+.tessera/events.jsonl+.tessera/plan.json. Post-mortem any build withjqand a few seconds. - Resume. Crash, Ctrl+C, network drop — run the same command, pick up where it left off. Atomic state writes survive interrupts.
- Cross-OS process control. Windows
taskkill /F /T, Unixpgrep -P+posix_kill. Tessera never leaves zombie AI subprocesses pinned to your terminal. - Plan-aware AI routing. Claude Max gets all the steps; free-tier accounts hit fallback chains. Rate limits cause a 2-minute cooldown and a tool switch, not a build crash.
- AI tool isolation. Every AI subprocess — whether spawned through the adapter path or the legacy router — runs under an allowlist that passes only that provider's own credentials.
ANTHROPIC_API_KEYnever reaches Codex;OPENAI_API_KEYnever reaches Claude; and unrelated secrets (GITHUB_TOKEN,COMPOSER_AUTH, the ssh-agent socket, CI tokens) never reach any AI CLI. Detection probes run with no credentials at all. - Pluggable adapters. Adding Groq, Ollama, or your own AI →
Quick reference — CLI commands
tessera doctor # is my system ready? tessera new <dir> # the main command tessera new <dir> --force # overwrite existing dir tessera new <dir> --stack=<name> # skip AI stack selection (names: tessera stacks) tessera new <dir> --requirements-fixture=<path> # skip interactive Q&A (loads JSON) tessera new <dir> --tessera-packages # install official Tessera packages (skeleton + modules) tessera new <dir> --tessera-packages --tessera-modules=shop,blog # preselect modules (shop,blog / none) tessera plan compile <yaml> [-o <out.json>] # compile manifest → plan.json tessera plan show [<plan.json>] # pretty-print a plan tessera plan diff <a.json> <b.json> # semantic diff (exit 0/1/2) tessera stacks # list available stacks + system readiness tessera tools # which AI tools are installed? tessera --version tessera --help
Full CLI reference on the docs site →
Environment variables
Optional. The installer asks for your AI plans interactively on first run and
saves the answers to ~/.tessera/config.json, so later runs skip the questions.
The environment variables below always take precedence over the saved config.
TESSERA_CLAUDE_PLAN=max # max | pro | free TESSERA_CODEX_PLAN=plus # plus | free TESSERA_GEMINI_PLAN=free # pro | free TESSERA_TOOL_PREFERENCE=gemini,claude,codex # custom tool order TESSERA_TOOL_EXCLUDE=codex # never use this tool TESSERA_SAFE_AI=1 # opt out of --dangerously-skip-permissions for Claude (see below) TESSERA_AI_TIMEOUT=900 # seconds per AI step (default 900) TESSERA_ISOLATE_AI_CONFIG=0 # opt out of interview behavioral-config isolation
Package flavor (see Build from official Tessera packages). All optional — every value falls back to the built-in Tessera distribution:
TESSERA_FLAVOR=package # package | ai — same as --tessera-packages, useful in CI TESSERA_MODULES=shop,blog # preselect modules (shop,blog / none); same as --tessera-modules TESSERA_SKELETON_PACKAGE=fernext/skeleton # create-project target package TESSERA_SKELETON_REPO=https://github.com/fer-next/skeleton # its VCS repository TESSERA_PACKAGE_STABILITY=dev # create-project --stability TESSERA_SHOP_PACKAGE=fernext/shop # override a module's package name… TESSERA_SHOP_REPO=https://github.com/fer-next/shop # …and its repo TESSERA_BLOG_PACKAGE=fernext/blog TESSERA_BLOG_REPO=https://github.com/fer-next/blog
By default the requirements interview runs the AI CLI isolated from your personal
instruction files (claude --safe-mode, codex --ignore-user-config) so the
interview is always in English and machine-independent. Auth is preserved. Set
TESSERA_ISOLATE_AI_CONFIG=0 only if a CLI flag ever breaks authentication on your setup.
Full security & permission model →
AI permission mode
TESSERA_SAFE_AI=1 affects only Claude. Here is the exact per-tool breakdown:
| Tool | Default behaviour | With TESSERA_SAFE_AI=1 |
|---|---|---|
| claude | Launched with --dangerously-skip-permissions — no per-action approval prompts. |
--dangerously-skip-permissions is removed. Claude pauses for approval on each action; the installer will fail loudly rather than silently hang. |
| codex | Runs inside Codex's own sandboxed approval model. Tessera passes --skip-git-repo-check but no auto-approve flag. Whether Codex prompts depends on your installed version's defaults. |
No change. TESSERA_SAFE_AI is ignored for Codex. A warning is printed to remind you of this. |
| gemini | Gemini CLI's default approval flow is whatever ships on your machine. Tessera passes no permission flag. For API-key authenticated sessions this is typically non-interactive by default. | No change. TESSERA_SAFE_AI is ignored for Gemini. A warning is printed to remind you of this. |
Summary: if you set TESSERA_SAFE_AI=1 on a system where Codex or Gemini is the only available tool (or is preferred via TESSERA_TOOL_PREFERENCE), Claude's behaviour is unaffected (it is not running), and Tessera will emit a one-time warning that the flag has no effect on the resolved tool. The build will proceed using that tool's own defaults.
If you need guaranteed non-interactive, unattended behaviour with Codex or Gemini, configure those tools' own approval settings outside of Tessera (e.g. Codex's ~/.codex/config.toml, or ensure your Gemini API key is set so the CLI does not prompt for auth).
After the build
cd my-restaurant cat SETUP.md # what to configure (env vars, API keys, deploy) php artisan serve # for Laravel — npm run dev for static/node, etc.
Each stack's SETUP.md is junior-developer-friendly: env keys with the URL where to get them, payment provider step-by-step, deployment checklist. AI writes it as part of the build.
For continuing changes:
- Laravel —
php artisan tessera "add a gallery to the homepage"(in-project AI Engine with project context). - Other stacks — use your AI CLI directly:
claude "add JWT auth"/codex "create REST endpoints"/gemini "add a dark mode toggle". The AI reads your codebase and knows the structure.
Testing
vendor/bin/phpunit
The full suite passes with zero AI tokens — no real AI calls are made. The Tests badge above tracks the live count and status; CI runs on Ubuntu, Windows, and macOS with PHP 8.4–8.5.
Contributing & adding a stack
Contributing guide → · How to author a stack →
The minimal recipe: drop stacks/<your-stack>.yaml, add a *Stack.php lifecycle class with preflight() / postSetup() / completionInfo(), register in StackRegistry. The YAML drives the AI portion; the PHP class only handles tool-specific lifecycle.
Disclaimer
AI Token Usage. Tessera calls AI CLI tools installed on your system. Each call consumes tokens from your own subscription plan or API quota. Tessera does not provide, manage, or pay for AI access. A typical project build uses 5–10 AI calls.
Generated Code. AI-generated code may contain bugs, security vulnerabilities, incorrect business logic, or incompatible dependencies. Tessera includes safeguards (quality gates, PHP lint, test loops, namespace verification), but you are responsible for reviewing, testing, and validating all generated code before production.
Third-Party Services. Tessera may scaffold integrations with third-party services (payment providers, cloud APIs, email services). These integrations need manual configuration and validation. Tessera is not affiliated with and makes no guarantees about any third-party service.
No Warranty. This software is provided "as is", without warranty of any kind. The authors are not liable for damages arising from the use of this software or any code it generates. Use at your own risk.
License
Tessera is source-available, not open source.
| Use case | Cost | Licence |
|---|---|---|
| Personal projects, learning, OSS, non-profit, government | Free | PolyForm Noncommercial 1.0.0 |
| Client work for pay (agency / freelance) | from €249/yr | Commercial — Solo |
| Agency / small product team (up to 10 devs) | €799/yr | Commercial — Studio |
| Larger teams, custom SLA, private registry | Custom | Commercial — Enterprise |
Generated code is yours in either lane — the licence covers the installer itself, not the projects it scaffolds.
tessera/installer 适用场景与选型建议
tessera/installer 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 28 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 03 月 13 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「installer」 「cms」 「laravel」 「ai」 「tessera」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 tessera/installer 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 tessera/installer 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 tessera/installer 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
GraphQL authentication for your headless Craft CMS applications.
Set Links with a specific language parameter
Installs Aura packages to the Aura system "package" directory.
Supercharged text field validation.
Install WordPress must-use plugins with Composer
Integrate with Snipcart.
统计信息
- 总下载量: 28
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 26
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: PolyForm-Noncommercial-1.0.0
- 更新时间: 2026-03-13