Skip to content
cogniumhqPublic

About

Specifica by Cognium: an open specification format for writing software specs in Git repositories. MIT TypeScript packages — @specifica/format and @specifica/store.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Specifica by Cognium

Cognium Labs Inc License: MIT

An open specification format for writing software specs in Git repositories. Specifica is built by Cognium Labs Inc. This MIT-licensed repository contains the format specification and its two TypeScript packages; the reference site and the web editor live in their own repositories.

Try the Specifica Playground — start from a working example, change the spec, then copy it to your coding agent or download the .specifica/ folder. It is free, runs in the browser, and needs no account.

What is Specifica?

A .specifica/ directory convention for writing software specs as markdown in any Git repo. Three files per feature: spec.md (what), design.md (how), tasks.md (work). Tool-agnostic — works with any editor, any workflow.

.specifica/
├── principles.md          # Project context and memory
└── feature-name/          # kebab-case directory
    ├── spec.md           # What (requirements, success criteria)
    ├── design.md         # How (architecture, implementation)
    └── tasks.md          # Work (checkboxes)

All files are optional. All files are standard GitHub-Flavored Markdown.

How the pieces fit

Surface Contents
specifica (this repo) the .specifica/ format specification, @specifica/format, @specifica/store
specifica.org the public format reference and examples
Specifica Playground the live browser editor: write, review, export and share a spec

Packages

Pure TypeScript library for parsing and serializing the Specifica format. ~200 lines, zero dependencies.

npm install @specifica/format
import { parse, serialize } from '@specifica/format'

const item = parse('my-feature', specMd, designMd, tasksMd)
const files = serialize(item)

Storage adapter interface for Specifica-compatible backends. TypeScript types and interfaces only.

npm install @specifica/store
import type { StorageAdapter } from '@specifica/store'

class MyAdapter implements StorageAdapter {
  // Implement the interface
}

Development

A monorepo using npm workspaces.

npm install        # install dependencies
npm run build      # build all packages
npm test           # run tests
npm run clean      # clean build artifacts

Philosophy

Make specification the natural first step of building software — not a chore teams skip. The format gives structure. The app removes friction. Together they close the gap between "we should spec this" and specs actually existing in the repo.

About Cognium

Cognium Labs Inc builds Specifica, SkillsRegistry and Cognium SAST. The company site is cognium.net; specifica.org documents the open spec format. Other open work is at github.com/cogniumhq. Contact: hello@cognium.net.

Contributing

External contributions are welcome; no separate CLA form is required. See CONTRIBUTING.md and open an issue before starting non-trivial work — particularly for changes to the format itself, which other tools implement.

This project follows the Contributor Covenant. To report a vulnerability privately, see the security policy.

License

MIT. See LICENSE.

Both packages are published to npm under the same terms. Publishing is manual; there are no release workflows in this repository.

Links


Cognium Labs Inc · 2026

About

Specifica by Cognium: an open specification format for writing software specs in Git repositories. MIT TypeScript packages — @specifica/format and @specifica/store.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages