Synaplan
기업을 위한 오픈소스 AI 플랫폼
ChemInventory는 화학 물질 재고·주문·거래처·배치 문서를 한 앱에서 관리하는 시스템
ChemInventory is a chemical inventory management system. Track chemical inventory, orders, contacts and batch documents in one app.
비즈니스TypeScript · CSSGitHub @juntotechnologies온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Static marketing site for ChemInventory. Built with Vite, React 19 and Tailwind CSS. GitHub Pages serves it at cheminventory.co.
npm install --legacy-peer-deps
npm run dev
npm run dev binds to all interfaces and prints one tailnet link. Open that link.
| Command | What it does |
|---|---|
npm run dev | Start the dev server. Print the tailnet link only. |
npm test | Run the tests. They fail when a generated file drifts from site.json. |
npm run build | Build to dist/. Then prerender the page into dist/index.html. |
npm run preview | Serve dist/. |
npm run seo | Regenerate every file that derives from site.json. |
site.json holds the site facts. A zod schema in lib/site-schema.ts validates it once.
| Fact | Where it appears |
|---|---|
| Brand, headline, tagline, links | UI_LABELS, index.html, llms.txt, agents.txt, .well-known/agents.json, the og image |
| Feature groups (4 to 6), hero screenshot | Hero, features section, llms.txt, JSON-LD |
Theme colours (primary, highlight, shade and more) | app/color-palette.css, theme-color tags, the og image |
| Hero accent word | The hero headline, through lib/heading.ts |
| Crawlers and agent rules | robots.txt, agents.txt, .well-known/agents.json |
Generated files. Do not edit them by hand.
| File | Purpose |
|---|---|
public/robots.txt | Allow all crawlers. Name the sitemap. |
public/sitemap.xml | List the pages. |
public/llms.txt | Short summary for language models. |
public/agents.txt, public/.well-known/agents.json | What an automated agent may do, as text and as JSON. |
public/CNAME, public/404.html | Custom domain and the not-found page. |
public/og.png, public/apple-touch-icon.png, public/favicon.svg | Share image and icons. |
app/color-palette.css | Colour variables for light and dark. |
index.html (between the seo: markers) | Title, description, canonical, social tags, JSON-LD. |
To change a fact: edit site.json, run npm run seo, commit the result. The PNG files come from the SVG sources with system fonts, so run npm run seo on a Mac.
Each group in site.features has an id, a title, one statement of 20 words or fewer, and a screenshot. The hero has one screenshot too (site.hero).
{ "src": "/images/app/history.webp", "alt": "The Audit Log page.", "width": 2880, "height": 1500, "density": 2 }
| Field | Meaning |
|---|---|
src | WebP file under public/. 150 KB or smaller. |
width, height | Pixel size of the file. A test compares them with the file. |
density | Pixels per CSS pixel. A 2x file shows at half its pixel width. |
Take screenshots from the static demo. Crop out the demo banner and the page header band. Show no price, balance, email address or personal name.
docs/design.md lists each effect, its rules and the test that guards it.
tests/support/copy-rules.json lists words the site must not use. tests/claims.test.ts searches page text, generated files and the og image for them.